Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
【技術書典20】OpenFOAM(自宅で深める流体解析)流れと熱移動(2)
Search
kamakiri1225
May 02, 2026
Technology
460
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
【技術書典20】OpenFOAM(自宅で深める流体解析)流れと熱移動(2)
kamakiri1225
May 02, 2026
More Decks by kamakiri1225
See All by kamakiri1225
【技術書典18】OpenFOAM 自宅で深める流体解析の基礎と応用 (1)
kamakiri1225
0
480
OpenRadiossSafetyダミーモデルの紹介
kamakiri1225
0
320
20230518数値流体解析の基礎
kamakiri1225
0
110
20241109_OpenRadiossを用いたエアバッグ 解析のモデル構築
kamakiri1225
0
870
【技術書典17】OpenFOAM(自宅で極める流体解析)2次元円柱まわりの流れ
kamakiri1225
0
2.9k
20201205_final_report_水の物性_光の速度計算.pdf
kamakiri1225
0
65
20201208_final_report_光の速度計算.pdf
kamakiri1225
0
45
第100回オープンCAE勉強会@関西
kamakiri1225
0
470
【技術書典16】OpenFOAM(自宅ではじめる流体解析)
kamakiri1225
0
2k
Other Decks in Technology
See All in Technology
Building applications in the Gemini API family.
line_developers_tw
PRO
0
2.3k
サプライチェーンセキュリティの空白地帯 - 信頼できる”依存性”の未来を考える
rung
PRO
2
790
個人最適 から 全体最適 へ AI情報共有会・AIギルド・AI-DLC で進める カンリーの組織展開
rfdnxbro
0
1.9k
自律型AIエージェントは何を破壊するのか
kojira
0
120
新しいVibe Codingと”自走”について
watany
5
200
React、まだ楽しくて草
uhyo
7
4.2k
作って終わりにしない タイミーのセマンティックレイヤー育成の現在地
chanyou0311
1
910
Terraformモジュールは、なぜ「魔境」化するのか
hayama17
2
220
ITエンジニアを取り巻く環境とキャリアパス / A career path for Japanese IT engineers
takatama
4
1.8k
Platform engineering for developers, architects & the rest of us (AI agents)
danielbryantuk
0
190
もりもり新機能を一挙紹介! AgentCoreに入門して、AWS上にAIエージェントを構築しよう
minorun365
PRO
6
860
Agentic Web
dynamis
1
180
Featured
See All Featured
Designing Powerful Visuals for Engaging Learning
tmiket
1
400
Visualization
eitanlees
152
17k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
200
Odyssey Design
rkendrick25
PRO
2
690
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.2k
Technical Leadership for Architectural Decision Making
baasie
3
400
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
330
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
Navigating Team Friction
lara
192
16k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.5k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
720
Transcript
None
1 OpenFOAM — ࣗͰਂΊΔ ྲྀମղੳͷجૅͱԠ༻ (2) — ʦஶʧӉʹೖͬͨΧϚΩϦ ٕज़ॻయ 20ʢ2026
य़ʣ৽ץ 2026 4 ݄ 11 ɹ ver 1.0
2 ˙໔ ຊॻใͷఏڙͷΈΛతͱ͍ͯ͠·͢ɻ ຊॻͷ༰Λ࣮ߦɾద༻ɾӡ༻ͨ͜͠ͱͰԿ͕ى͖Α͏ͱɺͦΕ࣮ߦɾద༻ɾӡ༻ͨ͠ਓ ࣗͷͰ͋Γɺஶऀؔऀ͍͔ͳΔෛ͍·ͤΜɻ ˙ඪ ຊॻʹొ͢ΔγεςϜ໊໊ɺ֤ؔࣾͷඪ·ͨొඪͰ͢ɻ ·ͨຊॻͰɺ™ɺ®ɺ© ͳͲͷϚʔΫলུ͍ͯ͠·͢ɻ
3 ͡Ίʹ ຊॻΛखʹऔ͍͖ͬͯͨͩɺ͋Γ͕ͱ͏͍͟͝·͢ɻ ຊॻʹ͍ͭͯ ຊॻͰɺΦʔϓϯιʔεͷྲྀମղੳιϑτΣΞͰ͋Δ OpenFOAM Λ༻͍ ͯɺݻମͱྲྀମͷ࿈ղੳʢڞୡղੳʣΛֶͿ͜ͱΛతͱ͍ͯ͠·͢ɻஶ ऀ͕͜Ε·ͰϒϩάͰެ։ֶ͖ͯͨ͠शίϯςϯπΛϕʔεʹɺ༰ͷ࠶ߏͱՃ චमਖ਼Λߦ͍ɺΑΓಡΈ͘͢ɺΑΓ࣮ફతͳܗʹ·ͱΊͨͷͰ͢
*1ɻ ͜Ε·Ͱͷٕज़ॻʹ͍ͭͯ ຊγϦʔζͰɺࣗͰྲྀମղੳͷεΩϧΛຏ͘͜ͱΛ೦಄ʹஔ͖ɺOpenFOAM Λͬͨղੳͷجૅ͔Βஈ֊తʹֶΔ༰Λൃ৴͖ͯ͠·ͨ͠ɻ ٕज़ॻయ 16ʮOpenFOAMʢࣗͰ࢝ΊΔྲྀମղੳʣ ʯ[6] ͰɺOpenFOAM ͷಋ ೖ͔ΒԁͷྲྀྲྀΕΛࡐʹͨ͠࠷ॳͷҰาΛհ͠·ͨ͠ɻ ٕज़ॻయ 17ʮOpenFOAMʢࣗͰۃΊΔྲྀମղੳʣ ʯ[7] Ͱɺԁப·ΘΓͷྲྀΕ ΛࡐʹɺϨΠϊϧζʹΑΔྲྀΕͷมԽΛѻ͍·ͨ͠ɻ ٕज़ॻయ 18ʮOpenFOAMʢࣗͰਂΊΔ ྲྀମղੳͷجૅͱԠ༻ (1)ʣ ʯ[8] Ͱ ɺුྗΩϟϏςΟʹΑΔࣗવରྲྀɺԁྲྀΕͷҠಈɺԁப·ΘΓͷྲྀΕΛࡐ ʹɺOpenFOAM ʹ͓͚ΔྲྀମղੳͷجૅΛհ͠·ͨ͠ɻ ͍ͣΕͷࢠͰɺܭࢉ݁ՌΛͨͩग़͚ͩ͢Ͱͳ͘ɺཧ࣮ࣜݧ݁ՌͱরΒ͠߹ ΘͤͯଥੑΛ֬ೝ͢ΔϓϩηεΛॏࢹ͖ͯ͠·ͨ͠ɻࣗͰਖ਼͘͠ҙຯͷ͋Δ݁ ՌΛಘΒΕΔͱ͍͏࣮ײΛ͍࣋ͬͯͨͩ͘͜ͱ͕ɺγϦʔζΛ௨ͨ͡ૂ͍ͷͻͱͭ Ͱ͢ɻ ຊॻͷҐஔ͚ͮ ຊॻͰɺ͜Ε·Ͱͷ༰Λ౿·͑ͨ͏͑Ͱɺ৽ͨʹϚϧνϦʔδϣϯιϧόΛ༻ ͍ͨݻମ-ྲྀମͷ࿈ղੳʹઓ͠·͢ɻ ͜Ε·ͰͷγϦʔζͰɺཧ࣮ࣜݧ݁ՌͱͷൺֱΛ௨ͯ͡ղੳͷجૅྗΛཆ͏ ͜ͱʹॏΛஔ͍͖ͯ·͕ͨ͠ɺຊॻͰΑΓ࣮ʹ͍ۙܗͰద༻Ͱ͖Δ༰Λѻ͍ ·͢ɻOpenFOAM ͷϚϧνϦʔδϣϯιϧόΛ͏͜ͱͰɺݻମྖҬͱྲྀମྖҬ Λಉ࣌ʹѻ͍ɺͦΕͧΕͷԹΛ࿈ͤͯ͞ղ͘͜ͱ͕ՄೳʹͳΓ·͢ɻ͜Εɺ *1 ӉʹೖͬͨΧϚΩϦɿhttps://takun-physics.net/ – i –
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 –
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 –
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 –
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 –
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 –
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 –
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 –
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 –
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 –
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 –
2 1 ୈ 1 ষ ϚϧνϦʔδϣϯιϧόͷ֓ཁ 1.4 νϡʔτϦΞϧͷྫ ˛ ਤ
1.4: externalSolarLoad ͷܭࢉ݁Ռ ଠཅࣹͷΑ͏ͳ໌Β͔ͳࣹݱͰ͋ΕɺҙࣝతʹղੳΈࠐΉͱࢥ͍· ͢ɻҰํɺࣗવքͷ͋ΒΏΔݱʹࣹ͕ଘࡏ͓ͯ͠Γɺࣹݫີʹθϩ Ͱ͋Γ·ͤΜɻॏཁͳͷʮࣹΛແࢹͰ͖Δ͔Ͳ͏͔ʯΛஅ͢Δ͜ͱͰ͢ɻ ऩࢧʹΊΔࣹͷׂ߹͕খ͚͞Εলུͯ݁͠ՌͷӨڹܰඍͰ͕͢ɺࣗવ ରྲྀ͕ӽ͢Δ֎ɾࣨڥɺߴԹ໘ɾଠཅࣹ͕ଘࡏ͢Δঢ়گͰɺࣹ͕ ऩࢧશମʹରͯ͠ແࢹͰ͖ͳׂ͍߹ΛΊΔ͜ͱ͕͋Γ·͢ɻࣹΛߟྀ͠ͳ͍· ·͜ͷΑ͏ͳղੳΛߦ͏ͱɺԹྔΛਖ਼͘͠࠶ݱͰ͖ͳ͍ͨΊҙ͕ඞཁͰ ͢ɻࣹܭࢉͷೖྫͱͯ͠ multiRegionHeaterRadiation ڍ͛ΒΕ·͢ɻ ͜ͷνϡʔτϦΞϧڧ੍ରྲྀͷఆৗղੳͰ͕͢ɺ multiRegionHeater ͱಉ͡ߏ ʹࣹΛՃͨ͠ͷͰ͋ΔͨΊɺࣹઃఆͷཧղʹऔΓΈ͍͢ߏʹͳͬͯ ͍·͢ɻ windshieldCondensationɿ࣪ͷܭࢉʢ݁࿐ͱৠൃʣ windshieldCondensation ɺࣗಈंͷϑϩϯτΨϥεΛͨ͠ݻମ-ྲྀମ࿈ Ϟσϧʹਫৠؾͷ༌ૹͱ݁࿐ɾৠൃͷ૬มԽΛΈࠐΜͩνϡʔτϦΞϧͰ͢*3ɻ ंࣨʢcabinʣʹۭ࣪ͬͨؾ͕ଘࡏ͢Δͱ͖ɺΨϥεද໘ͷԹ͕࿐ҎԼʹͳΔ ͱ݁࿐͕ੜ͡ɺஆͳͲͰԹ্͕ঢ͢Δͱৠൃ͕ى͜Δɺͱ͍͏ݱΛγϛϡϨʔ τ͠·͢ɻ *3 $FOAM_TUTORIALS/heatTransfer/chtMultiRegionFoam/windshieldCondensation – 12 –
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 –
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 –
2 9 ୈ 1 ষ ϚϧνϦʔδϣϯιϧόͷ֓ཁ 1.4 νϡʔτϦΞϧͷྫ ˛ ਤ
1.9: solidQuenching2D ͷܭࢉ݁Ռ ΦΠϥʔ-ΦΠϥʔ๏ͱ ͜ͷιϧόͷ֩৺ΦΠϥʔ-ΦΠϥʔʢEuler-Eulerʣ๏ʹΑΔೋ૬ྲྀϞσϧͰ ͢ɻΦΠϥʔ-ΦΠϥʔ๏Ͱɺӷ૬ʢwaterʣͱؾ૬ʢsteamʣΛͲͪΒ࿈ଓମͱ ͯ͠ѻ͍ɺಉ͡ॴʹۭؒతʹॏͳΓ߹ͬͯଘࡏ͢ΔͷͱΈͳ͠·͢ɻ֤૬ಠཱ ͨ͠ɾԹɾମੵʢαʣΛ࣋ͪɺ૬ؒͷྗͷΓऔΓʢ߅ྗɾ༲ྗɾԾ ࣭ྔྗʣɾ࣭ྔͷҠಈΛϞσϧࣜͰ༩͑·͢ɻؾ๐Λݸʑʹ͠ͳ͍ͨΊɺେ ྔͷؾ๐ΛؚΉಅྲྀΛݱ࣮తͳίετͰղ͘͜ͱ͕Ͱ͖·͢ɻ phaseProperties Ͱؾ૬ɾӷ૬ͷϞσϧΛ࣍ͷΑ͏ʹఆٛ͠·͢ɻ ˝ Ϧετ 1.8: constant/water/phasePropertiesʢൈਮʣ type thermalPhaseChangeTwoPhaseSystem; – 20 –
3 3 ୈ 2 ষ νϡʔτϦΞϧͷ࣮ߦ ʢsnappyMultiRegionHeaterʣ ຊষͰɺOpenFOAM ʹಉࠝ͞Ε͍ͯΔϚϧνϦʔδϣϯνϡʔτϦΞϧ snappyMultiRegionHeater
Λ࣮ࡍʹ࣮ߦ͠ͳ͕ΒɺઃఆϑΝΠϧͷߏͱ खॱΛҰ௨Γཧղ͢Δ͜ͱΛඪͱ͠·͢ɻ ϚϧνϦʔδϣϯιϧόɺ୯ҰྖҬͷιϧόͱൺͯઃఆ͕ෳࡶͰ͢ɻྲྀ ମɾݻମͦΕͧΕͷྖҬ͝ͱʹੑɾڥք݅ɾεΩʔϜͷઃఆϑΝΠ ϧΛݸผʹ༻ҙ͠ͳ͚ΕͳΒͳ͍ͨΊͰ͢ɻ࠷ॳ͔ΒΦϦδφϧϞσϧͰ࢝ ΊΔͱ͖͍᪴ͨ͢Ίɺ·ͣެࣜνϡʔτϦΞϧΛͦͷ··ಈ͔ͯ͠ઃఆΛಡ Έղ͘͜ͱ͕ۙಓͰ͢ɻ 2.1 ղੳରͱత ຊষͰɺ ୈ 1 ষͰհͨ͠νϡʔτϦΞϧͷத͔Β snappyMultiRegionHeater ΛऔΓ্͛ɺϚϧνϦʔδϣϯղੳͷجຊૢ࡞Λֶͼ·͢ɻ ຊղੳݻମ-ྲྀମͷڞୡʢCHTʣΛରͱͨ͠ඇఆৗղੳͰ͢ɻιϧό ʹ chtMultiRegionFoam Λ༻͠ɺݻମྖҬʢheaterɺleftSolidɺrightSolidʣͱ ྲྀମྖҬʢtopAirɺbottomAirʣͷԹΛ࣌ؒൃలͤ͞ͳ͕Βಉ࣌ʹղ͖·͢ɻ ͜ͷνϡʔτϦΞϧͰɺதԝʹஔͨ͠ݻମώʔλʔʢheaterʣͷԼ໘ʹߴԹڥ ք݅Λ༩͑ɺώʔλʔ͔Β্ԼͷۭؾྖҬʢtopAirɺbottomAirʣʹ͕ΘΔա ఔΛܭࢉ͠·͢ɻsnappyHexMesh Λ༻͍ͨϝογϡ࡞ؚ͕·Ε͓ͯΓɺSTL ϑΝ Πϧ͔ΒϝογϡΛੜ͢Δ࣮ફతͳख๏߹ΘֶͤͯͿ͜ͱ͕Ͱ͖·͢ɻຊষΛ௨ ͯ͡ɺྖҬׂɾڥք݅ઃఆɾՄࢹԽ·ͰͷҰ࿈ͷखॱΛशಘ͢Δ͜ͱ͕ඪͰ͢ɻ – 24 –
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 –
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 –
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 –
8 5 ୈ 3 ষ ૯ׅୡʢU ʣͷܭࢉ 3.1 ղੳରͱత ˛
ਤ 3.1: ॅʹ͓͚Δෛՙͷࣜਤ ˝ ද 3.1: ݐࡐ͝ͱͷ U ͷ҆ ݐࡐ U ͷ҆ [W/(mu K)] ಛ ୯൘Ψϥε૭ 6.0 அੑ͕͕͘ಀ͍͛͢ ෳΨϥε૭ 2.0ʙ3.0 ۭؾͰஅੑΛ্ थࢷαογ +Low-E ෳΨϥε 0.9ʙ1.5 ߴஅॅ͚ Ұൠతͳ֎นʢஅࡐೖΓʣ 0.3ʙ0.6 அࡐͷްΈͰมΘΔ ྲྀମʢۭؾʣྖҬͱݻମʢΨϥεʣྖҬΛΈ߹ΘͤͨϚϧνϦʔδϣϯϞσϧΛ ࡞͠ɺ૯ׅୡʢU ʣΛ OpenFOAM Ͱࢉग़ͯ͠ཧͱൺֱ͠·͢ɻ – 76 –
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 –
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 –
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 –
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 –
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 –
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 –
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 –
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 –
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 –
1 5 6 ୈ 4 ষ ώʔτγϯΫͷྲྀମݻମ࿈ղੳ 4.9 ݁Ռͷ֬ೝ ˛
ਤ 4.10: t = 10 s ͷԹ ˛ ਤ 4.11: t = 50 s ͷԹ ྔͱԹͷ࣌ࠁྺ postProcessing ʹग़ྗ͞Εͨ࣌ࠁྺσʔλΛ͍ɺൃɾྫྷ٫ͷաఔΛఆྔత ʹ֬ೝ͠·͢ɻ heatSource r heatSink ք໘ͷྔ ͜͜Ͱ wallHeatFlux ͷग़ྗʹ͍ͭͯҙ͕͋Γ·͢ɻ wallHeatFlux – 147 –
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 –
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 –
1 6 0 ୈ 4 ষ ώʔτγϯΫͷྲྀମݻମ࿈ղੳ 4.10 ώʔτγϯΫ͋Γɾͳ͠ͷൺֱ ヒートシンクあり
ヒートシンクなし ˛ ਤ 4.15: t = 10 s ʹ͓͚ΔԹͷൺֱʢࠨɿώʔτγϯΫ͋Γɺӈɿͳ͠ʣ ώʔτγϯΫ͋ΓͷέʔεͰɺheatSource Ͱൃੜͨ͠·ͣݻମʢheatSinkʣ ͱΘΓ·͢ɻheatSink ϑΟϯʹΑۭͬͯؾͱͷ৮໘ੵ͕େ͖͘ɺۭؾྲྀΕ ͱͷରྲྀୡ͕ଅਐ͞ΕΔͨΊɺ͕ޮΑ͘ಀ͛·͢ɻ ҰํɺώʔτγϯΫͳ͠ͷέʔεͰ์ϑΟϯ͕ͳ͘ද໘ੵ͕খ͍ͨ͞Ίɺۭؾ ͱͷަ͕ෆेʹͳΓɺheatSource ۙͷԹ্ঢ͕େ͖͘ͳΓ·͢ɻ ਤ 4.16 ʹɺώʔτγϯΫ͋Γɾͳͦ͠ΕͧΕͷ heatSource ্໘ͷฏۉԹͷ࣌ ࠁྺΛࣔ͠·͢ɻ – 151 –
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 –
1 7 8 ͋ͱ͕͖ ຊॻΛ͝ߪೖ͍͖ͨͩ͋Γ͕ͱ͏͍͟͝·͢ɻຊॻͰɺϚϧνϦʔδϣϯιϧό Λͬͨྲྀମݻମ࿈ղੳΛςʔϚʹղઆΛߦ͍·ͨ͠ɻࠓճ OpenFOAM ͷ ଟ༷ͳػೳͷҰ෦ͷΈΛ͝հͰ͖·͕ͨ͠ɺ͞Βʹৄࡉͳઆ໌͕ඞཁͳ͋Δ͔ ͱࢥ͍·͢ɻ
ຊॻΛ͖͔͚ͬʹࣗ͝ͰγϛϡϨʔγϣϯ͍ͨ͠༰ʹͯΊ͍͚ͯͨͩΕ ͱࢥ͍·͢ɻ ӉʹೖͬͨΧϚΩϦ • Xɿhttps://x.com/t_kun_kamakiri • ϒϩά URLɿhttps://takun-physics.net/ – 169 –
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)