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

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

 【技術書典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)