Upgrade to Pro — share decks privately, control downloads, hide ads and more …

【技術書典20】OpenFOAM(自宅で深める流体解析)流れと熱移動(2)

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.

 【技術書典20】OpenFOAM(自宅で深める流体解析)流れと熱移動(2)

Avatar for kamakiri1225

kamakiri1225

May 02, 2026

More Decks by kamakiri1225

Other Decks in Technology

Transcript

  1. 3 ͸͡Ίʹ ຊॻΛखʹऔ͍͖ͬͯͨͩɺ͋Γ͕ͱ͏͍͟͝·͢ɻ ຊॻʹ͍ͭͯ ຊॻͰ͸ɺΦʔϓϯιʔεͷ೤ྲྀମղੳιϑτ΢ΣΞͰ͋Δ OpenFOAM Λ༻͍ ͯɺݻମͱ೤ྲྀମͷ࿈੒ղੳʢڞ໾೤఻ୡղੳʣΛֶͿ͜ͱΛ໨తͱ͍ͯ͠·͢ɻஶ ऀ͕͜Ε·Ͱϒϩά౳Ͱެ։ֶ͖ͯͨ͠शίϯςϯπΛϕʔεʹɺ಺༰ͷ࠶ߏ੒ͱՃ චमਖ਼Λߦ͍ɺΑΓಡΈ΍͘͢ɺΑΓ࣮ફతͳܗʹ·ͱΊͨ΋ͷͰ͢

    *1ɻ ͜Ε·Ͱͷٕज़ॻʹ͍ͭͯ ຊγϦʔζͰ͸ɺࣗ୐ͰྲྀମղੳͷεΩϧΛຏ͘͜ͱΛ೦಄ʹஔ͖ɺOpenFOAM Λ࢖ͬͨղੳͷجૅ͔Βஈ֊తʹֶ΂Δ಺༰Λൃ৴͖ͯ͠·ͨ͠ɻ ٕज़ॻయ 16ʮOpenFOAMʢࣗ୐Ͱ࢝ΊΔྲྀମղੳʣ ʯ[6] Ͱ͸ɺOpenFOAM ͷಋ ೖ͔Βԁ؅಺ͷ૚ྲྀྲྀΕΛ୊ࡐʹͨ͠࠷ॳͷҰาΛ঺հ͠·ͨ͠ɻ ٕज़ॻయ 17ʮOpenFOAMʢࣗ୐ͰۃΊΔྲྀମղੳʣ ʯ[7] Ͱ͸ɺԁப·ΘΓͷྲྀΕ Λ୊ࡐʹɺϨΠϊϧζ਺ʹΑΔྲྀΕͷมԽΛѻ͍·ͨ͠ɻ ٕज़ॻయ 18ʮOpenFOAMʢࣗ୐ͰਂΊΔ ೤ྲྀମղੳͷجૅͱԠ༻ (1)ʣ ʯ[8] Ͱ ͸ɺුྗΩϟϏςΟʹΑΔࣗવରྲྀɺԁ؅಺ྲྀΕͷ೤Ҡಈɺԁப·ΘΓͷྲྀΕΛ୊ࡐ ʹɺOpenFOAM ʹ͓͚Δ೤ྲྀମղੳͷجૅΛ঺հ͠·ͨ͠ɻ ͍ͣΕͷ࡭ࢠͰ΋ɺܭࢉ݁ՌΛͨͩग़͚ͩ͢Ͱͳ͘ɺཧ࿦ࣜ΍࣮ݧ݁ՌͱরΒ͠߹ Θͤͯଥ౰ੑΛ֬ೝ͢ΔϓϩηεΛॏࢹ͖ͯ͠·ͨ͠ɻࣗ୐Ͱ΋ਖ਼͘͠ҙຯͷ͋Δ݁ ՌΛಘΒΕΔͱ͍͏࣮ײΛ͍࣋ͬͯͨͩ͘͜ͱ͕ɺγϦʔζΛ௨ͨ͡ૂ͍ͷͻͱͭ Ͱ͢ɻ ຊॻͷҐஔ͚ͮ ຊॻͰ͸ɺ͜Ε·Ͱͷ಺༰Λ౿·͑ͨ͏͑Ͱɺ৽ͨʹϚϧνϦʔδϣϯιϧόΛ༻ ͍ͨݻମ-೤ྲྀମͷ࿈੒ղੳʹ௅ઓ͠·͢ɻ ͜Ε·ͰͷγϦʔζͰ͸ɺཧ࿦ࣜ΍࣮ݧ݁ՌͱͷൺֱΛ௨ͯ͡ղੳͷجૅྗΛཆ͏ ͜ͱʹॏ఺Λஔ͍͖ͯ·͕ͨ͠ɺຊॻͰ͸ΑΓ࣮຿ʹ͍ۙܗͰద༻Ͱ͖Δ಺༰Λѻ͍ ·͢ɻOpenFOAM ͷϚϧνϦʔδϣϯιϧόΛ࢖͏͜ͱͰɺݻମྖҬͱ೤ྲྀମྖҬ Λಉ࣌ʹѻ͍ɺͦΕͧΕͷԹ౓৔Λ࿈੒ͤͯ͞ղ͘͜ͱ͕ՄೳʹͳΓ·͢ɻ͜Ε͸ɺ *1 Ӊ஦ʹೖͬͨΧϚΩϦɿhttps://takun-physics.net/ – i –
  2. 4 ͸͡Ίʹ ώʔτγϯΫͷ์೤ઃܭ΍ిࢠػثͷ೤ରࡦͱ͍࣮ͬͨ༻తͳ৔໘ͰඞཁͱͳΔղੳ ख๏Ͱ͢ɻ ྫ͑͹ɺCPU ΍ύϫʔ൒ಋମʹऔΓ෇͚ͨώʔτγϯΫʹۭؾΛྲྀͯ͠์೤͢Δ ৔໘Λߟ͑ͯΈ·͠ΐ͏ɻώʔτγϯΫʢݻମʣͷ಺෦Λ఻ΘΔ೤ͱɺϑΟϯपғͷ ۭؾʢྲྀମʣͷྲྀΕΛಉ࣌ʹղ͘͜ͱͰɺͲͷ෦෼͕࠷΋ߴԹʹͳΔ͔ɺͲͷϑΟϯ ܗঢ়͕์೤ޮ཰ΛߴΊΔ͔ΛఆྔతʹධՁͰ͖·͢ɻຊॻͷୈ 4

    ষͰ͸ɺ·͞ʹ͜ͷ Α͏ͳ৔໘Λ OpenFOAM Ͱղੳ͠·͢ɻ ຊॻͷߏ੒͸ҎԼͷ௨ΓͰ͢ɻ • ୈ 1 ষͰ͸ɺOpenFOAM ͷϚϧνϦʔδϣϯιϧόʢchtMultiRegionFoam ͓Αͼ chtMultiRegionSimpleFoamʣ ͷ֓ཁΛղઆ͠·͢ɻར༻Մೳͳνϡʔ τϦΞϧͷ঺հ΋ߦ͍·͢ɻ • ୈ 2 ষͰ͸ɺOpenFOAM ʹಉࠝ͞Ε͍ͯΔ snappyMultiRegionHeater ν ϡʔτϦΞϧΛ࣮ࡍʹ࣮ߦ͠ɺϚϧνϦʔδϣϯղੳͷجຊతͳૢ࡞ͱઃఆํ ๏Λֶͼ·͢ɻ • ୈ 3 ষͰ͸ɺ ΦϦδφϧϞσϧΛ࡞੒͠ɺ ૯ׅ೤఻ୡ཰ ʢU ஋ʣ Λ OpenFOAM Ͱܭࢉ͢Δํ๏Λղઆ͠·͢ɻཧ࿦ࣜͷಋग़͔Βܭࢉ݁Ռͷݕূ·ͰΛѻ͍ ·͢ɻ • ୈ 4 ষͰ͸ɺώʔτγϯΫʹۭؾΛྲྀͯ͠์೤ͤ͞Δ৔໘Λղੳ͠·͢ɻ FreeCAD Ͱ࡞੒ͨ͠ CAD Ϟσϧ͔Β STL ϑΝΠϧΛ༻ҙ͠ɺsnappy- HexMesh ͰϝογϡΛ࡞੒ɺchtMultiRegionFoam ͰඇఆৗܭࢉΛ࣮ߦɺ ParaView Ͱ݁ՌΛՄࢹԽ͢Δ·ͰͷҰ࿈ͷྲྀΕΛମݧ͠·͢ɻ ຊॻͷର৅ಡऀ ຊॻͰ͸࣍ͷΑ͏ͳਓΛର৅ͱ͍ͯ͠·͢ɻ • OpenFOAM Ͱݻମ-೤ྲྀମͷ࿈੒ղੳΛ΍ͬͯΈ͍ͨਓ • ϚϧνϦʔδϣϯιϧόͷ࢖͍ํΛֶͼ͍ͨਓ • ώʔτγϯΫͳͲ࣮༻తͳܗঢ়ͷ೤ղੳʹڵຯ͕͋Δਓ લఏͱ͢Δ஌ࣝ ຊॻΛಡΉʹ͋ͨΓɺ࣍ͷΑ͏ͳ஌͕ࣝඞཁͱͳΓ·͢ɻ • ྲྀମྗֶɾ఻೤޻ֶͷجૅ஌ࣝ • Linux ʹ͍ͭͯͷجૅ஌ࣝ • OpenFOAM Λ࣮ߦͰ͖Δ؀ڥΛ༻ҙͰ͖Δ ࢖༻͢Διϑτ΢ΣΞͷόʔδϣϯ ຊॻͰ࢖༻͢Διϑτ΢ΣΞ͸ҎԼͱͳΓ·͢ɻ – ii –
  3. 5 ͸͡Ίʹ • OpenFOAM v2512 (WSL2) • ParaView 5.12 •

    gnuplot 6.0 ͜ΕΒ͸దٓ࠷৽൛ʹΞοϓσʔτ͓ͯ͠࢖͍͍ͩ͘͞ɻຊॻͰ͸্هͷόʔδϣ ϯΛ࢖༻͍ͯ͠Δͱ͍͏૝ఆͰߦ͍·͢ɻόʔδϣϯʹΑͬͯૢ࡞ը໘΍࢓༷͕มߋ ͢ΔͨΊɺࣗ͝਎Ͱ͓࢖͍ͷόʔδϣϯͱҧ͏ಈ࡞΍ૢ࡞ํ๏Ͱ͋Δ৔߹͸όʔδϣ ϯΛ߹ΘͤͯΈ͍ͯͩ͘͞ɻ WSL2 ͷ Ubuntu-24.04 ʹ OpenCFD ͕ϦϦʔε͢Δόʔδϣϯ (ESI ൛) ͷ OpenFOAM v2512 ΛΠϯετʔϧ͍ͯ͠Δ͜ͱΛ૝ఆ͍ͯ͠·͢ɻParaView Λ Windows ΋͘͠͸ Mac ʹΠϯετʔϧ͓ͯ͠࢖͍͍ͩ͘͞ɻ ෇࿥ C ʹඞཁͳιϑτ΢ΣΞͷΠϯετʔϧํ๏Λهࡌ͍ͯ͠·͢ͷͰɺࣗ͝਎ Ͱ؀ڥΛ༻ҙ͍ͯͩ͘͠͞ɻ ԋश༻ͷϞσϧ ຊॻͰ࢖༻ͨ͠ԋश༻ͷϞσϧ͸ Github ΑΓࢀর͍ͩ͘͞ɻ Githubɿhttps://github.com/kamakiri1225/OpenFOAM_contents20 ͓໰͍߹Θͤઌ ຊॻʹؔ͢Δ࣭໰΍͓໰͍߹Θͤ͸ X ΋͘͠͸ϒϩάͷ͓໰͍߹ΘͤϑΥʔϜΑ Γ͓ئ͍͍ͨ͠·͢ɻ • Xɿhttps://x.com/t_kun_kamakiri • ϒϩά͓໰͍߹Θͤɿhttps://takun-physics.net/page-908/ – iii –
  4. 6 ໨࣍ ͸͡Ίʹ i ୈ 1 ষ ϚϧνϦʔδϣϯιϧόͷ֓ཁ 1 1.1

    ڞ໾೤఻ୡͱ͸ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 ࢧ഑ํఔࣜ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2 ιϧόͷछྨ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.3 νϡʔτϦΞϧҰཡ . . . . . . . . . . . . . . . . . . . . . . . . . . 5 chtMultiRegionFoam ܥνϡʔτϦΞϧ . . . . . . . . . . . . . . . 5 chtMultiRegionSimpleFoam ܥνϡʔτϦΞϧ . . . . . . . . . . . 5 chtMultiRegionTwoPhaseEulerFoam ܥνϡʔτϦΞϧ . . . . . . . 5 1.4 νϡʔτϦΞϧͷྫ . . . . . . . . . . . . . . . . . . . . . . . . . . 6 multiRegionHeaterɿ઀৮೤఍߅ΛؚΉݻମ-೤ྲྀମ࿈੒ . . . . . . . 7 ೔ࣹܭࢉɿexternalSolarLoad ʢviewFactorʣ ͱ solarBeamWithTrees ʢfvDOMʣ . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 windshieldCondensationɿ࣪౓ͷܭࢉʢ݁࿐ͱৠൃʣ . . . . . . . . 12 reverseBurnerɿԽֶ൓ԠΛؚΉ೤ྲྀମܭࢉ . . . . . . . . . . . . . 15 solidQuenching2Dɿೋ૬ྲྀͱݻମͷ೤࿈੒ʢমೖΕղੳʣ . . . . . . 19 1.5 ϚϧνϦʔδϣϯιϧόͷԠ༻ . . . . . . . . . . . . . . . . . . . . 23 ୈ 2 ষ νϡʔτϦΞϧͷ࣮ߦʢsnappyMultiRegionHeaterʣ 24 2.1 ղੳର৅ͱ໨త . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 2.2 ղੳϞσϧ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 2.3 ղੳϑϩʔ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 2.4 νϡʔτϦΞϧͷίϐʔ . . . . . . . . . . . . . . . . . . . . . . . . 27 STL ϑΝΠϧͷ഑ஔ . . . . . . . . . . . . . . . . . . . . . . . . 29 2.5 ϝογϡͷ࡞੒ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 blockMesh ʹΑΔϕʔεϝογϡͷ࡞੒ . . . . . . . . . . . . . . . 31 surfaceFeatureExtract ʹΑΔಛ௃ઢநग़ . . . . . . . . . . . . . . 33 snappyHexMesh ʹΑΔϝογϡ࡞੒ͱྖҬఆٛ . . . . . . . . . . . 34 0 ϑΥϧμͷ෮ݩ . . . . . . . . . . . . . . . . . . . . . . . . . . 40 regionProperties ͷ֬ೝ . . . . . . . . . . . . . . . . . . . . . . . 41 – iv –
  5. 7 ໨࣍ splitMeshRegions ʹΑΔྖҬ෼ׂ . . . . . .

    . . . . . . . . . . . . 42 2.6 ղੳઃఆ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 ڥք৚݅ͷઃఆʢchangeDictionaryʣ . . . . . . . . . . . . . . . . 46 ෺ੑ஋ͷઃఆ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 ཚྲྀϞσϧͷઃఆʢturbulencePropertiesʣ . . . . . . . . . . . . . 60 ਺஋εΩʔϜͱιϧόͷઃఆʢfvSchemesɾfvSolutionʣ . . . . . . . 60 2.7 ϚϧνϦʔδϣϯͷσΟϨΫτϦߏ੒ . . . . . . . . . . . . . . . . . 64 ܭࢉ੍ޚͷઃఆʢcontrolDictʣ . . . . . . . . . . . . . . . . . . . 65 2.8 ܭࢉ࣮ߦ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 2.9 ݁Ռͷ֬ೝ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 ݻମͷԹ౓දࣔ . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 2.10 ·ͱΊ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 Ϟσϧͷ࡞Γํʢϝογϡੜ੒ʣ . . . . . . . . . . . . . . . . . . . 73 ઃఆϑΝΠϧͷߏ੒ . . . . . . . . . . . . . . . . . . . . . . . . . 73 ࣍ষʹ޲͚ͯ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 ୈ 3 ষ ૯ׅ೤఻ୡ཰ʢU ஋ʣͷܭࢉ 75 3.1 ղੳର৅ͱ໨త . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 3.2 ૯ׅ೤఻ୡ཰ʢU ஋ʣͷཧ࿦ . . . . . . . . . . . . . . . . . . . . . 77 ೤఍߅ͷߟ͑ํ . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 ֤૚ͷ೤఍߅ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 ૯ׅ೤఻ୡ཰ͷಋग़ . . . . . . . . . . . . . . . . . . . . . . . . . 79 3.3 ղੳϑϩʔ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 3.4 νϡʔτϦΞϧͷίϐʔ . . . . . . . . . . . . . . . . . . . . . . . . 80 3.5 ղੳϞσϧ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 3.6 blockMesh ʹΑΔϝογϡ࡞੒ . . . . . . . . . . . . . . . . . . . . 81 0 ϑΥϧμͷ४උ . . . . . . . . . . . . . . . . . . . . . . . . . . 86 ྖҬ෼ׂʢsplitMeshRegionsʣ . . . . . . . . . . . . . . . . . . . 87 3.7 ղੳઃఆ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 ڥք৚݅ͷઃఆʢchangeDictionaryʣ . . . . . . . . . . . . . . . . 90 ڥք৚݅ͷ֬ೝ . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 ෺ੑ஋ͷઃఆ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 ཚྲྀϞσϧͷઃఆʢturbulencePropertiesʣ . . . . . . . . . . . . . 102 ॏྗՃ଎౓ͷઃఆʢgʣ . . . . . . . . . . . . . . . . . . . . . . . 102 ਺஋εΩʔϜͷઃఆʢfvSchemesʣ . . . . . . . . . . . . . . . . . 102 fvSolutionʢѹྗࢀর఺ͷઃఆʣ . . . . . . . . . . . . . . . . . . . 103 3.8 controlDict ͱ function objects . . . . . . . . . . . . . . . . . . . . 104 ࣌ؒࠁΈͱΫʔϥϯ਺ . . . . . . . . . . . . . . . . . . . . . . . . 105 – v –
  6. 8 ໨࣍ function objects ͱ͸ . . . . .

    . . . . . . . . . . . . . . . . . . . 106 $ʹΑΔઃఆͷ࠶ར༻ . . . . . . . . . . . . . . . . . . . . . . . . 106 ࢒ࠩͱ࠷େ࠷খͷ؂ࢹ . . . . . . . . . . . . . . . . . . . . . . . . 108 ೤ྲྀଋͷऔಘ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 3.9 ܭࢉ࣮ߦ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 3.10 ݁Ռͷ֬ೝ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 ೤ྲྀଋͷ֬ೝ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 Թ౓෼෍ͷ֬ೝ . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 U ஋ͷࢉग़ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 ISO 6946 ͱͷൺֱ . . . . . . . . . . . . . . . . . . . . . . . . . 118 3.11 ·ͱΊ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 Ϟσϧͷ࡞Γํ . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 ઃఆϑΝΠϧͷߏ੒ . . . . . . . . . . . . . . . . . . . . . . . . . 119 ݁Ռͷ֬ೝ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 ࣍ষʹ޲͚ͯ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 ୈ 4 ষ ώʔτγϯΫͷ೤ྲྀମݻମ࿈੒ղੳ 121 4.1 ղੳର৅ͱ໨త . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 4.2 ղੳϞσϧ*2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 ώʔτγϯΫͷܗঢ় . . . . . . . . . . . . . . . . . . . . . . . . . 122 Ϧʔδϣϯߏ੒ . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 ղੳυϝΠϯ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 4.3 ղੳϑϩʔ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 4.4 νϡʔτϦΞϧͷίϐʔ . . . . . . . . . . . . . . . . . . . . . . . . 126 STL ϑΝΠϧͷ४උ . . . . . . . . . . . . . . . . . . . . . . . . 127 STL ͷεέʔϧม׵ʢmm ˠ mʣ . . . . . . . . . . . . . . . . . . 127 STL Ϧʔδϣϯ໊ͷमਖ਼ . . . . . . . . . . . . . . . . . . . . . . 128 4.5 ϝογϡͷ࡞੒ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 blockMesh ʹΑΔϕʔεϝογϡͷ࡞੒ . . . . . . . . . . . . . . . 128 surfaceFeatureExtract ʹΑΔಛ௃ઢநग़ . . . . . . . . . . . . . . 130 snappyHexMesh ʹΑΔϝογϡ࡞੒ͱྖҬఆٛ . . . . . . . . . . . 131 4.6 ྖҬ෼ׂ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 0 ϑΥϧμͷ४උ . . . . . . . . . . . . . . . . . . . . . . . . . . 136 splitMeshRegions . . . . . . . . . . . . . . . . . . . . . . . . . 137 4.7 ղੳઃఆ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 ڥք৚݅ͷઃఆʢchangeDictionaryʣ . . . . . . . . . . . . . . . . 138 changeDictionaryDict ͷमਖ਼ . . . . . . . . . . . . . . . . . . . . 138 ෺ੑ஋ͱཚྲྀϞσϧ . . . . . . . . . . . . . . . . . . . . . . . . . 141 – vi –
  7. 9 ໨࣍ ൃ೤ͷઃఆ . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . 144 4.8 ܭࢉ࣮ߦ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 decomposeParDict ͷ഑ஔ . . . . . . . . . . . . . . . . . . . . . 145 ྖҬ෼ղͱ࣮ߦ . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 4.9 ݁Ռͷ֬ೝ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 ParaView ͰͷՄࢹԽ . . . . . . . . . . . . . . . . . . . . . . . . 146 Թ౓ͷ࣌ؒมԽ . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 ೤ྔͱԹ౓ͷ࣌ࠁྺ . . . . . . . . . . . . . . . . . . . . . . . . . 147 4.10 ώʔτγϯΫ͋Γɾͳ͠ͷൺֱ . . . . . . . . . . . . . . . . . . . . 150 4.11 ·ͱΊ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 ෇࿥ A gnuplot ͱ foamMonitor 154 A.1 gnuplot ͷجຊ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 A.2 foamMonitor ʹΑΔϦΞϧλΠϜ֬ೝ . . . . . . . . . . . . . . . . 155 ࢒ࠩͷ֬ೝ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 ք໘ͷฏۉԹ౓ͷ֬ೝ . . . . . . . . . . . . . . . . . . . . . . . . 156 ෇࿥ B OpenFOAM ͷ Tips 158 B.1 ϝογϡ඼࣭ͷ֬ೝ . . . . . . . . . . . . . . . . . . . . . . . . . . 158 B.2 ࿈ଓࣜͷޡࠩ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 B.3 y+ ͷ֬ೝ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 B.4 ྲྀྔͷ੔߹ੑ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 ෇࿥ C ιϑτͷΠϯετʔϧ 162 C.1 OpenFOAM ͷΠϯετʔϧ . . . . . . . . . . . . . . . . . . . . . 162 C.2 ParaView ͷΠϯετʔϧ . . . . . . . . . . . . . . . . . . . . . . . 163 C.3 Python ͷϥΠϒϥϦͷΠϯετʔϧ . . . . . . . . . . . . . . . . . 164 C.4 gnuplot ͷΠϯετʔϧ . . . . . . . . . . . . . . . . . . . . . . . . 165 ࢀߟจݙ 167 ͋ͱ͕͖ 169 – vii –
  8. 1 0 ୈ 1 ষ ϚϧνϦʔδϣϯιϧόͷ֓ཁ ͜ͷষͰ͸ɺOpenFOAM ʹ͓͚ΔϚϧνϦʔδϣϯιϧόͷ֓ཁͱɺ෇ଐ νϡʔτϦΞϧͰѻ͑Δ෺ཧݱ৅ͷछྨΛ঺հ͠·͢ɻ ʮ͜Μͳ͜ͱ͕Ͱ͖ΔΜͩʯͱ͍͏งғؾΛ͔ͭΜͰ΋Β͑Ε͹े෼Ͱ͢ɻ

    ͢΂ͯΛཧղ͠Α͏ͱͤͣɺؾܰʹྲྀ͠ಡΈ͍ͯͩ͘͠͞ɻ ࣮ફΛ༏ઌ͍ͨ͠ํ͸࣍ষʢୈ 2 ষʣʹਐΜͰ΋ߏ͍·ͤΜɻຊষͷνϡʔ τϦΞϧ঺հ͸ɺࣗ਎ͷ՝୊ʹ͍ۙݱ৅ʹ௚໘ͨ͠ͱ͖ʹվΊͯݟฦࣙ͢ॻత ͳ࢖͍ํͰ΋໾ཱͪ·͢ɻ΋ͪΖΜɺڵຯͷ͋ΔνϡʔτϦΞϧΛ࣮ࡍʹख ݩͰಈ͔͠ɺઃఆϑΝΠϧ΍ιʔείʔυΛಡΈղ͍͍ͯ͘ͷ΋ྑֶ͍ͼํ Ͱ͢ɻ 1.1 ڞ໾೤఻ୡͱ͸ લ࡞ [8] Ͱ͸ɺුྗΩϟϏςΟ΍ԁ؅಺ྲྀΕͳͲΛ୊ࡐʹɺbuoyantSimpleFoam ΍ buoyantPimpleFoam ͱ͍ͬͨ୯ҰྖҬͷ೤ྲྀମιϧόΛ࢖༻͠·ͨ͠ɻ͜ΕΒ ͷιϧόͰ͸ɺྲྀମྖҬͷΈΛର৅ʹԹ౓৔ͱ଎౓৔Λղ͖·͢ɻ Ұํɺ࣮ࡍͷ޻ֶతͳ໰୊Ͱ͸ɺݻମͱ೤ྲྀମ͕઀৮ͨ͠ঢ়ଶͰ೤͕΍ΓऔΓ͞Ε Δ৔໘͕ଟ͋͘Γ·͢ɻྫ͑͹ɺώʔτγϯΫʹۭؾ͕ྲྀΕͯ์೤͢Δ৔໘΍ɺ഑؅ Λ௨ͯ͡ߴԹͷྲྀମ͕ݻମนʹ೤Λ఻͑Δ৔໘Ͱ͢ɻ͜ͷΑ͏ͳݻମͱ೤ྲྀମΛ·ͨ ͙೤Ҡಈͷ͜ͱΛڞ໾೤఻ୡʢConjugate Heat TransferɺCHTʣͱݺͼ·͢ɻ ڞ໾೤఻ୡΛਖ਼͘͠ղੳ͢ΔͨΊʹ͸ɺྲྀମྖҬͱݻମྖҬͷ྆ํͰԹ౓৔Λղ ͖ɺͦΕͧΕͷڥքʢΠϯλʔϑΣʔεʣʹ͓͍ͯԹ౓ͱ೤ྲྀଋ͕࿈ଓ͢Δͱ͍͏৚ ݅Λຬͨ͢ඞཁ͕͋Γ·͢ɻ͜ͷΠϯλʔϑΣʔεͰͷ࿈੒৚݅ΛࣜͰද͢ͱҎԼͷ Α͏ʹͳΓ·͢ɻ ࣜ 1.1: ΠϯλʔϑΣʔεͰͷ࿈੒৚݅ Tfluid = Tsolid , −λfluid ∂Tfluid ∂n = −λsolid ∂Tsolid ∂n – 1 –
  9. 1 1 ୈ 1 ষ ϚϧνϦʔδϣϯιϧόͷ֓ཁ 1.1 ڞ໾೤఻ୡͱ͸ ͜͜Ͱ T

    ͸Թ౓ɺλ ͸೤఻ಋ཰ɺn ͸ΠϯλʔϑΣʔε๏ઢํ޲Λද͠·͢ɻࠨล ͷ৚݅͸Թ౓ͷ࿈ଓੑʢԹ౓δϟϯϓͳ͠ʣ ɺӈลͷ৚݅͸೤ྲྀଋͷ࿈ଓੑʢΤωϧ ΪʔอଘʣΛҙຯ͠·͢ɻ OpenFOAM Ͱ͸ɺ͜ͷ೤ྲྀଋͷ࿈ଓ৚݅Λຬͨ͢ΠϯλʔϑΣʔεԹ౓ Ti Λ਺ ஋తʹٻΊ·͢ɻίϯμΫλϯε K∆ = λ/∆ʢ∆ ͸ηϧத৺͔Βڥք໘·Ͱͷڑ཭ʣ Λ༻͍Δͱɺࣗଆͷηϧத৺ Tc ͔Βք໘΁޲͔͏೤ྲྀଋͱɺք໘͔Βྡଆͷηϧத ৺ Tnbr,c ΁޲͔͏೤ྲྀଋ͸ͦΕͧΕ࣍ͷΑ͏ʹॻ͚·͢ɻ ࣜ 1.2: ྆ଆͷ೤ྲྀଋ q = K∆ (Tc − Ti ), qnbr = K∆,nbr (Ti − Tnbr,c ) ք໘Ͱͷ೤ྲྀଋ࿈ଓ৚݅ q = qnbr Λ՝ͯ͠ Ti ʹ͍ͭͯղ͘ͱɺ྆ଆͷίϯμΫλ ϯεʹΑΔՃॏฏۉͱ͕ͯ࣍ࣜ͠ಘΒΕ·͢ɻ ࣜ 1.3: ڥք໘Թ౓ʢΠϯλʔϑΣʔεԹ౓ʣ Ti = K∆ Tc + K∆,nbr Tnbr,c K∆ + K∆,nbr ˛ ਤ 1.1: ք໘Թ౓ͷ֓೦ਤɿ྆ଆͷίϯμΫλϯεʹΑΔՃॏฏۉͰ T_i ͕ܾ·Δ ͜ͷ Ti Λ྆ଆͷڥք໘Թ౓ͱͯ͠༩͑Δ͜ͱͰɺTfluid = Tsolid = Ti ͕ࣗಈతʹ ੒ཱ͠·͢ɻ – 2 –
  10. 1 2 ୈ 1 ষ ϚϧνϦʔδϣϯιϧόͷ֓ཁ 1.1 ڞ໾೤఻ୡͱ͸ fluid_1 fluid_1

    気体領域 気体領域 fluid_1 気体領域 solid_1 solid_1 固体領域 固体領域 solid_1 固体領域 fluid_2 fluid_2 気体領域 気体領域 fluid_2 気体領域 ˛ ਤ 1.2: ΠϯλʔϑΣʔεͰͷԹ౓ͱ೤ྲྀଋͷ࿈੒৚݅ ࢧ഑ํఔࣜ ϚϧνϦʔδϣϯιϧόͰ͸ɺྲྀମྖҬͱݻମྖҬͰͦΕͧΕҟͳΔࢧ഑ํఔࣜΛ ղ͖·͢ɻ ྲྀମྖҬͰ͸ɺ࿈ଓͷࣜɺӡಈྔอଘࣜɺΤωϧΪʔอଘࣜΛղ͖·͢ɻ ࣜ 1.4: ࿈ଓͷࣜʢྲྀମʣ ∂ρ ∂t + ∇ · (ρu) = 0 ࣜ 1.5: ӡಈྔอଘࣜʢྲྀମʣ ∂(ρu) ∂t + ∇ · (ρu ⊗ u) = −∇p + ∇ · [ µ ( ∇u + (∇u)T )] + ρg ࣜ 1.6: ΤωϧΪʔอଘࣜʢྲྀମʣ ∂(ρh) ∂t + ∇ · (ρhu) = ∇ · (λfluid ∇T) + ∂p ∂t ͜͜Ͱ h ͸ൺΤϯλϧϐʔɺu ͸଎౓ϕΫτϧɺρ ͸ີ౓ɺp ͸ѹྗɺµ ͸೪ੑ܎ ਺ɺg ͸ॏྗՃ଎౓Ͱ͢ɻ ҰํɺݻମྖҬͰ͸೤఻ಋํఔࣜͷΈΛղ͖·͢ɻ – 3 –
  11. 1 7 ୈ 1 ষ ϚϧνϦʔδϣϯιϧόͷ֓ཁ 1.4 νϡʔτϦΞϧͷྫ 熱抵抗 底面

    500K ˛ ਤ 1.3: multiRegionHeater ͷԹ౓৔ܭࢉ݁Ռ ݁ՌΛݟΔͱɺ ࠨଆݻମ ʢleftSolidʣ ͷԹ౓͕ӈଆݻମ ʢrightSolidʣ ΑΓ΋໌Β͔ʹ ௿͘ͳ͍ͬͯ·͢ɻ͜Ε͸ɺ heater ͱ leftSolid ͷؒʹ઀৮೤఍߅ ʢContact Thermal Resistanceʣ͕ઃఆ͞Ε͍ͯΔͨΊͰ͢ɻ ࣮ࡍͷ 2 ݻମؒͷ઀৮໘Ͱ͸ɺද໘ͷԜತ΍ඍখͳۭܺͷӨڹͰɺ׬શʹີண͠ ͍ͯͯ΋೤͕׬શʹ͸఻ΘΒͣɺएׯͷԹ౓͕ࠩੜ͡·͢ɻ͜ͷΑ͏ͳ઀৮೤఍߅ ͸ɺബ͍઀৮૚ͷްΈ d ͱ೤఻ಋ཰ λlayer Λ༩͑Δ͜ͱͰ୯Ґ໘ੵ͋ͨΓͷ೤఍߅ Rcontact = d/λlayer ͱͯ͠਺஋తʹදݱͰ͖·͢ɻ OpenFOAM Ͱ ͸ ɺ turbulentTemperatureRadCoupledMixed ڥ ք ৚ ݅ ʹ thicknessLayers ͱ kappaLayers Λ௥Ճ͢Δ͚ͩͰ઀৮೤఍߅ΛߟྀͰ͖ ·͢ɻ ˝ Ϧετ 1.1: 0/heater/T ͷ heater_to_leftSolid ڥք৚݅ʢൈਮʣ heater_to_leftSolid { type compressible::turbulentTemperatureRadCouple› ›dMixed; Tnbr T; kappaMethod solidThermo; thicknessLayers ( 0.001 ); // ઀৮૚ͷްΈ [m] kappaLayers ( 0.0005 ); // ઀৮૚ͷ೤఻ಋ཰ [W/m/K] value uniform 300; } – 8 –
  12. 2 1 ୈ 1 ষ ϚϧνϦʔδϣϯιϧόͷ֓ཁ 1.4 νϡʔτϦΞϧͷྫ ˛ ਤ

    1.4: externalSolarLoad ͷܭࢉ݁Ռ ଠཅ೔ࣹͷΑ͏ͳ໌Β͔ͳ᫔ࣹݱ৅Ͱ͋Ε͹ɺҙࣝతʹղੳ΁૊ΈࠐΉͱࢥ͍· ͢ɻҰํɺࣗવքͷ͋ΒΏΔ఻೤ݱ৅ʹ͸᫔ࣹ͕ଘࡏ͓ͯ͠Γɺ᫔ࣹ͸ݫີʹ͸θϩ Ͱ͸͋Γ·ͤΜɻॏཁͳͷ͸ʮ᫔ࣹΛແࢹͰ͖Δ͔Ͳ͏͔ʯΛ൑அ͢Δ͜ͱͰ͢ɻ೤ ऩࢧʹ઎ΊΔ᫔ࣹͷׂ߹͕খ͚͞Ε͹লུͯ͠΋݁Ռ΁ͷӨڹ͸ܰඍͰ͕͢ɺࣗવ ରྲྀ͕୎ӽ͢Δ԰֎ɾࣨ಺؀ڥ΍ɺߴԹ໘ɾଠཅ೔ࣹ͕ଘࡏ͢Δঢ়گͰ͸ɺ᫔ࣹ͕೤ ऩࢧશମʹରͯ͠ແࢹͰ͖ͳׂ͍߹Λ઎ΊΔ͜ͱ͕͋Γ·͢ɻ᫔ࣹΛߟྀ͠ͳ͍· ·͜ͷΑ͏ͳղੳΛߦ͏ͱɺԹ౓৔΍೤ྔΛਖ਼͘͠࠶ݱͰ͖ͳ͍ͨΊ஫ҙ͕ඞཁͰ ͢ɻ᫔ࣹܭࢉͷೖ໳ྫͱͯ͠͸ multiRegionHeaterRadiation ΋ڍ͛ΒΕ·͢ɻ ͜ͷνϡʔτϦΞϧ͸ڧ੍ରྲྀͷఆৗղੳͰ͕͢ɺ multiRegionHeater ͱಉ͡ߏ ੒ʹ᫔ࣹΛ௥Ճͨ͠΋ͷͰ͋ΔͨΊɺ᫔ࣹઃఆͷཧղʹऔΓ૊Έ΍͍͢ߏ੒ʹͳͬͯ ͍·͢ɻ windshieldCondensationɿ࣪౓ͷܭࢉʢ݁࿐ͱৠൃʣ windshieldCondensation ͸ɺࣗಈंͷϑϩϯτΨϥεΛ໛ͨ͠ݻମ-೤ྲྀମ࿈ ੒Ϟσϧʹਫৠؾͷ༌ૹͱ݁࿐ɾৠൃͷ૬มԽΛ૊ΈࠐΜͩνϡʔτϦΞϧͰ͢*3ɻ ंࣨ಺ʢcabinʣʹۭ࣪ͬͨؾ͕ଘࡏ͢Δͱ͖ɺΨϥεද໘ͷԹ౓͕࿐఺ҎԼʹͳΔ ͱ݁࿐͕ੜ͡ɺஆ๪ͳͲͰԹ౓্͕ঢ͢Δͱৠൃ͕ى͜Δɺͱ͍͏ݱ৅ΛγϛϡϨʔ τ͠·͢ɻ *3 $FOAM_TUTORIALS/heatTransfer/chtMultiRegionFoam/windshieldCondensation – 12 –
  13. 2 2 ୈ 1 ষ ϚϧνϦʔδϣϯιϧόͷ֓ཁ 1.4 νϡʔτϦΞϧͷྫ ͜ͷνϡʔτϦΞϧͰѻ͏෺ཧݱ৅Λ੔ཧ͢Δͱɺ࣍ͷͱ͓ΓͰ͢ɻ •

    ࣪ΓۭؾͷྲྀΕʢ଎౓৔ɾԹ౓৔ʣ • ਫৠؾʢH2Oʣͷ࣭ྔ෼཰ͷ༌ૹʢεΧϥʔ৔ͷҠྲྀ֦ࢄʣ • Ψϥεʢwindshield ݻମʣ΁ͷ೤఻ಋ • ݻମද໘Ͱͷ૬มԽɿ࿐఺ҎԼͳΒ݁࿐ɺҎ্ͳΒৠൃ ˛ ਤ 1.5: windshieldCondensation ͷܭࢉϞσϧ֓ཁ OpenFOAM Ͱ͸ɺਫৠؾͷ࣭ྔ෼཰ H2O Λ௨ৗͷ೤ྲྀମ৔ͱ͸ಠཱͨ͠εΧ ϥʔ༌ૹํఔࣜͱͯ͠ղ͖·͢ɻεΧϥʔ༌ૹํఔࣜ͸࣍ͷΑ͏ʹද͞Ε·͢*4ɻ ࣜ 1.9: εΧϥʔ༌ૹํఔࣜ ∂T ∂t + ∇ · (uT) − ∇ · (DT ∇T) = S ͜ ͜ Ͱ T ͸ ೚ ҙ ͷ ε Χ ϥ ʔ ྔʢ ຊ έ ʔ ε Ͱ ͸ ਫ ৠ ؾ ࣭ ྔ ෼ ཰ H2Oʣ ɺu ͸ ଎ ౓ ϕ Ϋ τ ϧ ɺDT ͸ ֦ ࢄ ܎ ਺ ɺS ͸ ι ʔ ε ߲ Ͱ ͢ ɻ͜ ͷ ε Χ ϥ ʔ ৔ ͸ ɺ controlDict ͷ functions ʹ scalarTransport Λ௥Ճ͢Δ͜ͱͰ༌ૹ͞Ε ·͢ɻ ˝ Ϧετ 1.3: controlDict ͷ functionsʢൈਮʣ functions { *4 https://doc.openfoam.com/2306/tools/processing/solvers/rtm/basic/scalarTransportFoam/ – 13 –
  14. 2 5 ୈ 1 ষ ϚϧνϦʔδϣϯιϧόͷ֓ཁ 1.4 νϡʔτϦΞϧͷྫ ೩ম൓ԠΛ૊ΈࠐΜͩνϡʔτϦΞϧͰ͢*5ɻ ྲྀΕ৔ͷதͰϝλϯ͕೩ম͠ɺੜ੒͞Εͨ೤͕ݻମนʹ఻ΘΔ༷ࢠΛγϛϡϨʔτ

    ͠·͢ɻ ͜ͷνϡʔτϦΞϧͰѻ͏෺ཧݱ৅Λ੔ཧ͢Δͱɺ࣍ͷͱ͓ΓͰ͢ɻ • ଟ੒෼ࠞ߹ؾͷྲྀΕʢO2 ɺCH4 ɺCO2 ɺH2 OɺN2 ʣ • Arrhenius ͷ ൓ Ԡ ଎ ౓ ࣜ ʹ ج ͮ ͘ ϝ λ ϯ ೩ ম ൓ Ԡ ʢCH4 + 2O2 → CO2 + 2H2 Oʣ • PaSRʢPartially Stirred Reactorʣ೩মϞσϧʹΑΔཚྲྀ೩মͷϞσϦϯά • ೩ম೤ͷݻମน΁ͷ೤఻ಋ 熱源 熱源 熱源 CH4 + 2O2 = CO2 + 2H2O Air(N2 : 0.79, O2 : 0.21) Air(N2 : 0.79, O2 : 0.21) Air(N2 : 0.79, O2 : 0.21) CH4 : 1.0 CH4 : 1.0 CH4 : 1.0 Air(N2 : 0.79, O2 : 0.21) Air(N2 : 0.79, O2 : 0.21) Air(N2 : 0.79, O2 : 0.21) ˛ ਤ 1.8: reverseBurner ͷܭࢉ݁Ռ ఺ՐݯɿfvOptions ʹΑΔ೤ݯͷ༩͑ํ Խֶ൓ԠΛࣗൃతʹܧଓͤ͞Δʹ͸ɺ·ͣ఺Րͷ͖͔͚ͬͱͳΔ೤ݯ͕ඞཁͰ ͢ɻ͜ͷνϡʔτϦΞϧͰ͸ɺ gas ྖҬͷҰ෦ʢ ignition ηϧू߹ʣʹର͠ ͯ fvOptions ͰҰ࣌తͳΤωϧΪʔݯΛ༩͑Δ͜ͱͰ఺ՐΛγϛϡϨʔτ͍ͯ͠ ·͢ɻ fvOptions Ͱ೤ݯΛಛఆྖҬʹద༻͢Δʹ͸ɺ͋Β͔͡Ίର৅ηϧʹ໊લΛ ෇͚ͨηϧू߹ʢ cellSet ʣΛ࡞੒͓ͯ͘͠ඞཁ͕͋Γ·͢ɻηϧू߹ͷఆٛ *5 $FOAM_TUTORIALS/heatTransfer/chtMultiRegionFoam/reverseBurner – 16 –
  15. 2 9 ୈ 1 ষ ϚϧνϦʔδϣϯιϧόͷ֓ཁ 1.4 νϡʔτϦΞϧͷྫ ˛ ਤ

    1.9: solidQuenching2D ͷܭࢉ݁Ռ ΦΠϥʔ-ΦΠϥʔ๏ͱ͸ ͜ͷιϧόͷ֩৺͸ΦΠϥʔ-ΦΠϥʔʢEuler-Eulerʣ๏ʹΑΔೋ૬ྲྀϞσϧͰ ͢ɻΦΠϥʔ-ΦΠϥʔ๏Ͱ͸ɺӷ૬ʢwaterʣͱؾ૬ʢsteamʣΛͲͪΒ΋࿈ଓମͱ ͯ͠ѻ͍ɺಉ͡৔ॴʹۭؒతʹॏͳΓ߹ͬͯଘࡏ͢Δ΋ͷͱΈͳ͠·͢ɻ֤૬͸ಠཱ ͨ͠଎౓৔ɾԹ౓৔ɾମੵ෼཰ʢαʣΛ࣋ͪɺ૬ؒͷྗͷ΍ΓऔΓʢ߅ྗɾ༲ྗɾԾ૝ ࣭ྔྗʣ΍೤ɾ࣭ྔͷҠಈΛϞσϧࣜͰ༩͑·͢ɻؾ๐Λݸʑʹ௥੻͠ͳ͍ͨΊɺେ ྔͷؾ๐ΛؚΉ෸ಅྲྀΛݱ࣮తͳίετͰղ͘͜ͱ͕Ͱ͖·͢ɻ phaseProperties Ͱ͸ؾ૬ɾӷ૬ͷϞσϧΛ࣍ͷΑ͏ʹఆٛ͠·͢ɻ ˝ Ϧετ 1.8: constant/water/phasePropertiesʢൈਮʣ type thermalPhaseChangeTwoPhaseSystem; – 20 –
  16. 3 3 ୈ 2 ষ νϡʔτϦΞϧͷ࣮ߦ ʢsnappyMultiRegionHeaterʣ ຊষͰ͸ɺOpenFOAM ʹಉࠝ͞Ε͍ͯΔϚϧνϦʔδϣϯνϡʔτϦΞϧ snappyMultiRegionHeater

    Λ࣮ࡍʹ࣮ߦ͠ͳ͕ΒɺઃఆϑΝΠϧͷߏ੒ͱ खॱΛҰ௨Γཧղ͢Δ͜ͱΛ໨ඪͱ͠·͢ɻ ϚϧνϦʔδϣϯιϧό͸ɺ୯ҰྖҬͷιϧόͱൺ΂ͯઃఆ͕ෳࡶͰ͢ɻྲྀ ମɾݻମͦΕͧΕͷྖҬ͝ͱʹ෺ੑ஋ɾڥք৚݅ɾ਺஋εΩʔϜͷઃఆϑΝΠ ϧΛݸผʹ༻ҙ͠ͳ͚Ε͹ͳΒͳ͍ͨΊͰ͢ɻ࠷ॳ͔ΒΦϦδφϧϞσϧͰ࢝ ΊΔͱ͖᪴΍͍ͨ͢Ίɺ·ͣެࣜνϡʔτϦΞϧΛͦͷ··ಈ͔ͯ͠ઃఆΛಡ Έղ͘͜ͱ͕ۙಓͰ͢ɻ 2.1 ղੳର৅ͱ໨త ຊষͰ͸ɺ ୈ 1 ষͰ঺հͨ͠νϡʔτϦΞϧͷத͔Β snappyMultiRegionHeater ΛऔΓ্͛ɺϚϧνϦʔδϣϯղੳͷجຊૢ࡞Λֶͼ·͢ɻ ຊղੳ͸ݻମ-೤ྲྀମͷڞ໾೤఻ୡʢCHTʣΛର৅ͱͨ͠ඇఆৗղੳͰ͢ɻιϧό ʹ͸ chtMultiRegionFoam Λ࢖༻͠ɺݻମྖҬʢheaterɺleftSolidɺrightSolidʣͱ ྲྀମྖҬʢtopAirɺbottomAirʣͷԹ౓৔Λ࣌ؒൃలͤ͞ͳ͕Βಉ࣌ʹղ͖·͢ɻ ͜ͷνϡʔτϦΞϧͰ͸ɺதԝʹ഑ஔͨ͠ݻମώʔλʔʢheaterʣͷԼ໘ʹߴԹڥ ք৚݅Λ༩͑ɺώʔλʔ͔Β্ԼͷۭؾྖҬʢtopAirɺbottomAirʣʹ೤͕఻ΘΔա ఔΛܭࢉ͠·͢ɻsnappyHexMesh Λ༻͍ͨϝογϡ࡞੒ؚ͕·Ε͓ͯΓɺSTL ϑΝ Πϧ͔ΒϝογϡΛੜ੒͢Δ࣮ફతͳख๏΋߹ΘֶͤͯͿ͜ͱ͕Ͱ͖·͢ɻຊষΛ௨ ͯ͡ɺྖҬ෼ׂɾڥք৚݅ઃఆɾՄࢹԽ·ͰͷҰ࿈ͷखॱΛशಘ͢Δ͜ͱ͕໨ඪͰ͢ɻ – 24 –
  17. 3 4 ୈ 2 ষ νϡʔτϦΞϧͷ࣮ߦʢsnappyMultiRegionHeaterʣ 2.2 ղੳϞσϧ 2.2 ղੳϞσϧ

    ղੳϞσϧͷ֓ཁΛࣔ͠·͢*1ɻ heater heater heater leftSolid leftSolid leftSolid rightSolid rightSolid rightSolid bottomAir bottomAir bottomAir topAir topAir topAir 底面 500K ˛ ਤ 2.1: snappyMultiRegionHeater ͷԹ౓৔ܭࢉ݁Ռ ղੳྖҬ͸ x ∈ [−0.1, 0.1] mɺy ∈ [−0.04, 0.04] mɺz ∈ [−0.05, 0.05] m ͷ௚ํ ମͰ͢ɻ͜ͷྖҬ಺ʹҎԼͷ 5 ͭͷྖҬ͕ఆٛ͞Ε͍ͯ·͢ɻ ˝ ද 2.1: snappyMultiRegionHeater ͷྖҬҰཡ ྖҬ໊ छผ આ໌ bottomAir ྲྀମ ԼଆͷۭؾྖҬɻྲྀΕ͸ઃఆ͞Ε͍ͯͳ͍ɻ topAir ྲྀମ ্ଆͷۭؾྖҬɻx ํ޲ʹ 0.1 m/s ͷྲྀೖ͕ઃఆ͞Ε͍ͯΔɻ heater ݻମ தԝͷݻମώʔλʔɻԼ໘ʹߴԹʢ500 Kʣͷڥք৚݅Λ༩͑Δɻ leftSolid ݻମ ࠨଆͷݻମྖҬɻ rightSolid ݻମ ӈଆͷݻମྖҬɻ ώʔλʔͷԼ໘ʢminYʣʹ 500 K ͷݻఆԹ౓ڥք৚݅Λઃఆ͠ɺώʔλʔͷ೤͕ ݻମ಺Λ఻ΘΓͳ͕Βɺ্ԼͷۭؾྖҬʹڞ໾೤఻ୡʹΑͬͯҠಈ͢Δ༷ࢠΛܭࢉ͠ ·͢ɻ *1 ຊষͷղੳέʔεɿhttps://github.com/kamakiri1225/OpenFOAM_contents20/tree/main /001_snappyMultiRegionHeater – 25 –
  18. 8 1 ୈ 2 ষ νϡʔτϦΞϧͷ࣮ߦʢsnappyMultiRegionHeaterʣ 2.9 ݁Ռͷ֬ೝ (12) (12)

    (12) (13) (13) (13) ˛ ਤ 2.16: Glyph Ͱྲྀ଎ϕΫτϧΛදࣔ (11) post.foamʢྲྀମྖҬʣΛબ୒ͨ͠ঢ়ଶͰɺ Glyph ͷΞΠίϯΛΫϦοΫ (12) ܯࠂ͕ग़·͕͢ Yes ΛΫϦοΫ͠·͢ɻ ͜Ε͸ϕΫτϧදࣔ͸ϝϞϦΛফඅ͢ΔͨΊɺۭ͖ϝϞϦ͕গͳ͍ͱ ParaView ͕ མͪΔՄೳੑ͕͋Δͱ͍͏ܯࠂͰ͢ɻ (14) (14) (14) (15) (15) (15) (16) (16) (16) (17) (17) (17) ˛ ਤ 2.17: ϕΫτϧͷදࣔઃఆ – 72 –
  19. 8 4 ୈ 3 ষ ૯ׅ೤఻ୡ཰ʢU ஋ʣͷܭࢉ ͜ͷষͰ͸ɺΦϦδφϧϞσϧΛ࡞੒͠ɺOpenFOAM ͷϚϧνϦʔδϣϯ ιϧόΛ༻͍ͯ૯ׅ೤఻ୡ཰

    ʢU ஋ʣ Λܭࢉ͢Δํ๏Λղઆ͠·͢ɻblockMesh Ͱγϯϓϧͳฏ൘ϞσϧΛ࡞੒͠ɺཧ࿦ࣜͷಋग़͔Βܭࢉ݁Ռͷݕূ·ͰΛҰ ࿈ͷྲྀΕͰମݧ͠·͢ɻ 3.1 ղੳର৅ͱ໨త ຊষͰ͸ɺ֎ؾɾ૭ʢݻମนʣ ɾࣨ಺ͷ 2 ࣍ݩ೤఻ୡղੳΛߦ͍·͢ɻ͜Ε͸ॅ୐ ͷ૭·ΘΓͷஅ೤ੑೳΛධՁ͢ΔϞσϧΛ؆ུԽͨ͠΋ͷʹ૬౰͠·͢ɻ ॅ୐ͷࣨԹ͸༷ʑͳ೤ෛՙ͕ෳ߹ܾͯ͠·Γ·͢ɻଠཅޫɾর໌ɾਓମ͔Βͷൃ೤ ͕ࣨԹΛ্͛ɺ֎นɾ԰ࠜɾ஍໘ɾ૭Λ௨ͨ͡೤ͷग़ೖΓ͕ࣨԹΛࠨӈ͠·͢ɻ தͰ΋૭͔Βͷ೤ͷग़ೖΓ͸ಛʹେ͖͘ɺౙ৔͸֎ؾͷྫྷ͕ͨ͞૭Λ௨ͯࣨ͡಺ʹ ೖΓࠐΈɺஆ๪ෛՙΛ૿େͤ͞·͢ɻࡢࠓ͸ෳ਺ͷΨϥε૚ͷؒʹۭؾ΍ෆ׆ੑΨε Λ෧ೖͨ͠ෳ૚ΨϥεΛ࠾༻͢Δ͜ͱͰɺ૭Λ௨ͨ͡೤Ҡಈʢ೤؏ྲྀʣΛখ͘͢͞Δ औΓ૊Έ͕޿͘ߦΘΕ͍ͯ·͢ɻ ͜ͷ૭ͷஅ೤ੑೳΛද͢ࢦඪ͕೤؏ྲྀ཰ʢU ஋ɺW/(m2 · K)ʣͰ͢ɻ஋͕খ͍͞ ΄Ͳ೤͕఻ΘΓʹ͘͘ɺஅ೤ੑೳ͕ߴ͍͜ͱΛҙຯ͠·͢ɻ೔ຊͷলΤωج४Ͱ͸֎ นͰ 0.4 W/(m2 · K) ҎԼɺ૭Ͱ 1.5 W/(m2 · K) ҎԼ͕໨ඪਫ४ͱ͞Ε͍ͯ·͢ɻ – 75 –
  20. 8 5 ୈ 3 ষ ૯ׅ೤఻ୡ཰ʢU ஋ʣͷܭࢉ 3.1 ղੳର৅ͱ໨త ˛

    ਤ 3.1: ॅ୐ʹ͓͚Δ೤ෛՙͷ໛ࣜਤ ˝ ද 3.1: ݐࡐ͝ͱͷ U ஋ͷ໨҆ ݐࡐ U ஋ͷ໨҆ [W/(mu K)] ಛ௃ ୯൘Ψϥε૭ ໿ 6.0 அ೤ੑ͕௿͘೤͕ಀ͛΍͍͢ ෳ૚Ψϥε૭ ໿ 2.0ʙ3.0 ۭؾ૚Ͱஅ೤ੑΛ޲্ थࢷαογ +Low-E ෳ૚Ψϥε ໿ 0.9ʙ1.5 ߴஅ೤ॅ୐޲͚ Ұൠతͳ֎นʢஅ೤ࡐೖΓʣ ໿ 0.3ʙ0.6 அ೤ࡐͷްΈͰมΘΔ ྲྀମʢۭؾʣྖҬͱݻମʢΨϥεʣྖҬΛ૊Έ߹ΘͤͨϚϧνϦʔδϣϯϞσϧΛ ࡞੒͠ɺ૯ׅ೤఻ୡ཰ʢU ஋ʣΛ OpenFOAM Ͱࢉग़ͯ͠ཧ࿦஋ͱൺֱ͠·͢ɻ – 76 –
  21. 8 6 ୈ 3 ষ ૯ׅ೤఻ୡ཰ʢU ஋ʣͷܭࢉ 3.2 ૯ׅ೤఻ୡ཰ʢU ஋ʣͷཧ࿦

    fluid_1 fluid_1 室外 室外 fluid_1 室外 solid_1 solid_1 窓 窓 solid_1 窓 fluid_1 fluid_1 室内 室内 fluid_1 室内 solid_2 solid_2 壁 壁 solid_2 壁 ˛ ਤ 3.2: ܭࢉϞσϧͷ֓ཁ ຊষΛ௨ͯ͡ɺҎԼͷ಺༰Λ਎ʹ͚ͭΔ͜ͱΛ໨ඪͱ͠·͢ɻ • ૯ׅ೤఻ୡ཰ͷཧ࿦ࣜͷಋग़ͱཧղ • blockMesh ʹΑΔϚϧνϦʔδϣϯϝογϡͷ௚઀࡞੒ • controlDict ͷ function objects Λ࢖ͬͨ೤ྲྀଋͷऔಘํ๏ • γϛϡϨʔγϣϯ݁Ռͱཧ࿦஋ͷൺֱɾݕূ 3.2 ૯ׅ೤఻ୡ཰ʢU ஋ʣͷཧ࿦ ೤఍߅ͷߟ͑ํ ిؾճ࿏ͷΦʔϜͷ๏ଇͱಉ༷ʹɺ೤Ҡಈ΋೤఍߅ͱ͍͏֓೦Ͱ੔ཧ͢Δ͜ͱ͕Ͱ ͖·͢ɻ೤ྲྀଋ qʢW/m2ʣͱԹ౓ࠩ ∆TʢKʣͷؔ܎͸࣍ͷΑ͏ʹද͞Ε·͢ɻ ࣜ 3.1: ೤ྲྀଋͱ೤఍߅ͷؔ܎ q = ∆T R ͜͜Ͱ Rʢm2K/Wʣ͸೤఍߅Ͱ͢ɻෳ਺ͷ૚͕௚ྻʹฒͿ৔߹ɺ೤఍߅͸଍͠߹ ΘͤΔ͜ͱ͕Ͱ͖·͢ɻ – 77 –
  22. 8 7 ୈ 3 ষ ૯ׅ೤఻ୡ཰ʢU ஋ʣͷܭࢉ 3.2 ૯ׅ೤఻ୡ཰ʢU ஋ʣͷཧ࿦

    ֤૚ͷ೤఍߅ ਤ 3.2 ʹࣔ͢Α͏ʹɺ ຊষͷϞσϧ͸ࣨ֎ ʢfluid_1ʣ ɾ ૭ ʢsolid_1ʣ ɾ ࣨ಺ ʢfluid_2ʣ ɾ นʢsolid_2ʣͷ 4 ϦʔδϣϯͰߏ੒͞Ε·͢ɻU ஋ͷࢉग़ʹ͋ͨͬͯ͸ɺࣨ֎ɾ૭ɾ ࣨ಺ͷ 3 ૚Λର৅ʹ֤૚ͷ೤఍߅Λ௚ྻʹߟ͑·͢ɻ ࣨ֎ʢfluid_1ʣͷ೤఍߅ɿࣨ֎ۭؾͱ૭໘ͷؒͷରྲྀ೤఻ୡΛද͠·͢ɻରྲྀ೤ ఻ୡ܎਺ hout Λ༻͍ͯ࣍ͷΑ͏ʹද͞Ε·͢ɻ ࣜ 3.2: ࣨ֎ଆͷରྲྀ೤఍߅ Rout = 1 hout ૭ʢsolid_1ʣͷ೤఍߅ɿ૭Ψϥεʢݻମʣ಺ͷ೤఻ಋΛද͠·͢ɻ೤఻ಋ཰ λs ɺ ް͞ L Λ༻͍ͯ࣍ͷΑ͏ʹද͞Ε·͢ɻ ࣜ 3.3: ݻମʢ૭ʣͷ೤఍߅ Rs = L λs ࣨ಺ʢfluid_2ʣͷ೤఍߅ɿ૭໘ͱࣨ಺ۭؾͷؒͷରྲྀ೤఻ୡΛද͠·͢ɻରྲྀ೤ ఻ୡ܎਺ hin Λ༻͍ͯ࣍ͷΑ͏ʹද͞Ε·͢ɻ ࣜ 3.4: ࣨ಺ଆͷରྲྀ೤఍߅ Rin = 1 hin ͜ΕΒͷ೤఍߅͸ిؾճ࿏ͷ఍߅ͱಉ༷ʹ௚ྻ઀ଓͱͯ͠ѻ͑·͢ʢਤ 3.3ʣ ɻ fluid_1 solid_1 fluid_2 solid_2 Outdoor Window Indoor Wall R out R s R in ˛ ਤ 3.3: ೤఍߅ͷ௚ྻճ࿏Ξφϩδʔ – 78 –
  23. 8 8 ୈ 3 ষ ૯ׅ೤఻ୡ཰ʢU ஋ʣͷܭࢉ 3.3 ղੳϑϩʔ ૯ׅ೤఻ୡ཰ͷಋग़

    ࣨ֎ɾ૭ɾࣨ಺ͷ֤೤఍߅Λ௚ྻʹ଍͠߹ΘͤΔ͜ͱͰશମͷ೤఍߅͕ಘΒΕ·͢ɻ ࣜ 3.5: શମͷ೤఍߅ Rtotal = 1 hout + L λs + 1 hin ૯ׅ೤఻ୡ཰ U ͸શ೤఍߅ͷٯ਺ͱͯ͠ఆٛ͞Ε·͢ɻ ࣜ 3.6: ૯ׅ೤఻ୡ཰ͷఆٛ U = 1 Rtotal = 1 1 hout + L λs + 1 hin ೤ྲྀଋ͸ U ஋ͱԹ౓ࠩͷੵͱͯ͠ಘΒΕ·͢ɻ ࣜ 3.7: ೤ྲྀଋͱ U ஋ͷؔ܎ q = U · (Tfluid_1 − Tfluid_2 ) ͜͜Ͱ Tfluid_1 ɺTfluid_2 ͸ͦΕͧΕߴԹଆɾ௿ԹଆྲྀମͷԹ౓Ͱ͢ɻ γϛϡϨʔγϣϯͰ͸ɺݻମนͷΠϯλʔϑΣʔεͰน໘೤ྲྀଋ q Λܭࢉ͠ɺࣜࣜ 3.7 ͔Β U ஋ΛٻΊ·͢ɻ ࣜ 3.8: γϛϡϨʔγϣϯ͔Βͷ U ஋ࢉग़ Usim = q Tfluid_1 − Tfluid_2 ۩ମతͳ਺஋ʹΑΔ݁Ռൺֱ͸γϛϡϨʔγϣϯΛߦͬͨޙɺ݁Ռ֬ೝͷઅͰࣔ͠ ·͢ɻ 3.3 ղੳϑϩʔ ·ͣ͸ղੳશମͷྲྀΕΛԡ͓͖͑ͯ͞·͠ΐ͏ɻ • ϝογϡੜ੒ɾྖҬ࡞੒ʢblockMeshʣ • ྖҬ෼ׂʢsplitMeshRegionsʣ • ॳظɾڥք৚݅ͷઃఆ • ܭࢉ࣮ߦʢchtMultiRegionFoamʣ • ݁ՌͷՄࢹԽʢParaViewʣ – 79 –
  24. 9 5 ୈ 3 ষ ૯ׅ೤఻ୡ཰ʢU ஋ʣͷܭࢉ 3.6 blockMesh ʹΑΔϝογϡ࡞੒

    fluid_1 fluid_1 気体領域 気体領域 fluid_1 気体領域 solid_1 solid_1 固体領域 固体領域 solid_1 固体領域 fluid_2 fluid_2 気体領域 気体領域 fluid_2 気体領域 solid_2 solid_2 固体領域 固体領域 solid_2 固体領域 f1_minX f1_maxY f1_minY s1_minY s1_maxY f2_maxY s2_maxY s2_maxX s2_minY f2_minY ˛ ਤ 3.5: blockMesh ࣮ߦ௚ޙͷϝογϡʢྖҬ෼ׂલʣ Ҏ্Ͱຊষͷϝογϡ࡞੒͸׬ྃͰ͢ɻը૾ͷ৭෼͚͸ blockMeshDict Ͱࢦఆ ͨ͠Ϧʔδϣϯ໊ ʢcellZonesʣ ͷҧ͍Λද͍ͯ͠·͢ɻ࣍ͷ splitMeshRegions ͸ ϝογϡܗঢ়Λม͑ΔͷͰ͸ͳ͘ɺ͜ͷ cellZones ͷ৘ใΛ΋ͱʹ 1 ͭͷϝογϡΛ Ϧʔδϣϯ͝ͱͷαϒσΟϨΫτϦʹ࠶ฤ੒͠·͢ɻ 0 ϑΥϧμͷ४උ ୈ 2 ষʮνϡʔτϦΞϧͷ࣮ߦʢsnappyMultiRegionHeaterʣ ʯͰղઆͨ͠Α͏ ʹɺ splitMeshRegions Λ࣮ߦ͢Δલʹ 0/ϑΥϧμʹ֤෺ཧྔͷϑΝΠϧΛ༻ ҙ͓͖ͯ͠·͢ɻҎԼͷΑ͏ʹશύονΛ ".*" ͰҰׅࢦఆ͠ɺڥք৚݅ͷܕ Λ type calculated; ͱ͓͖ͯ͠·͢ɻ ˝ Ϧετ 3.2: 0/UʢsplitMeshRegions ࣮ߦલʣ dimensions [0 1 -1 0 0 0 0]; internalField uniform (0 0 0); boundaryField { ".*" { type calculated; – 86 –
  25. 1 2 6 ୈ 3 ষ ૯ׅ೤఻ୡ཰ʢU ஋ʣͷܭࢉ 3.10 ݁Ռͷ֬ೝ

    ͢ɻU ஋ͷࢉग़ʹ͸ఆৗʹ͍ۙ t = 50000 s ͷσʔλΛ࢖͍·͢ɻ Թ౓෼෍ͷ֬ೝ ˛ ਤ 3.9: ParaView ʹΑΔܭࢉ݁ՌʢTime: 50000ʣ ɿԹ౓෼෍ʢ্ʣͱน໘೤ྲྀଋ ͷ෼෍ʢԼʣ ্ਤ͸ Time=50000 ʹ͓͚Δ݁ՌͰ͢ɻߴԹଆʢfluid_1ɺ303.15 Kʣ͔Βӈʹ޲ ͔ͬͯ૭ʢsolid_1ʣ ɾࣨ಺ʢfluid_2ʣ ɾนʢsolid_2ʣͷॱʹԹ౓͕Լ͕͍༷ͬͯ͘ࢠ ͕֬ೝͰ͖·͢ɻ੩ࢭྲྀମͷͨΊରྲྀ͸ͳ͘ɺԹ౓෼෍͸ x ํ޲ʹ΄΅Ұ༷Ͱ೤఻ಋ ͷΈͰ೤͕Ҡಈ͍ͯ͠·͢ɻ Լͷίϯλਤ͸น໘೤ྲྀଋʢwallHeatFluxʣͷ෼෍Ͱ͢ɻน໘೤ྲྀଋ͸ڥք໘Ͱ ͷΈఆٛ͞ΕΔྔͰɺਖ਼ෛͷූ߸͔Β೤͕ڥք໘ʹରͯ͠ͲͪΒ޲͖ʹྲྀΕ͍ͯΔ ͔͕൑அͰ͖·͢ɻ U ஋ͷࢉग़ wallHeatFlux ͷ function object ͰಘΒΕΔ஋͸໘ੵੵ෼ͨ͠೤ྔʢWʣͰ͢ɻ U ஋ͷࢉग़ʹ͸೤ྲྀଋʢW/m2ʣ͕ඞཁͳͷͰɺ೤ྔΛք໘໘ੵͰׂͬͯٻΊ·͢ɻ ࣜ 3.15: ೤ྲྀଋͷܭࢉ qavg = Q A surfaceFieldValue ͷ areaAverage ग़ྗΛ࢖͑͹௚઀໘ੵฏۉ೤ྲྀଋ͕ಘ ΒΕ·͢ɻ fluid_1_to_solid_1 ͷք໘͔Β໘ੵฏۉ೤ྲྀଋ͕ٻ·ͬͨͷͰɺࣜ – 117 –
  26. 1 3 0 ୈ 4 ষ ώʔτγϯΫͷ೤ྲྀମݻମ࿈੒ ղੳ ͜ͷষͰ͸ɺFreeCAD Ͱ࡞੒ͨ͠ώʔτγϯΫͷ

    CAD ϞσϧΛ࢖͍ɺ snappyHexMesh Ͱෳࡶܗঢ়ͷϝογϡΛੜ੒͠ɺchtMultiRegionFoam Ͱ೤ྲྀମݻମ࿈੒ղੳΛߦ͍·͢ɻൃ೤ݯΛ 10 ඵؒΦϯʹͯͦ͠ͷޙΦϑʹ ͢ΔඇఆৗղੳΛߦ͍ɺώʔτγϯΫ͕͋Δ͜ͱͰԹ౓্ঢ͕ͲΕ͚ͩ཈͑Β Εɺྫྷ٫͕ͲΕ͚ͩ଎͘ͳΔ͔Λ֬ೝ͠·͢ɻ 4.1 ղੳର৅ͱ໨త ώʔτγϯΫ͸ిࢠػثͷ์೤ʹ޿͘༻͍ΒΕΔ෦඼Ͱ͢ɻϑΟϯ ʢ์೤൘ʣ Λଟ਺ ઃ͚Δ͜ͱͰද໘ੵΛ૿΍͠ɺ ۭؾͱͷ೤ަ׵Λଅਐ͠·͢ɻຊষͰ͸ɺ ൃ೤ݯʹ 100 W Λ 10 ඵؒՃ͑ͨޙʹൃ೤ΛΦϑʹ͠ɺ ͦͷޙͷྫྷ٫աఔΛ chtMultiRegionFoam ʢඇఆৗιϧόʣͰղੳ͠·͢ɻ ղੳͷ໨త͸࣍ͷ 2 ఺Ͱ͢ɻ • ώʔτγϯΫ͕͋Δ͜ͱͰൃ೤தͷ࠷ߴԹ౓͕ͲΕ͚ͩ཈͑ΒΕΔ͔ • ώʔτγϯΫ͕͋Δ͜ͱͰൃ೤ఀࢭޙͷྫྷ٫଎౓͕ͲΕ͚ͩ଎͘ͳΔ͔ ຊষͰֶ΂Δ͜ͱ͸࣍ͷͱ͓ΓͰ͢ɻ • FreeCAD Ͱ࡞੒ͨ͠ STL ϑΝΠϧΛ OpenFOAM ͷεέʔϧʹม׵͢Δ ํ๏ • snappyHexMesh Λ࢖ͬͨෳࡶܗঢ়ͷϚϧνϦʔδϣϯϝογϡ࡞੒ • fvOptions ͷ timeStart / duration ʹΑΔ੍࣌ؒݶ෇͖ମੵൃ೤ͷ ઃఆ • ฒྻܭࢉʢ chtMultiRegionFoam -parallel ʣͷ࣮ߦखॱ – 121 –
  27. 1 3 1 ୈ 4 ষ ώʔτγϯΫͷ೤ྲྀମݻମ࿈੒ղੳ 4.2 ղੳϞσϧ*4 ຊষͰಘΒΕΔܭࢉ݁ՌͷΠϝʔδΛਤ

    4.1 ʹࣔ͠·͢ɻ heatSource heatSource 100W 100W heatSource 100W 0.5m/s ˛ ਤ 4.1: ղੳ݁ՌΠϝʔδɿԹ౓෼෍ͱྲྀ଎ϕΫτϧ ͳ͓ɺܭࢉྖҬʢղੳυϝΠϯʣ͸ώʔτγϯΫͷେ͖͞ʹରͯ͠े෼ͳ༨༟Λ࣋ ͨͤͳ͍ͱɺग़ޱڥք෇ۙͰٯྲྀ͕ੜͨ͡Γܭࢉ͕ෆ҆ఆʹͳͬͨΓ͢Δ͜ͱ͕͋Γ ·͢ɻ࣮ଌ஋ͱͷൺֱʹ͓͍ͯ΋ɺυϝΠϯ͕ڱ͗͢Δͱਫ਼౓͕௿Լ͢Δ৔߹͕͋Γ ·͢ɻຊষͰ͸ܭࢉෛՙΛ཈͑ΔͨΊʹυϝΠϯΛ΍΍ڱ͘ઃఆ͓ͯ͠Γɺඞͣ͠΋ ࠷దͳઃఆͱ͸ݴ͑·ͤΜɻ࣮ࡍͷղੳʹԠ༻͢Δࡍ͸υϝΠϯαΠζΛे෼ʹ޿͘ ͱΔ͜ͱΛਪ঑͠·͢ɻ 4.2 ղੳϞσϧ*1 ώʔτγϯΫͷܗঢ় ຊষͰ࢖༻͢ΔώʔτγϯΫϞσϧ͸ FreeCAD*2Ͱ͋Β͔͡Ί࡞੒ࡁΈͷ΋ͷΛ ༻ҙ͠·ͨ͠*3ɻਤ 4.2 ͸ FreeCAD ্ͰͷϞσϧͷ༷ࢠͰ͢ɻ *1 ຊষͷղੳέʔεʢώʔτγϯΫ͋Γʣ ɿhttps://github.com/kamakiri1225/OpenFOAM_con tents20/tree/main/003_heatsink/ana001_chtMultiRegionFoam *2 FreeCAD ͸ https://www.freecad.org ͔Βμ΢ϯϩʔυͰ͖·͢ɻ *3 ϞσϧϑΝΠϧʢSTLʣ͸ https://github.com/kamakiri1225/OpenFOAM_contents20/tre – 122 –
  28. 1 3 2 ୈ 4 ষ ώʔτγϯΫͷ೤ྲྀମݻମ࿈੒ղੳ 4.2 ղੳϞσϧ*5 ˛

    ਤ 4.2: FreeCAD Ͱ࡞੒ͨ͠ώʔτγϯΫϞσϧ ڵຯͷ͋Δํ͸ FreeCAD ΛΠϯετʔϧͯ͠ɺϞσϧ࡞੒͔Βࢼͯ͠Έͯͩ͘ ͍͞ɻ heatSink heatSink heatSink box box box basis basis basis heatSource heatSource heatSource ˛ ਤ 4.3: ώʔτγϯΫϞσϧͷ֓ཁʢmm ୯Ґʣ ώʔτγϯΫ͸ FreeCAD Ͱઃܭͨ͠ϑΟϯ෇͖์೤ثͰ͢ɻώʔτγϯΫຊମ ʢ heatSink ʣͷఈ໘ʹൃ೤ݯʢ heatSource ʣ͕͋ΓɺͦͷԼʹج൘ʢ basis ʣ ͕഑ஔ͞Ε͍ͯ·͢ɻϑΟϯͷؒΛۭؾ͕ྲྀΕɺ೤Λ֎෦ʹӡͼग़͠·͢ɻ FreeCAD Ͱͷઃܭ͸ mm ୯ҐͰߦ͍ͬͯ·͢ɻSTL ϑΝΠϧࣗମ͸਺஋ͷ e/main/003_heatsink/ana001_base/model Ͱެ։͍ͯ͠·͢ɻ – 123 –
  29. 1 3 5 ୈ 4 ষ ώʔτγϯΫͷ೤ྲྀମݻମ࿈੒ղੳ 4.4 νϡʔτϦΞϧͷίϐʔ プリ処理

    モデル作成 メッシュ作成 解析設定 計算実行 結果処理 FreeCAD blockMesh surfaceFeatureExtract snappyHexMesh splitMeshRegions ソルバ ポスト処理 OpenFOAM ParaView Python gnuplot ˛ ਤ 4.5: ղੳϑϩʔʢୈ 2 ষͱڞ௨ʣ ຊ ষ Ͱ ͸ ୈ 2 ষ ͷ ྲྀ Ε ʹ Ճ ͑ ɺSTL ͷ ε έ ʔ ϧ ม ׵ʢFreeCAD ͷ mm ୯ Ґ ˠ OpenFOAM ͷ m ୯ Ґ ʣͱ ฒ ྻ ܭ ࢉʢ decomposePar ˠ chtMultiRegionFoam -parallel ʣ͕ՃΘΓ·͢ɻ 4.4 νϡʔτϦΞϧͷίϐʔ ઃఆϑΝΠϧͷͻͳܗͱͯ͠ɺOpenFOAM ʹ෇ଐͷνϡʔτϦΞϧέʔεΛί ϐʔ͠·͢ɻ ˝ νϡʔτϦΞϧͷίϐʔ $ mkdir -p $FOAM_RUN/003_heatsink $ cp -r $FOAM_TUTORIALS/heatTransfer/chtMultiRegionFoam/snappyM› ›ultiRegionHeater/* \ $FOAM_RUN/003_heatsink/ $ cd $FOAM_RUN/003_heatsink snappyMultiRegionHeater ν ϡ ʔ τ Ϧ Ξ ϧ ͸ Ϛ ϧ ν Ϧ ʔ δ ϣ ϯ ͷ CHT έ ʔ ε Ͱ ͋ Γ ɺຊ ষ ͷ ղ ੳ ͱ ߏ ੒ ͕ ۙ ͍ ͨ Ί ɺઃ ఆ ϑ Ν Π ϧ ͷ ྲྀ ༻ ͕ ༰ қ Ͱ ͢ ɻ· ͨ ɺಛ ௃ ઢ ந ग़ ༻ ͷ ઃ ఆ ͸ motorBike ν ϡ ʔ τ Ϧ Ξ ϧ ͷ surfaceFeatureExtractDict Λͻͳܗʹ͠·͢ɻ – 126 –
  30. 1 5 6 ୈ 4 ষ ώʔτγϯΫͷ೤ྲྀମݻମ࿈੒ղੳ 4.9 ݁Ռͷ֬ೝ ˛

    ਤ 4.10: t = 10 s ͷԹ౓෼෍ ˛ ਤ 4.11: t = 50 s ͷԹ౓෼෍ ೤ྔͱԹ౓ͷ࣌ࠁྺ postProcessing ʹग़ྗ͞Εͨ࣌ࠁྺσʔλΛ࢖͍ɺൃ೤ɾྫྷ٫ͷաఔΛఆྔత ʹ֬ೝ͠·͢ɻ heatSource r heatSink ք໘ͷ೤ྔ ͜͜Ͱ wallHeatFlux ͷग़ྗʹ͍ͭͯ஫ҙ఺͕͋Γ·͢ɻ wallHeatFlux ͸ – 147 –
  31. 1 5 8 ୈ 4 ষ ώʔτγϯΫͷ೤ྲྀମݻମ࿈੒ղੳ 4.9 ݁Ռͷ֬ೝ heatSource

    r heatSink ք໘ͷฏۉԹ౓ ࣍ʹɺಉ͡ք໘ͷ໘ੵฏۉԹ౓ͷ࣌ࠁྺΛ֬ೝ͠·͢ʢਤ 4.13ʣ ɻ 0 10 20 30 40 50 Time [s] 294 296 298 300 302 304 306 Temperature [K] Average interface temperature history Tavg heatSource_to_heatSink Tavg heatSink_to_heatSource ˛ ਤ 4.13: heatSource r heatSink ք໘ͷฏۉԹ౓ͷ࣌ࠁྺ ൃ೤ʹ൐͍ք໘Թ౓͸ॳظ஋ 293.15 K ͔Β্ঢ͠ɺt = 10 s ʹ໿ 306 Kʢ໿ 13 K ্ঢʣͰϐʔΫΛܴ͑·͢ɻt = 10 s Ҏ߱͸ൃ೤͕ఀࢭ͢ΔͨΊԹ౓͸௿Լʹస ͡ɺྫྷ٫աఔʹೖΓ·͢ɻt = 50 s ࣌఺Ͱ΋໿ 301 K ఔ౓ʹͱͲ·͓ͬͯΓɺ·ͩ ׬શʹ͸ྫྷ͍͑ͯ·ͤΜɻ 2 ຊͷۂઢ͕΄΅Ұக͍ͯ͠Δ͜ͱ͸ɺք໘ͷԹ౓࿈ଓੑ͕อͨΕ͍ͯΔ͜ͱΛࣔ ͍ͯ͠·͢ɻ – 149 –
  32. 1 5 9 ୈ 4 ষ ώʔτγϯΫͷ೤ྲྀମݻମ࿈੒ղੳ 4.10 ώʔτγϯΫ͋Γɾͳ͠ͷൺֱ ώʔτιʔε্໘ͷ֬ೝ

    heatSource heatSource 上面の平均温度 上面の平均温度 heatSource 上面の平均温度 ˛ ਤ 4.14: ParaView ʹΑΔ heatSource ্໘ʢܭଌର৅໘ʣͷ֬ೝ ্هͷԹ౓άϥϑͰूܭ͍ͯ͠Δ໘͕ heatSource ͷ্໘ʢheatSink ͱͷ઀৮໘ʣ Ͱ͋Δ͜ͱΛ ParaView Ͱ֬ೝͨ͠ਤͰ͢ɻ໼ҹ͕ࢦ͢໘ͷ໘ੵฏۉԹ౓͕࣌ࠁྺά ϥϑͷ஋ʹରԠ͍ͯ͠·͢ɻ 4.10 ώʔτγϯΫ͋Γɾͳ͠ͷൺֱ ຊষͰѻͬͨέʔεͷώʔτγϯΫΛऔΓআ͍ͨϞσϧͰಉ͡ղੳΛߦ͍ɺώʔτ γϯΫͷ༗ແʹΑΔԹ౓্ঢͷҧ͍Λൺֱ͠·͢ɻ ʮͳ͠ʯέʔεͷղੳઃఆ͸جຊతʹຊষͱಉ͡खॱͰߏஙͰ͖·͢ɻώʔτγϯ Ϋͷ STL Λআ͍ͯϦʔδϣϯΛ 3 ͭʢ air ɾ heatSource ɾ basis ʣʹมߋ͢ Δͷ͕ओͳมߋ఺Ͱ͢ɻͥͻຊষͷखॱΛࢀߟʹࣗ෼ͰઃఆΛௐ੔ͯ͠Έͯͩ͘͞ ͍ɻൺֱέʔεͷ݁ՌϑΝΠϧ͸ GitHub*8Ͱެ։͍ͯ͠·͢ɻ ਤ 4.15 ʹɺt = 10 s ࣌఺ͷԹ౓෼෍ͷൺֱΛࣔ͠·͢ɻ *8 ώʔτγϯΫ͋Γɿhttps://github.com/kamakiri1225/OpenFOAM_contents20/tree/mai n/003_heatsink/ana001_chtMultiRegionFoam ʗ ώʔτγϯΫͳ͠ɿhttps://github.co m/kamakiri1225/OpenFOAM_contents20/tree/main/003_heatsink/ana001_chtMultiRe gionFoam_Noheatsink – 150 –
  33. 1 6 0 ୈ 4 ষ ώʔτγϯΫͷ೤ྲྀମݻମ࿈੒ղੳ 4.10 ώʔτγϯΫ͋Γɾͳ͠ͷൺֱ ヒートシンクあり

    ヒートシンクなし ˛ ਤ 4.15: t = 10 s ʹ͓͚ΔԹ౓෼෍ͷൺֱʢࠨɿώʔτγϯΫ͋Γɺӈɿͳ͠ʣ ώʔτγϯΫ͋ΓͷέʔεͰ͸ɺheatSource Ͱൃੜͨ͠೤͸·ͣݻମʢheatSinkʣ ΁ͱ఻ΘΓ·͢ɻheatSink ͸ϑΟϯʹΑۭͬͯؾͱͷ઀৮໘ੵ͕େ͖͘ɺۭؾྲྀΕ ͱͷରྲྀ೤఻ୡ͕ଅਐ͞ΕΔͨΊɺ೤͕ޮ཰Α͘ಀ͛·͢ɻ ҰํɺώʔτγϯΫͳ͠ͷέʔεͰ͸์೤ϑΟϯ͕ͳ͘ද໘ੵ͕খ͍ͨ͞Ίɺۭؾ ͱͷ೤ަ׵͕ෆे෼ʹͳΓɺheatSource ෇ۙͷԹ౓্ঢ͕େ͖͘ͳΓ·͢ɻ ਤ 4.16 ʹɺώʔτγϯΫ͋Γɾͳͦ͠ΕͧΕͷ heatSource ্໘ͷฏۉԹ౓ͷ࣌ ࠁྺΛࣔ͠·͢ɻ – 151 –
  34. 1 6 1 ୈ 4 ষ ώʔτγϯΫͷ೤ྲྀମݻମ࿈੒ղੳ 4.11 ·ͱΊ 0

    10 20 30 40 Time [s] 295 300 305 310 315 320 325 Temperature [K] Average interface temperature comparison with heatsink : heatSource to heatSink No heatsink : heatSource to air ˛ ਤ 4.16: ώʔτγϯΫ͋Γɾͳ͠ͷ೤ݯ্໘ฏۉԹ౓ͷ࣌ࠁྺൺֱ ώʔτγϯΫͳ͠ͷέʔεͰ͸Թ౓্ঢ͕େ͖͘ɺൃ೤ఀࢭޙͷྫྷ٫଎౓΋஗͍͜ ͱ͕֬ೝͰ͖·͢ɻ͜ͷΑ͏ʹώʔτγϯΫͷޮՌ͸ද໘ੵͷ֦େʹΑΔରྲྀ೤఻ୡ ͷଅਐʹ͋Δ͜ͱ͕άϥϑ͔ΒಡΈऔΕ·͢ɻ 4.11 ·ͱΊ ຊষͰ͸࣍ͷखॱͰώʔτγϯΫͷ೤ྲྀମղੳΛߦ͍·ͨ͠ɻ • surfaceTransformPoints Ͱ FreeCAD ͷ STL Λ m ୯Ґʹม׵͢Δํ๏ • sed Ͱ STL ͷϦʔδϣϯ໊Λ snappyHexMeshDict ͷهड़ʹ߹ΘͤΔम ਖ਼ํ๏ • locationsInMesh ʹ 4 ఺Λࢦఆͯ͠ 1 ྲྀମʴ 3 ݻମͷϚϧνϦʔδϣϯ ϝογϡΛੜ੒͢Δํ๏ • fvOptions ͷ timeStart / duration Ͱൃ೤Λ 10 ඵؒʹݶఆ͢Δઃఆ ํ๏ • decomposePar -allRegions ͱ chtMultiRegionFoam -parallel ʹ ΑΔฒྻܭࢉͷ࣮ߦํ๏ ൃ೤ظؒʢ0ʙ10 sʣͱྫྷ٫ظؒʢ10 s Ҏ߱ʣΛ࿈ଓͯ͠ղੳ͢Δ͜ͱͰɺώʔτ – 152 –
  35. 1 7 8 ͋ͱ͕͖ ຊॻΛ͝ߪೖ͍͖ͨͩ͋Γ͕ͱ͏͍͟͝·͢ɻຊॻͰ͸ɺϚϧνϦʔδϣϯιϧό Λ࢖ͬͨ೤ྲྀମݻମ࿈੒ղੳΛςʔϚʹղઆΛߦ͍·ͨ͠ɻࠓճ͸ OpenFOAM ͷ ଟ༷ͳػೳͷҰ෦ͷΈΛ͝঺հͰ͖·͕ͨ͠ɺ͞Βʹৄࡉͳઆ໌͕ඞཁͳ఺΋͋Δ͔ ͱࢥ͍·͢ɻ

    ຊॻΛ͖͔͚ͬʹࣗ͝਎ͰγϛϡϨʔγϣϯ͍ͨ͠಺༰ʹ౰ͯ͸Ί͍͚ͯͨͩΕ͹ ͱࢥ͍·͢ɻ Ӊ஦ʹೖͬͨΧϚΩϦ • Xɿhttps://x.com/t_kun_kamakiri • ϒϩά URLɿhttps://takun-physics.net/ – 169 –
  36. 1 7 9 OpenFOAM ࣗ୐ͰਂΊΔ ೤ྲྀମղੳͷجૅͱԠ༻ (2) 2026 ೥ 4

    ݄ 11 ೔ɹ ver 1.0 ʢٕज़ॻయ 20ʣ ஶɹऀ Ӊ஦ʹೖͬͨΧϚΩϦ ൃߦऀ ΧϚΩϦ ࿈བྷઌ https://takun-physics.net/ https://x.com/t_kun_kamakiri ҹ࡮ॴ Ӊ஦ʹೖͬͨΧϚΩϦ © 2026 Ӊ஦ʹೖͬͨΧϚΩϦ (powered by Re:VIEW Starter)