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
【技術書典17】OpenFOAM(自宅で極める流体解析)2次元円柱まわりの流れ
Search
kamakiri1225
November 01, 2024
Technology
3k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
【技術書典17】OpenFOAM(自宅で極める流体解析)2次元円柱まわりの流れ
kamakiri1225
November 01, 2024
More Decks by kamakiri1225
See All by kamakiri1225
【技術書典20】OpenFOAM(自宅で深める流体解析)流れと熱移動(2)
kamakiri1225
0
500
【技術書典18】OpenFOAM 自宅で深める流体解析の基礎と応用 (1)
kamakiri1225
0
500
OpenRadiossSafetyダミーモデルの紹介
kamakiri1225
0
330
20230518数値流体解析の基礎
kamakiri1225
0
110
20241109_OpenRadiossを用いたエアバッグ 解析のモデル構築
kamakiri1225
0
880
20201205_final_report_水の物性_光の速度計算.pdf
kamakiri1225
0
68
20201208_final_report_光の速度計算.pdf
kamakiri1225
0
46
第100回オープンCAE勉強会@関西
kamakiri1225
0
470
【技術書典16】OpenFOAM(自宅ではじめる流体解析)
kamakiri1225
0
2.1k
Other Decks in Technology
See All in Technology
螺旋型キャリアの生存戦略 / kinoko-conf2026
rakus_dev
1
950
アジャイルな経理と Claude Code と経営の未来
kawaguti
PRO
3
190
時期が悪い!それでもRaspberry Piを買って遊んで活用するには / 20260627-osc26do-rpi-jikigawarui
akkiesoft
0
780
コミュニティの有益性 ~JAWS Days 2026 での体験を通して~ / The Benefits of a Community ~Through My Experience at JAWS Days 2026~
seike460
PRO
0
270
Multi-Agent並列開発を 安全に回すための技術 / Technology for Safely Multi-Agent Parallel Development
tooppoo
0
140
Agile and AI Redmine Japan 2026
hiranabe
4
470
Flow 不死:AI 時代 DevOps 的不變本質
cheng_wei_chen
2
500
[AWS Summit Japan 2026]迷っているあなたへ_小さな一歩が、やがて自分を助けてくれる
sh_fk2
2
400
脱SaaS!FDEを支えるプロビジョニングと分離設計
knih
0
300
2026-06-24_人とAIの責務分離に基づく開発プロセスの提案.pdf
takahiromatsui
0
120
スタートアップにAmazon EKSは早すぎる? マルチプロダクト戦略を加速する Platform Engineeringの実践 / Is Amazon EKS Too Soon for Startups? Practical Platform Engineering to Accelerate a Multi-Product Strategy
elmodev09
1
1.8k
FPC(フレキシブル)基板にZephyr実装してみた。
iotengineer22
0
170
Featured
See All Featured
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.6k
We Have a Design System, Now What?
morganepeng
55
8.2k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
450
First, design no harm
axbom
PRO
2
1.2k
Design in an AI World
tapps
1
250
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.5k
Into the Great Unknown - MozCon
thekraken
41
2.6k
Utilizing Notion as your number one productivity tool
mfonobong
4
330
Testing 201, or: Great Expectations
jmmastey
46
8.2k
Between Models and Reality
mayunak
4
350
The Invisible Side of Design
smashingmag
301
52k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Transcript
None
1 OpenFOAM — ࣗͰۃΊΔྲྀମղੳ — ʦஶʧӉʹೖͬͨΧϚΩϦ ٕज़ॻయ 17ʢ2024 ౙʣ৽ץ 2024
11 ݄ 2 ɹ ver 1.0
2 ˙໔ ຊॻใͷఏڙͷΈΛతͱ͍ͯ͠·͢ɻ ຊॻͷ༰Λ࣮ߦɾద༻ɾӡ༻ͨ͜͠ͱͰԿ͕ى͖Α͏ͱɺͦΕ࣮ߦɾద༻ɾӡ༻ͨ͠ਓ ࣗͷͰ͋Γɺஶऀؔऀ͍͔ͳΔෛ͍·ͤΜɻ ˙ඪ ຊॻʹొ͢ΔγεςϜ໊໊ɺ֤ؔࣾͷඪ·ͨొඪͰ͢ɻ ·ͨຊॻͰɺ™ɺ®ɺ© ͳͲͷϚʔΫলུ͍ͯ͠·͢ɻ
3 ͡Ίʹ ຊॻΛखʹऔ͍͖ͬͯͨͩɺ͋Γ͕ͱ͏͍͟͝·͢ɻ ຊॻʹ͍ͭͯ ຊॻͰɺΦʔϓϯιʔειϑτΣΞ OpenFOAM Λ׆༻ͯ͠ɺྲྀମղੳͷجຊ ΛֶͿ͜ͱ͕Ͱ͖·͢ɻஶऀ͕ϒϩάͰެ։ͨ͠༰Λߍਖ਼͠ɺ͞Βʹৄ͘͠·ͱΊ ͨͷͰ͢ɻ *1ɻલճͷٕज़ॻయ
16 ʹग़యͨ͠ʮOpenFOAMʢࣗͰ࢝ΊΔྲྀମղ ੳʣ ʯ [6] Ͱɺ ԁͷྲྀྲྀΕΛऔΓѻ͍ɺ ྲྀମղੳͷجૅతͳ༰Λ OpenFOAM ֶ͕Δߏʹ͠·ͨ͠ɻຊॻͦͷଓฤͱͯ͠ɺதڃऀ͚ͷ༰ʹ͠·ͨ͠ɻ۩ ମతʹɺ2 ࣍ݩͷԁப·ΘΓͷྲྀΕͱ͍͏ݱΛऔΓ্͛ɺ࣮ݧཧʹجͮ͘ ѹྗͱ OpenFOAM Λ༻͍ͨܭࢉ݁ՌͱΛൺֱ͠ͳ͕Βɺͦͷϓϩ ηεΛஸೡʹղઆ͍ͯ͠·͢ɻ ຊॻҎԼͷΑ͏ͳߏʹͳ͍ͬͯ·͢ɻ • ୈ 1 ষͰɺ2 ࣍ݩԁப·ΘΓͷྲྀΕʹؔ͢Δجຊతͳཧʹ͍ͭͯղઆ͠ɺ ղੳΛਐΊΔ্ͰඞཁͱͳΔલఏࣝΛཧ͠·͢ɻ • ୈ 2 ষͰɺOpenFOAM ͷ blockMesh πʔϧΛ༻͠ɺ2 ࣍ݩԁபͷϞσ ϧ࡞͔Βղੳͷ࣮ߦ·ͰͷखॱΛֶͼ·͢ɻୈ 1 ষͰղઆͨ͠ཧΛ࣮ࡍͷ खॱΛ௨ͯ֬͠ೝ͠ɺཧղΛਂΊ·͢ɻ • ୈ 3 ষͰɺඇѹॖੑྲྀΕʹ͓͚Δྗֶత૬ࣅੑʹ͍ͭͯऔΓ্͛ɺྲྀମղੳ Λ௨ͯͦ͡ͷݪཧΛ࠶ݱ͠·͢ɻ͜͜Ͱɺແ࣍ݩͰ͋ΔϨΠϊϧζ͕ྲྀΕ ͷڍಈʹͲͷΑ͏ʹӨڹΛ༩͑Δ͔ʹ͍ͭͯཧղ͢Δ͜ͱ͕Ͱ͖·͢ɻ • ୈ 4 ষͰɺOpenFOAM ͷࣗಈԽΛՄೳʹ͢Δ Python ϥΠϒϥϦͰ͋Δ PyFoam ͷجຊతͳ͍ํʹ͍ͭͯհ͠·͢ɻ • ୈ 5 ষͰ PyFoam Λͬͯԁப·ΘΓͷྲྀΕʹର͢ΔύϥϝʔλελσΟ ͷࣗಈԽΛߦ͍·͢ɻ 2 ࣍ݩԁப·ΘΓͷྲྀΕɺҰݟ୯७ͳྲྀΕͰ͋ΔΑ͏Ͱ͍ͯɺԁப·ΘΓͷണ ݱͷ࠶ݱͲͷ݅Ͱ࠶ݱͰ͖ΔཚྲྀϞσϧཱ͕֬͞Ε͍ͯͳ͍͜ͱ͔Βɺݱ ࡏͰྲྀମղੳख๏ͷݚڀ͕ଓ͚ΒΕ͍ͯ·͢ɻಛʹϨΠϊϧζͱ߅ྗɺӔͷ ৼಈपͷؔʹ͍ͭͯɺ࣮ݧͱྲྀମղੳͷ྆ํͰΜʹݚڀ͞Ε͍ͯ·͢ɻಛ *1 ӉʹೖͬͨΧϚΩϦɿhttps://takun-physics.net/ – i –
4 ͡Ίʹ ʹɺқ͕ߴ͍ͷɺϨΠϊϧζ͕ 105 Λ͑ΔΑ͏ͳྖҬͰɺ͜͜ͰӔͷണ ݱΛਖ਼֬ʹ࠶ݱ͠ͳ͚ΕͳΒͳ͍ͨΊɺΑΓߴͳղੳ͕ٻΊΒΕ·͢ɻҰํ ͰɺϨΠϊϧζ͕ 1000 ҎԼͰ͋ΕɺཚྲྀϞσϧΛΘͳͯ͘ྲྀମղੳͷଥ ੑΛࣔ͢͜ͱ͕ՄೳͰ͋Γɺຊষͷରͱ͍ͯ͠·͢ɻ
͜ͷΑ͏ʹɺԁப·ΘΓͷྲྀΕྲྀମྗֶͷجૅ͕٧·͓ͬͯΓɺཧղΛਂΊΔͨ ΊͷઈͷࡐͰ͢ɻຊষͰɺ࣮ݧσʔλཧղΛʮઌੜʯͱͯ͠ɺྲྀମղੳ݁ ՌͷଥੑΛݕূ͢Δํ๏Λղઆ͍͖ͯ͠·͢ɻօ͞Μ͕ࣗΒߦͬͨղੳ݁Ռʹࣗ৴ Λ࣋ͯΔΑ͏ʹͳΔ͜ͱ͕ɺຊষͷඪͰ͢ɻ ·ͨɺPyFoam ΛͬͨࣗಈԽͷεςοϓΛৄ͘͠հ͓ͯ͠Γɺ͜ΕʹΑΓ OpenFOAM ͷԠ༻ྗ͕ٻΊΒΕɺதڃऀ͚ͷ༰ͱͳ͍ͬͯ·͢ɻPyFoam Λ ׆༻͢Δ͜ͱͰɺ෮తͳ࡞ۀΛޮԽ͠ɺղੳ݁ՌͷଥੑݕূΛΑΓਂ͘ߦ͏͜ ͱ͕Ͱ͖ΔΑ͏ʹͳΓ·͢ɻதڃऀϨϕϧͷઓͱͯ͠ɺͥͻຊॻΛ௨ͯࣝ͠Λ ͍͍͛ͯͬͯͩ͘͞ɻ ຊॻͷରಡऀ ຊॻͰ࣍ͷΑ͏ͳਓΛରͱ͍ͯ͠·͢ɻ • OpenFOAM ʹ͍ͭͯڵຯ͕͋Δਓ • ࣗͰγϛϡϨʔγϣϯ͢Δ͜ͱʹϫΫϫΫ͍ͯ͠Δਓ • 2 ࣍ݩԁப·ΘΓͷྲྀΕΛࡐʹྲྀମղੳͷଥੑݕূΛߦ͍͍ͨਓ લఏͱ͢Δࣝ ຊॻΛಡΉʹ͋ͨΓɺ࣍ͷΑ͏ͳ͕ࣝඞཁͱͳΓ·͢ɻ • ྲྀମྗֶͷجૅࣝ • Linux ʹ͍ͭͯͷجૅࣝ • Python ʹ͍ͭͯͷجૅࣝ • OpenFOAM Λ࣮ߦͰ͖ΔڥΛ༻ҙͰ͖Δ ༻͢ΔιϑτΣΞͷόʔδϣϯ ຊॻͰ༻͢ΔιϑτΣΞҎԼͱͳΓ·͢ɻ • OpenFOAM v2406 (WSL2) • ParaView 5.12 • Python 3.10.12 • gnuplot 5.4 WSL2 ͷ Ubuntu-22.04 ʹ OpenCFD ͕ϦϦʔε͢Δόʔδϣϯ (ESI ൛) ͷ OpenFOAM v2406 ΛΠϯετʔϧ͍ͯ͠Δ͜ͱΛఆ͍ͯ͠·͢ɻParaView Λ Windows ͘͠ Mac ʹΠϯετʔϧ͓͍͍ͯͩ͘͠͞ɻUbuntu-22.04 ʹ – ii –
5 ͡Ίʹ Python3.10 ͕طʹೖ͍ͬͯ·͕͢ɺຊॻͰ༻͢ΔϥΠϒϥϦͳͲผ్Πϯε τʔϧ͢Δඞཁ͕͋Γ·͢ɻ C ʹඞཁͳιϑτΣΞͷΠϯετʔϧํ๏Λهࡌ͍ͯ͠·͢ͷͰɺࣗ͝ ͰڥΛ༻ҙ͍ͯͩ͘͠͞ɻ ԋश༻ͷϞσϧ
ຊॻͰ༻ͨ͠ԋश༻ͷϞσϧ Github ΑΓࢀর͍ͩ͘͞ɻ Githubɿhttps://github.com/kamakiri1225/OpenFOAM_contents17 ͓͍߹Θͤઌ ຊॻʹؔ͢Δ࣭͓͍߹Θͤ X ͘͠ϒϩάͷ͓͍߹ΘͤϑΥʔϜΑ Γ͓ئ͍͍ͨ͠·͢ɻ • Xɿhttps://x.com/t_kun_kamakiri • ϒϩά͓͍߹Θͤɿhttps://takun-physics.net/page-908/ – iii –
6 ࣍ ͡Ίʹ i ୈ 1 ষ ԁப·ΘΓͷྲྀΕͷ֓ཁ 1 1.1
ϨΠϊϧζʹΑΔྲྀΕͷύλʔϯ . . . . . . . . . . . . . . . . . . 1 1.2 ମʹಇ͘ྗͱετϩʔϋϧ . . . . . . . . . . . . . . . . . . . . 3 ߅ྗͱ༲ྗ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 ߅ྗͱ༲ྗ . . . . . . . . . . . . . . . . . . . . . . . . . 5 ετϩʔϋϧ . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.3 ཧྲྀମͱ࣮ࡍͷྲྀମ . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.4 ྗֶత૬ࣅੑ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.5 ·ͱΊ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 ୈ 2 ষ ԁப·ΘΓͷྲྀମղੳ 11 2.1 ղੳͷత . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.2 OpenFOAM ͰͷγϛϡϨʔγϣϯ . . . . . . . . . . . . . . . . . . 11 ղੳϑϩʔ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 ιϧόͷબ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 ࢧํఔࣜ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.3 ࡞ۀϑΥϧμͷ࡞ . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.4 νϡʔτϦΞϧͷίϐʔ . . . . . . . . . . . . . . . . . . . . . . . . 16 2.5 ϝογϡ࡞ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 blockMeshDict Λฤू . . . . . . . . . . . . . . . . . . . . . . . 18 mirrorMesh Λฤू . . . . . . . . . . . . . . . . . . . . . . . . . 24 extrudeMesh Λฤू . . . . . . . . . . . . . . . . . . . . . . . . 31 ϝογϡ࣭ͷ֬ೝ . . . . . . . . . . . . . . . . . . . . . . . . . 33 2.6 ղੳઃఆ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 ઃఆϑΝΠϧߏ . . . . . . . . . . . . . . . . . . . . . . . . . . 35 ੑͷઃఆ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 ཚྲྀϞσϧͷઃఆ . . . . . . . . . . . . . . . . . . . . . . . . . . 36 ڥք݅ͷઃఆ . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 ࢄԽεΩʔϜ . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 – iv –
7 ࣍ ܭࢉͷ੍ޚ . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . 46 functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 ฒྻׂ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 2.7 ܭࢉ࣮ߦ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 ݁ՌͷՄࢹԽ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 2.8 ܭࢉ݁Ռͷଥੑͷݕূ . . . . . . . . . . . . . . . . . . . . . . . . 67 ߅ྗ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 2.9 ετϩʔϋϧ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 2.10 ѹྗͷ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 2.11 ղੳʹ͓͍ͯҙͨ͠ . . . . . . . . . . . . . . . . . . . . . . . . 72 2.12 ·ͱΊ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 ୈ 3 ষ ྲྀମղੳʹΑΔྗֶత૬ࣅੑͷݕূ 74 3.1 ϨΠϊϧζҧ͍ʹΑΔղੳ . . . . . . . . . . . . . . . . . . . . . 74 3.2 ϞσϧͷมߋՕॴ . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 ྲྀͷมߋ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 ܘͷେ͖͞ͷมߋ . . . . . . . . . . . . . . . . . . . . . . . . . 76 ߅ྗͷઃఆมߋ . . . . . . . . . . . . . . . . . . . . . . . . . 76 3.3 ܭࢉ݁Ռ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 3.4 ·ͱΊ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 ୈ 4 ষ PyFoam ͷجૅ 80 4.1 PyFoam . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 4.2 Python ͷ࣮ߦڥͱىಈ . . . . . . . . . . . . . . . . . . . . . . . 80 4.3 OpenFOAM ͷϑΝΠϧͷॻ͖͑ . . . . . . . . . . . . . . . . . . 81 4.4 νϡʔτϦΞϧͷίϐʔ . . . . . . . . . . . . . . . . . . . . . . . . 85 PyFoam ϥΠϒϥϦΛ͏ํ๏ . . . . . . . . . . . . . . . . . . . 85 Python ͷඪ४ϥΠϒϥϦΛ͏ํ๏ . . . . . . . . . . . . . . . . . 86 4.5 ܭࢉ࣮ߦ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 PyFoam Λ͏ํ๏ . . . . . . . . . . . . . . . . . . . . . . . . . 88 Allrun εΫϦϓτͱ Python ͷඪ४ϥΠϒϥϦΛซ༻͢Δํ๏ . . . . 91 όοΫάϥϯυ࣮ߦ . . . . . . . . . . . . . . . . . . . . . . . . 93 PyFoam ʹΑΔܭࢉ࣮ߦʢόοΫάϥϯυʣ . . . . . . . . . . . . 93 Allrun ࣮ߦʢόοΫάϥϯυʣ . . . . . . . . . . . . . . . . . . 95 4.6 ·ͱΊ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 ୈ 5 ষ PyFoam Λ༻͍ͨύϥϝʔλελσΟͷ࣮ફ 98 – v –
8 ࣍ 5.1 ύϥϝʔλελσΟͷྲྀΕ . . . . . .
. . . . . . . . . . . . . . . . . 98 5.2 ϓϩάϥϜͷ֓ཁ . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 5.3 ϨΠϊϧζҧ͍ʹΑΔ߅ྗ . . . . . . . . . . . . . . . . . . . 106 5.4 ·ͱΊ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 A gnuplot ʹΑΔάϥϑॲཧ 112 A.1 Re = 200 Ͱͷԁபͷ߅ྗ . . . . . . . . . . . . . . . . . . . . . 112 B OpenFOAM ͷ Tips 116 B.1 ϝογϡ࣭ͷ֬ೝ . . . . . . . . . . . . . . . . . . . . . . . . . . 116 B.2 ࿈ଓࣜͷޡࠩ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 B.3 y+ ͷ֬ೝ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 B.4 ྲྀྔͷ߹ੑ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 C ιϑτͷΠϯετʔϧ 122 C.1 OpenFOAM ͷΠϯετʔϧ . . . . . . . . . . . . . . . . . . . . . 122 C.2 ParaView ͷΠϯετʔϧ . . . . . . . . . . . . . . . . . . . . . . . 124 C.3 Python ͷϥΠϒϥϦͷΠϯετʔϧ . . . . . . . . . . . . . . . . . 124 C.4 gnuplot ͷΠϯετʔϧ . . . . . . . . . . . . . . . . . . . . . . . . 126 ࢀߟจݙ 128 ͋ͱ͕͖ 130 – vi –
9 ୈ 1 ষ ԁப·ΘΓͷྲྀΕͷ֓ཁ ͜ͷষͰɺԁப·ΘΓͷྲྀΕʹؔ͢Δجຊతͳ֓೦ʹ͍ͭͯհ͠·͢ɻ ԁப·ΘΓͷྲྀΕཧతʹ͘ཧղ͞Ε͓ͯΓɺϨΠϊϧζʹΑͬͯྲྀ Εͷύλʔϯ͕มΘΔڵຯਂ͍ݱ͕ΒΕ͍ͯ·͢ɻ͜ΕΒͷࣝɺ࣍ষ Ҏ߱Ͱղઆ͢ΔྲྀମղੳͷલఏࣝͰ͢ɻ 1.1
ϨΠϊϧζʹΑΔྲྀΕͷύλʔϯ ԁப·ΘΓͷྲྀΕϨΠϊϧζ Re ɺද͞ dʢԁபܘʣ ɺද UʢҰ ༷ྲྀʣ ɺಈ೪ੑ ν ʹΑͬͯɺਤ 1.1 ͷΑ͏ʹྲྀΕͷ༷૬͕େ͖͘มΘΓ·͢ɻ ࣜ 1.1: ϨΠϊϧζ Re = Ud ν ҎԼͷΑ͏ʹɺԁபपΓͷྲྀΕͷ༷૬ϨΠϊϧζʹΑͬͯ 4 ͭͷΧςΰϦʔʹ ྨ͞Ε·͢ɻ – 1 –
1 0 ୈ 1 ষ ԁப·ΘΓͷྲྀΕͷ֓ཁ 1.1 ϨΠϊϧζʹΑΔྲྀΕͷύλʔϯ Re <
1 (1) 1 < Re < 40 (2) 40 < Re < 500 (3) 1000 < Re (4) ˛ ਤ 1.1: ԁப·ΘΓͷྲྀΕ (1) ϨΠϊϧζ͕ 1 ఔ·ͨͦΕҎԼͷ߹ɺྲྀΕ্ԼରশͷఆৗྲྀͰ ͋ΓɺԁபഎޙʹӔൃੜ͠ͳ͍ɻ (2) ϨΠϊϧζ͕ 40 ఔͷ߹ɺྲྀΕ্ԼରশͷఆৗྲྀͰ͋Δ͕ɺԁ பഎޙʹ্ԼରশͷࢠͷӔ͕ൃੜ͢Δɻ (3) ϨΠϊϧζ͕ 50ʙ500 ఔͷ߹ɺྲྀΕͷ্Լͷରশੑ่͕Εͯԁபഎޙ ͷӔ্Լʹ์ग़͠ɺޙྲྀʹपظతʹ্Լʹަޓʹ์ग़͞ΕΔΧϧϚϯӔྻΛ ܗ͢Δɻ (4) ϨΠϊϧζ͕ 1000 ఔҎ্ʹͳΔͱɺޙྲྀʹ์ग़͞ΕΔӔཚΕɺ༷ʑͳ େ͖͞ͷӔΛؚΉΑ͏ʹͳΓɺཚྲྀͷ༷૬Λఄͯ͘͠Δɻ ྲྀମղੳͷ؍͔Β৮Ε͓͖ͯ·͢ɻ (1) ͱ (2) ྲྀͷఆৗղੳͱͯ͠ྲྀମղੳΛߦ͏͜ͱ͕Ͱ͖·͢ɻͪΖΜඇఆ ৗղੳΛߦ͍ɺे͕࣌ؒܦաͨ݁͠ՌΛऩଋղͱͯ͠ٻΊͯྑ͍Ͱ͕͢ɺ͋·Γ ޮతͰ͋Γ·ͤΜɻ (3) ͷΧϧϚϯӔྻྲྀͰ͋Γ·͕͢ɺӔ͕पظతʹ์ग़͞ΕΔඇఆৗੑ͕͋Δ ͨΊɺྲྀΕඇఆৗྲྀղੳͰߦ͏ඞཁ͕͋Γ·͢ɻඇఆৗͷݱΛແཧʹఆৗղੳ Ͱߦ͏ͱɺऩଋղΛಘΒΕͳ͔ͬͨΓɺܭࢉ͕ൃࢄ͔ͬͨ͢͠Γ͠·͢ɻ (4) ͰཚྲྀͷऔΓѻ͍͕ॏཁʹͳΓ·͢ɻେখ͞·͟·ͳӔ͕ݟΒΕΔͨΊɺ ϝογϡαΠζ͚ͩͰখ͞ͳӔΛ࠶ݱ͠Α͏ͱ͢Δͱɺେͳϝογϡʹͳͬͯ͠ ·͍·͢ɻͦ͜ͰɺϝογϡαΠζΛখ͘͢͞Δ͜ͱͳ͘ӔͷݱΛཧతʹѻ͏ཚ – 2 –
1 1 ୈ 1 ষ ԁப·ΘΓͷྲྀΕͷ֓ཁ 1.2 ମʹಇ͘ྗͱετϩʔϋϧ ྲྀϞσϧ͕ඞཁʹͳΓ·͕͢ɺదʹྲྀΕΛ༧ଌͰ͖ΔཚྲྀϞσϧͷݚڀࠓߦΘ Ε͍ͯ·͢ɻ
Ҏ্Λද 1.1 ʹ·ͱΊ·͢ɻ ˝ ද 1.1: ྲྀΕͷղੳͷछྨ ϨΠϊϧζ ఆৗ or ඇఆৗ ཚྲྀϞσϧ Re < 1 ఆৗղੳ ྲྀ 1 < Re < 40 ఆৗղੳ ྲྀ 50 < Re < 500 ඇఆৗղੳ ྲྀ 1000 < Re ඇఆৗղੳ ཚྲྀ ୈ 2 ষͰɺΧϧϚϯӔྻͷྲྀମղੳͷઃఆํ๏Λղઆ͠·͢ɻ·ͨɺୈ 5 ষͰ ɺPython ͬͨύϥϝʔλελσΟͷதͰϨΠϊϧζΛมԽ͠ɺਤ 1.1 ͷΑ͏ ͳྲྀΕ͕ग़ݱ͢Δ͜ͱΛ֬ೝ͠·͢ɻ 1.2 ମʹಇ͘ྗͱετϩʔϋϧ ߅ྗͱετϩʔϋϧʹ͍ͭͯجຊతͳ͜ͱΛ֬ೝ͠ɺ࣍ষͷྲྀମղੳͱͷൺ ֱͷࡍͷલఏࣝΛ͓͓͖͑ͯ͞·͢ɻ ߅ྗͱ༲ྗ Ұ༷ͳྲྀΕʹஔ͔Εͨମʹɺਤ 1.2 ʹྲྀମ͔ΒྗΛड͚·͢ɻྲྀΕʹରͯ͠ฏ ߦͳํͷྗΛ߅ྗ D ͱ͍͍ɺਨํͷྗΛ༲ྗ L ͱ͍͍·͢ɻ – 3 –
1 9 ୈ 2 ষ ԁப·ΘΓͷྲྀମղੳ ͜ͷষͰɺԁப·ΘΓͷྲྀΕΛղੳ͢ΔͨΊͷ OpenFOAM ͷઃఆํ๏ Λৄ͘͠ղઆ͠·͢ɻີมԽΛΘͳ͍ඇѹॖྲྀΕΛԾఆ͓ͯ͠Γɺܭࢉෛ
ՙ͕͍͜ͱ͔Β࣮ݧͱͷൺֱ͕༰қͳࡐͰ͢ɻલষͰࣔͨ͠Α͏ʹɺϨΠ ϊϧζྲྀΕͷಛੑΛେ͖͘ࠨӈ͠·͢ɻຊষͰɺಛఆͷϨΠϊϧζΛ ઃఆ͠ɺΧϧϚϯӔྻͷܗΛ؍͠·͢ɻղੳઃఆͷखॱΛཧղ͠ɺ࣮ݧͰ ಘΒΕͨ߅ྗετϩʔϋϧͱ OpenFOAM ͷ݁ՌΛൺֱ͢Δ͜ͱͰɺ ܭࢉ݁ՌͷଥੑΛݕূ͠·͢ɻ 2.1 ղੳͷత ຊॻͰɺԁப·ΘΓͷྲྀΕΛ OpenFOAM Ͱղੳ͠·͢ɻ·ͨɺಘΒΕͨ߅ྗ ͱετϩʔϋϧ͕࣮ݧͱҰக͍ͯ͠Δ͜ͱΛ֬ೝ͠·͢ɻ ԁப·ΘΓͷྲྀΕʹ͍ͭͯͷϙΠϯτҎԼͱͳΓ·͢ɻ • ྲྀΕͷ༷ࢠϨΠϊϧζʹΑͬͯมΘΔ • ϨΠϊϧζʹΑͬͯ߅ྗ͕มԽ͠ɺ࣮ݧͰ͔֬ΊΒΕ͍ͯΔ • ཚྲྀঢ়ଶͰɺ߅ྗ Cd = 1.0 ∼ 1.2 • ཚྲྀঢ়ଶͰɺετϩʔϋϧ St = 0.2 • ѹྗཧྲྀମͱ࣮ࡍͷྲྀମͰҟͳΔ • ྗֶత૬ࣅੑʹΑΓɺྲྀΕͷಛओʹϨΠϊϧζͰܾ·Δ 2.2 OpenFOAM ͰͷγϛϡϨʔγϣϯ OpenFOAM Λ༻͍ͯਤ 2.1 ͷΑ͏ͳ 2 ࣍ݩͷԁப·ΘΓͷྲྀΕͷγϛϡϨʔγϣ ϯΛߦ͍·͢ɻ – 11 –
2 0 ୈ 2 ষ ԁப·ΘΓͷྲྀମղੳ 2.2 OpenFOAM ͰͷγϛϡϨʔγϣϯ 0.15m/s
d = 20 mm ˛ ਤ 2.1: ԁப·ΘΓͷྲྀΕͷγϛϡϨʔγϣϯ݁Ռ z ࣠ํʹແݶʹ͍ԁப͕͋Γɺz ࣠ํʹҰ༷Ͱ͋ΔͨΊɺx-y ฏ໘ΛΓ औͬͨ 2 ࣍ݩϞσϧͰ͢ɻ ղੳϑϩʔ ·ͣղੳΛ࣮ߦ͢Δ·ͰͷશମͷྲྀΕΛԡ͓͖͑ͯ͞·͠ΐ͏ɻ • ιϧόͷબ • ࡞ۀϑΥϧμͷ࡞ • νϡʔτϦΞϧΛίϐʔ • ϝογϡੜ (blockMesh) • ղੳઃఆ (OpenFOAM ͷઃఆϑΝΠϧ) • ܭࢉ࣮ߦ (OpenFOAM) • ղੳ݁ՌͷՄࢹԽ (ParaViewɺPython) ௨ৗɺղੳϑϩʔͷதʹղੳ༻ͷϞσϧ࡞ͷఔ͕͋Γ·͕͢ɺࠓճ blockMesh ͰϝογϡΛอ࣋ͨ͠ܗঢ়Λ࡞͠·͢ͷͰ 3D-CAD Λ༻͍ͨϞσϧ࡞ ͷఔෆཁͰ͢ɻblockMesh OpenFOAM ͷඪ४ϢʔςΟϦςΟʹؚ·Εͯ ͍ΔϓϩάϥϜͰɺOpenFOAM ΛΠϯετʔϧࡁͰ͋Ε৽ͨʹΠϯετʔϧͷख ଓ͖ෆཁͰ͢ɻ – 12 –
2 1 ୈ 2 ষ ԁப·ΘΓͷྲྀମղੳ 2.2 OpenFOAM ͰͷγϛϡϨʔγϣϯ プリ処理
モデル作成 メッシュ作成 解析設定 計算実行 結果処理 blockMesh ソルバ ポスト処理 OpenFOAM ParaView Python ˛ ਤ 2.2: ղੳϑϩʔ ιϧόͷબ OpenFOAM ղ͖͍ͨʹదͨ͠ιϧόΛબ͢Δඞཁ͕͋Γ·͢ɻ୯૬ྲྀͰ ԹมԽͱີมԽ͕ແࢹͰ͖ΔඇѹॖྲྀΕͱԾఆͯ͠ղੳΛߦ͏ͨΊɺͦΕʹద͠ ͨιϧόͷબ͕ඞཁͰ͢ɻԁப·ΘΓͷྲྀΕϨΠϊϧζʹΑͬͯྲྀΕͷঢ়ଶ͕ มΘΓ·͢ɻϨΠϊϧζ͕ Re = 40 ∼ 50 ҎԼ߹ɺఆৗྲྀΕͱͯ͠ѻ͍ɺͦΕ Ҏ্ඇఆৗྲྀΕͱͯ͠ѻ͍·͢ɻ ͜ͷΑ͏ͳ݅ʹదͨ͠ OpenFOAM ͷදతͳιϧόͱͯ͠ද 2.1 ͷͷ͕ ڍ͛ΒΕ·͢ɻ ˝ ද 2.1: ඇѹॖྲྀΕͷදతͳιϧό ιϧό໊ ҙຯ icoFoam ඇఆৗྲྀղੳιϧό pimpleFoam ඇఆৗཚྲྀղੳιϧό ʢPISO+SIMPLE ͷ PIMPLE ΞϧΰϦζϜʣ pisoFoam ඇఆৗཚྲྀղੳιϧόʢPISO ๏ʣ simpleFoam ఆৗཚྲྀղੳιϧόʢSIMPLE ๏ʣ ඇఆৗղੳΛߦ͏ͨΊ PIMPLE ๏ (PISO+SIMPLE) ΞϧΰϦζϜʹै͏ඇৗཚ ྲྀղੳͷιϧόͷ pimpleFoam Λ͍·͢ɻ – 13 –
2 6 ୈ 2 ষ ԁப·ΘΓͷྲྀମղੳ 2.5 ϝογϡ࡞ 2.5 ϝογϡ࡞
OpenFOAM ͷϝογϡ࡞ϢʔςΟϦςΟͰ͋Δ blockMesh Λͬͯԁப· ΘΓͷϝογϡΛ 6 ໘ମͰ࡞͠·͢ɻ ࠷ऴతʹਤ 2.4 ͷΑ͏ʹͳΓ·͢ɻ 10d 10d 50d d = 20 mm ˛ ਤ 2.4: blocMesh ʹΑΔϝογϡ࡞ʢʣ ܘ d 20 mmɺx × y ํʹ 40d × 50d ͷ֎෦ྖҬͱ͠·͢ɻԁபճΓӔ͕ ൃੜ͢ΔͨΊࡉ͔͍ϝογϡʹ͠ɺԁபഎޙཚΕ͕ܹ͍ͨ͠Ίे͘ղੳྖҬΛ ͱ͍ͬͯ·͢ɻ ϝογϡ࡞ܗঢ়ͷରশੑΛར༻ͯ͠ɺ3 ஈ֊Ͱ࡞͍ͯ͠·͢ɻ - 1. blockMesh Ͱ 1/4 ϞσϧΛ࡞- 2. mirrorMesh ͰϛϥʔϝογϡΛ࡞ - 3. extrudeMesh Ͱ֎෦ྖҬΛԡ͠ग़͢ গʑखؒͷ͔͔Δํ๏Λऔ͍ͬͯ·͕͢ɺ ͋ͱͰϝογϡׂΛมߋͨ͠Γɺ ֎෦ ྖҬΛҾ͖Ԇͨ͠Γ͢Δͷʹָͳํ๏Λͱ͍ͬͯ·͢ɻͪΖΜ blockMesh ͷ ΈͰಉ༷ͷ͜ͱߦ͏͜ͱ͕Ͱ͖·͕͢ɺOpenFOAM ͷ͍Ζ͍ΖͳϢʔςΟϦςΟ Λମݧͯ͠ΈΔͷຊষͷతͷͻͱͭͰ͢ɻ blockMeshDict Λฤू Ͱɺ blockMesh Ͱ 1/4 ϞσϧΛ࡞͠·͠ΐ͏ɻ – 18 –
3 9 ୈ 2 ষ ԁப·ΘΓͷྲྀମղੳ 2.5 ϝογϡ࡞ } Xmax
{ type patch; nFaces 120; startFace 83480; } ) ڥք໘ͷ໊લਤ 2.13 ͷΑ͏ʹͳ͍ͬͯ·͢ɻ Xmin Ymin Ymax Xmax hole empty ˛ ਤ 2.13: createPatch ࣮ߦޙͷڥք໘ͷ໊લ extrudeMesh Λฤू ࠨଆ͔Βྲྀೖ݅Λ༩͑ɺԁபͷഎޙʢӈଆʣʹӔ͕Ͱ͖ΔͷͰ͕͢ɺղੳྖ Ҭ͕খ͍͞߹ɺٯྲྀ͕ൃੜͨ͠Γਫ਼͕ѱ͍ղੳ߹ʹΑͬͯܭࢉΤϥʔ ʹͳΔ͜ͱ͋Γ·͢ɻ͏Ұ͡Ί͔ΒϝογϡઃఆΛ͢Δͷ໘Ͱ͕͢ɺ extrudeMesh Λ͑ಛఆͷ໘ͩԡ͠ग़͢͜ͱ͕Ͱ͖·͢ɻ extrudeMeshDict ΛదͳνϡʔτϦΞϧ͔Βίϐʔ͠·͢ɻ ˝ extrudeMesh – 31 –
4 1 ୈ 2 ষ ԁப·ΘΓͷྲྀମղੳ 2.5 ϝογϡ࡞ 押し出 し方向
層数、厚み ˛ ਤ 2.14: extrudeMesh ࣮ߦޙͷϝογϡ Ҏ্Ͱ blockMesh ͷΈͰ 6 ໘ମϝογϡΛ࡞͕Ͱ͖·ͨ͠ɻ ϝογϡ࣭ͷ֬ೝ ϝογϡ࡞ޙʹඞͣ checkMesh Λ࣮ߦͯ͠ɺϝογϡ࣭ͱηϧͳͲΛ֬ ೝ͓͖ͯ͠·͢ɻ $ checkMesh Check mesh... Time = 0 Mesh stats points: 61760 ˡઅͷ internal points: 0 faces: 122080 ˡ໘ͷ internal faces: 60320 ˡ෦ͷ໘ͷ cells: 30400 ˡηϧ faces per cell: 6 boundary patches: 6 point zones: 0 face zones: 0 cell zones: 0 ...(লུ)... – 33 –
7 4 ୈ 2 ষ ԁப·ΘΓͷྲྀମղੳ 2.7 ܭࢉ࣮ߦ (9) (10)
˛ ਤ 2.30: ઢͷଠ͞ͱϨϯμϦϯάͷઃఆ (9) Line Width Λ 4 ʹมߋ (10) Render Lines As Tubes ʹνΣοΫΛೖΕΔ ͜ΕʹΑΓɺઢ͕͖ͬΓ͠·ͨ͠ɻྲྀઢΛදࣔͨ͠ࡍʹɺ post.foam ͷද͕ࣔ ফ͍͑ͯΔͱࢥ͍·͢ɻ࠶දࣔͯ͠ྲྀઢͱ߹Θͤͯ֬ೝ͠·͠ΐ͏ɻ (12) (13) ˛ ਤ 2.31: post.foam ͷಁ໌ͷઃఆ – 66 –
7 5 ୈ 2 ষ ԁப·ΘΓͷྲྀମղੳ 2.8 ܭࢉ݁Ռͷଥੑͷݕূ (11) post.foam
Λදࣔ (12) Opacity Λ 0.5 ʹͯ͠ಁ໌Λௐ Ҏ্ͰྲྀίϯλͱྲྀઢΛ߹ΘͤͯՄࢹԽ͢Δ͜ͱ͕Ͱ͖·ͨ͠ɻ 2.8 ܭࢉ݁Ռͷଥੑͷݕূ ྲྀମղੳͷଥੑΛݕূ͢ΔͨΊʹɺ߅ྗ Cd ɺετϩʔϋϧ St ɺ͓Αͼѹ ྗͷ Cp Λ࣮ݧཧͱͷൺֱΛߦ͍·͢ɻϨΠϊϧζ Re = 200 ʹ͓ ͍ͯɺ߅ྗ Cd = 1.5ɺετϩʔϋϧ St = 0.2 Ͱ͋Δ͜ͱ͕ΒΕ͍ͯ· ͢ɻ͜ΕΒͷͱɺࠓճͷྲྀମղੳ݁Ռ͕ۙࣅ͍ͯ͠Δ߹ɺղੳͷଥੑ͕֬ೝ͞ ΕΔ͜ͱʹͳΓ·͢ɻ Python ʹΑΔάϥϑԽͷίʔυͷղઆɺຊষͰѻ͍·ͤΜ͕ɺgithub ͷ Jupyter ϊʔτϒοΫΛެ։͍ͯ͠·͢ͷͰɺ͝ࢀߟ͍ͩ͘͞ɻ ߅ྗ ߅ྗϦετ 2.27 ͷΑ͏ʹ postProcessing/forces/0/coefficient.dat ʹग़ྗ ͞Ε͍ͯ·͢ɻ ˝ Ϧετ 2.27: postProcessing/forces/0/coefficient.dat # Force and moment coefficients # dragDir : (1.000000e+00 0.000000e+00 0.000000e+00) # sideDir : (0.000000e+00 0.000000e+00 -1.000000e+00) # liftDir : (0.000000e+00 1.000000e+00 0.000000e+00) # rollAxis : (1.000000e+00 0.000000e+00 0.000000e+00) # pitchAxis : (0.000000e+00 0.000000e+00 -1.000000e+00) # yawAxis : (0.000000e+00 1.000000e+00 0.000000e+00) # magUInf : 1.500000e-01 # lRef : 2.000000e-02 # Aref : 2.000000e-04 # CofR : (0.000000e+00 0.000000e+00 0.000000e+00) # # Time Cd ... Cl ... 0.00011999 1.716351e+03 ... 4.095318e-03 ... 0.000263965 1.781495e+01 ... -6.134204e-03 ... 0.000436705 9.864620e+00 ... 4.928078e-03 ... ... ʢ লུ ʣ ... – 67 –
7 6 ୈ 2 ষ ԁப·ΘΓͷྲྀମղੳ 2.9 ετϩʔϋϧ Ϧετ 2.27
ͷ Cd ͕߅ྗͳͷͰɺ͜ΕΛάϥϑʹͨ͠ͷ͕ਤ 2.32 Ͱ͢ɻ 0 5 10 15 20 25 Time (s) 0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 Force Coefficient Drag Force Coefficient over Time Drag Force Coefficient ˛ ਤ 2.32: ߅ྗͷ݁Ռ ԁபޙํʹӔ͕์ग़͞Ε͔ͯΒɺ߅ྗ͕ৼಈ͓ͯ͠Γɺ15 s Ҏ্ͰฏۉΛͱ Δͱɺ ߅ྗ Cd = 1.38 Ͱͨ͠ɻ͜ͷɺ ઌߦݚڀͰͷϨΠϊϧζ Re = 200 ʹ͓͚Δ߅ྗ Cd = 1.5 ʹۙ͘ɺܭࢉ݁Ռ֓Ͷྑ͍ҰகΛ͍ࣔͯ͠·͢ɻ 2.9 ετϩʔϋϧ ετϩʔϋϧɺԁபޙํʹੜ͞ΕΔӔͷपظʹΑͬͯɺਤ 2.33 ͷΑ͏ʹɺྲྀ Εʹਨͳํͷྗʢ༲ྗʣ͕ৼಈ͢Δ༷ࢠΛද͠·͢ɻ͜ͷৼಈͷपظ f ɺӔͷ ੜपظͱҰக͍ͯ͠Δͱߟ͑ΒΕ·͢ɻ – 68 –
7 7 ୈ 2 ষ ԁப·ΘΓͷྲྀମղੳ 2.9 ετϩʔϋϧ 0 5
10 15 20 25 Time (s) 1.00 0.75 0.50 0.25 0.00 0.25 0.50 0.75 1.00 Lift Force Coeff Lift Force Coefficient over Time Lift Force Coefficient ˛ ਤ 2.33: ༲ྗͷ݁Ռ ͦ͜Ͱɺ༲ྗͷ࣌ܥྻσʔλʹରͯ͠ϑʔϦΤมΛߦ͍ɺಛతͳपΛࢉग़ ͠·͢ɻ͜ͷपΛӔੜͷपظͱͯ͠༻͍ɺετϩʔϋϧΛٻΊ·͢ਤ 2.34ɻ – 69 –
7 8 ୈ 2 ষ ԁப·ΘΓͷྲྀମղੳ 2.10 ѹྗͷ 0 1
2 3 4 5 Frequency (Hz) 0.0 0.1 0.2 0.3 0.4 0.5 Amplitude FFT of Cl FFT Amplitude Peaks ˛ ਤ 2.34: ༲ྗͷप ਤ 2.33 ͷ༲ྗΛͱʹɺ15 s Ҏ্ͰϑʔϦΤมͨ݁͠Ռ͕ɺਤ 2.34 Ͱ͢ɻ ࠷େৼ෯Λ࣋ͭप f = 1.48Hz Ͱ͢ɻҰ༷ྲྀ U = 0.15 m/sɺද͞ d = 0.02 m ͳͷͰɺετϩʔϋϧɺSt = fd U = 1.47×0.02 0.15 = 0.2 ͱͳΓ·͢ɻ ͜ͷɺઌߦݚڀͰͷϨΠϊϧζ Re = 200 ʹ͓͚Δετϩʔϋϧ St = 0.2 ͱܭࢉ݁Ռྑ͍ҰகΛ͍ࣔͯ͠·͢ɻ 2.10 ѹྗͷ ߅ྗϦετ 2.28 ͷΑ͏ʹ postProcessing/patchProbes/0/cp ʹग़ྗ͞Ε ͍ͯ·͢ɻ ˝ Ϧετ 2.28: postProcessing/patchProbes/0/cp # Probe 0 (-0.01 0 0.005) at patch hole with a ... ʢ লུ ʣ ... ... ʢ লུ ʣ ... – 70 –
7 9 ୈ 2 ষ ԁப·ΘΓͷྲྀମղੳ 2.10 ѹྗͷ # Time
0 1 ... ʢ লུ ʣ ... 0.5 1.12171 1.03761 ... ʢ লུ ʣ ... 1 1.09921 1.02045 ... ʢ লུ ʣ ... ... ʢ লུ ʣ ... 29 1.11018 1.0566 ... ʢ লུ ʣ ... 29.5 1.10108 0.989234 ... ʢ লུ ʣ ... 30 1.10598 0.99292 ... ʢ লུ ʣ ... ਤ 2.35 ɺྲྀମղੳͰಘΒΕͨ 3.5 ඵͱ 30 ඵͰͷԁप্Ͱͷѹྗͱϙςϯ γϟϧྲྀΕʹ͓͚Δѹྗ Cp = 1−4 sin2 θ ͱͷൺֱΛ͍ࣔͯ͠·͢ɻϙςϯγϟ ϧྲྀΕʹ͓͍ͯɺԁபલޙͰѹྗ͕ରশͰ͋Δͷʹର͠ɺྲྀମղੳͷѹྗ ɺ30 ∼ 40 Ҏ্ͷ֯ͰෛͷΛऔ͓ͬͯΓɺԁபͷલޙͰѹྗ͕ରশͰͳ͍ ͜ͱ͕Θ͔Γ·͢ɻ͜ͷ͜ͱ͕ɺϙςϯγϟϧྲྀΕͰ߅ྗ͕ൃੜ͠ͳ͍ҰํͰɺ࣮ ࡍͷྲྀΕͰ߅ྗ͕ੜ͡ΔݪҼͱཧղͰ͖·͢ɻ 0 10 20 30 40 50 60 70 80 90 100110120130140150160170180 deg 3.0 2.5 2.0 1.5 1.0 0.5 0.0 0.5 1.0 Cp (Pressure Coefficient) Probe Data at Time 3.5s and 30s OpenFOAM Time 3.5s OpenFOAM Time 30s 1 4sin2 ( ) ˛ ਤ 2.35: ԁप্ͷѹྗͷ ਤ 2.36 ɺ3.5 ඵͱ 30 ඵͷѹྗΛ͍ࣔͯ͠·͢ɻ࣮ࡍͷྲྀΕͰɺྲྀମͷ೪ ੑ͕ӨڹΛٴ΅͠ɺޙྲྀʹ͓͍ͯྲྀମͷണӔͷܗ͕ݟΒΕ·͢ɻ͜ͷͨΊɺԁ பͷલޙͰѹྗ͕ࠩੜ͡ɺ߅ྗ͕ൃੜ͠·͢ɻ͔͜͜Βɺ೪ੑޮՌ͕ྲྀΕͷඇରশ – 71 –
8 0 ୈ 2 ষ ԁப·ΘΓͷྲྀମղੳ 2.11 ղੳʹ͓͍ͯҙͨ͠ ੑΛҾ͖ى͜͠ɺ߅ྗ͕ੜ͡ΔཁҼͰ͋Δ͜ͱ͕ཧղͰ͖·͢ɻ ˛
ਤ 2.36: 3 ඵͱ 30 ඵͷԁப·ΘΓͷѹྗ 2.11 ղੳʹ͓͍ͯҙͨ͠ ຊষͷղੳʹ͓͍ͯҙ͖͢ͱͯ͠ɺܭࢉ࣌ؒࠁΈ ∆t ʹ͍ͭͯه͓͖ͯ͠ ·͢ɻ ༲ྗͷ࣌ࠁྺΛݟΔͱɺ1 ඵؒʹ 1.5 ճৼಈ͓ͯ͠Γɺ͜ͷৼಈͷΛेͱΒ ͑Δ͜ͱ͕Ͱ͖Δ͚ͩͷ࣌ؒࠁΈΛઃఆ͢Δඞཁ͕͋Γ·͢ɻ࠷Ͱ 1 ͭࢁʢप ظʣʹରͯ͠ɺ4 ඞཁͩͱͯ͠ɺ࠷Ͱ ∆t = 1 2×1.5 × 1 4 = 0.08 ҎԼͰͳ ͚ΕͳΓ·ͤΜɻࠓճ controlDict ͷ adjustTimeStep yes; ʹΑΓɺΫʔ ϥϯࢦఆͰ࣌ؒࠁΈΛࣗಈͰઃఆ͢ΔΑ͏ʹ͍ͯ͠·͢ɻΫʔϥϯܭࢉͷ҆ఆ ԽʹؔΘΔͷͰɺݱʹରͯ͠ेͳ࣌ؒࠁΈ͔ͱผͰߟ͑Δඞཁ͕͋Γ·͢ɻ maxCo 0.9; Ͱ࠷େΫʔϥϯ 0.9 ͱ͍ͯ͠·͢ɻ Ϧετ 2.29 ͷΑ͏ʹ log.pimpleFoam ʹ࣌ؒࠁΈ͕ग़ྗ͞Ε͍ͯ·͢ɻ ˝ Ϧετ 2.29: log.pimpleFoam ... ʢ লུ ʣ ... Courant Number mean: 0.031598 max: 0.892659 deltaT = 0.000178571 Time = 0.3 PIMPLE: iteration 1 ... ʢ লུ ʣ ... – 72 –
8 2 ୈ 3 ষ ྲྀମղੳʹΑΔྗֶత૬ࣅੑͷ ݕূ ͜ͷষͰɺྗֶత૬ࣅੑʹ͍ͭͯɺOpenFOAM Λ༻͍ͨྲྀମղੳͰ֬ೝ Λߦ͍·͢ɻୈ
1 ষͰղઆͨ͠Α͏ʹɺφϏΤ-ετʔΫεํఔࣜΛແ࣍ݩԽ ͢Δ͜ͱͰɺͯ͢ͷཧྔ͕ϨΠϊϧζʹू͞ΕɺྲྀΕ͕ϨΠϊϧζ ͷΈʹґଘ͢Δ͜ͱ͕ࣔ͞Ε·͢ɻ͜͜Ͱɺ࣮ࡍʹྲྀମղੳΛ௨ͯ͜͡ͷཧ Λݕূ͠ɺڭՊॻͰֶͿ༰Λ͞Βʹਂ͘ཧղ͢Δମݧ͕Ͱ͖ΔΑ͏ʹ͠· ͢ɻཧతͳཧղΛ࣮ࡍͷղੳ݁ՌͱরΒ͠߹ΘͤΔ͜ͱͰɺྗֶత૬ࣅੑͷ ֓೦͕۩ମతʹͲͷΑ͏ʹద༻͞ΕΔ͔Λମײ͍ͯͩ͘͠͞ɻ 3.1 ϨΠϊϧζҧ͍ʹΑΔղੳ ϨΠϊϧζΛ߹Θͤͨ 4 ͭͷղੳέʔεͰൺֱ͠·͢*1ɻ ˝ ද 3.1: ྲྀΕͷղੳͷछྨ ղੳέʔε ԁபܘ d ྲྀ U ϨΠϊϧζ Re έʔε 1 2 mm 0.15 m/s 20 έʔε 2 0.2 mm 1.5 m/s 20 έʔε 3 20 mm 0.15 m/s 200 έʔε 4 2 mm 1.5 m/s 200 • ղੳ݅ ◦ ιϧόɿpimpleFoam ◦ ཚྲྀϞσϧɿlaminarʢཚྲྀϞσϧແ͠ʣ *1 ղੳ༻ͷϞσϧɺgithub ͷ 003_mechanicalSimilarity ʹެ։͍ͯ͠·͢ɻ – 74 –
8 6 ୈ 3 ষ ྲྀମղੳʹΑΔྗֶత૬ࣅੑͷݕূ 3.3 ܭࢉ݁Ռ ケース1 ケース2
ケース3 ケース4 Re = 20 Re = 20 Re = 200 Re = 200 ˛ ਤ 3.1: ղੳέʔεҧ͍݁Ռ ·ͨɺ߅ྗͱετϩʔϋϧͷ݁ՌΛද 3.2 ʹࣔ͠·͢ɻϨΠϊϧζ Re = 20 ͰɺपظతͳӔੜ͕ى͜ΔղੳέʔεͰͳ͍ͨΊɺετϩʔϋϧ ۭനʹ͍ͯ͠·͢ɻ ˝ ද 3.2: ߅ྗͱετϩʔϋϧͷ݁Ռ ղੳέʔε ߅ྗ Cd ετϩʔϋϧ St έʔε 1 2.18 - έʔε 1 2.18 - έʔε 1 1.38 0.20 έʔε 1 1.38 0.19 ྲྀܘ͕ҟͳͬͨͱͯ͠ɺϨΠϊϧζ͕ಉ͡Ͱ͋ΕɺྲྀΕͷ༷ࢠ߅ྗ ɺετϩʔϋϧͳͲͷಉ͡ʹͳΓ·͢ɻ͜Εɺͱͷཧݱ͕ྗֶత ૬ࣅੑʹج͍͍ͮͯΔͨΊͰ͢ɻྗֶత૬ࣅੑʹΑΓɺແ࣍ݩͰ͋ΔϨΠϊϧζ ͕Ұக͢ΔݶΓɺϞσϧͱ࣮ͷྲྀΕͷύλʔϯಛੑಉ͡ʹͳΔ͜ͱ͕อূ͞Ε ·͢ɻͦͷͨΊɺ࣮ʹ͓͍ͯɺϨΠϊϧζΛج४ʹͯ͠ൺֱ͢Δ͜ͱͰɺ͞· ͟·ͳεέʔϧͰͷྲྀΕͷੑ࣭Λ༧ଌ͢Δ͜ͱ͕Ͱ͖·͢ɻ ͨͩ͠ɺྲྀମղੳͷΑ͏ʹුྗॏྗͷӨڹ͕͋Δ߹ɺϨΠϊϧζ͚ͩͰ ෆेͰ͢ɻྫ͑ɺϑϧʔυɺॏྗͷӨڹΛड͚ΔྲྀΕࣗ༝ද໘͕ଘࡏ͢ ΔྲྀΕͷղੳʹ͓͍ͯॏཁͳࢦඪͰ͢ɻϑϧʔυ͕Ұக͢Δ͜ͱͰɺॏྗුྗͷ ӨڹΛड͚ΔྲྀΕͷ༷૬͕Ұக͠ɺྗֶత૬ࣅੑཱ͕͠·͢ɻ͜ΕʹՃ͑ͯɺྲྀ – 78 –
1 0 6 ୈ 5 ষ PyFoam Λ༻͍ͨύϥϝʔλε λσΟͷ࣮ફ ͜ͷষͰɺୈ
4 ষͰֶΜͩࣝΛ͞ΒʹਂΊɺ࣮ફతʹ׆༻͍͖ͯ͠· ͢ɻϨΠϊϧζͷҧ͍ʹΑΔԁப·ΘΓͷ߅ྗͷมԽΛɺ࣮ࡍʹྲྀମղ ੳͰ֬ೝ͠·͢ɻϨΠϊϧζΛม͑Δ࡞ۀɺPyFoam Λ͑ޮతʹ ࣮ߦՄೳͰ͢ɻ 5.1 ύϥϝʔλελσΟͷྲྀΕ ͜ͷষͰͷύϥϝʔλελσΟɺಈ೪ੑΛύϥϝʔλͱͯ͠ɺϨΠϊϧζ Λม͑ͨͱ͖ͷ߅ྗͱͷؔΛݟΔ͜ͱΛతͱ͠·͢ɻ ҎԼͷϑΥϧμΛ࡞͠ϑΥϧμҠಈ͓͖ͯ͠·͢ɻ ˝ ղੳϑΥϧμ $ mkdir 005_cylinder2DParaSutdy ˡϑΥϧμͷ࡞ $ cd 005_cylinder2DParaSutdy ˡϑΥϧμͷҠಈ ύϥϝʔλελσΟͷϑϩʔਤ 5.1 ʹࣔ͢௨ΓͰ͢ɻϓϩάϥϜͷ࣮ߦ Jupyter lab Λ͍·͢ɻ ҎԼ͕खॱͰ͢ɻ 1. results ϑΥϧμΛ࡞ 2. original ͷϑΥϧμͷΫϩʔϯΛ࡞ 3. ಈ೪ੑΛมߋ 4. Allrun εΫϦϓτ࣮ߦ 5. ࣍ͷܭࢉऴྃ·Ͱػ ͜ΕΒͷϓϩάϥϜόοΫάϥϯυͰ࣮ߦ͞Ε͍ͯΔͨΊɺJupyter Lab ͷ – 98 –
1 0 7 ୈ 5 ষ PyFoam Λ༻͍ͨύϥϝʔλελσΟͷ࣮ફ 5.1 ύϥϝʔλελσΟͷྲྀΕ
ૢ࡞͕ՄೳͰ͢ɻ ͱͯ͠ɺoriginal ϑΥϧμΛҰࣜίϐʔ͢ΔͱɺϝογϡใΛؚΉ con- stant/polyMesh ϑΥϧμίϐʔ͞Ε·͢ɻϝογϡใൺֱతʹ༰ྔ͕େ͖͍ ͨΊɺ͠ original ϑΥϧμͱಉ͡ϝογϡใͰΑ͍߹ɺϑΥϧμશମΛίϐʔ ͢ΔͷͰͳ͘ɺγϯϘϦοΫϦϯΫͱͯ͠ࢀর͢Δ͜ͱͰ༰ྔΛݮͰ͖·͢ɻί ϐʔઌͷϝογϡใৗʹ original ϑΥϧμͷϝογϡใΛࢀর͢Δ͜ͱʹͳΓ ·͢ɻ ·ͨɺAllrun ʹΑΔ࣮ߦɺܭࢉ͕ྃ͢Δ·Ͱ࣍ͷεΫϦϓτ͕ػ͢Δ༷ͱ ͳ͍ͬͯ·͢ɻ .ipynb 計算終了まで待機 Re5 Re10 計算終了まで待機 計算終了まで待機 Allrun Re2 0 system constant polyMesh 操作可能 バックグラウンドで実行 ・・・ Allrun original 0 system constant polyMesh クローン results ˛ ਤ 5.1: ύϥϝʔλελσΟͷྲྀΕ ԁப·ΘΓͷྲྀΕʹ͓͍ͯɺϨΠϊϧζ Re = 40 ۙลͰఆৗ͔Βඇఆৗʹͳ Δ͜ͱ͕Θ͔͍ͬͯΔͨΊɺද 5.1 ʹࣔ͢Α͏ʹ Re = 40 ҎԼͰɺఆৗղੳιϧ ό simpleFoam Λ͍ɺͦΕΑΓେ͖͍ϨΠϊϧζ Re Ͱɺඇఆৗղੳιϧό pimpleFoam ʹΓସ͑ΔΑ͏ʹ͍ͯ͠·͢*1ɻ • ղੳ݅ ◦ ιϧόɿද 5.1 ◦ ཚྲྀϞσϧɿlaminarʢཚྲྀϞσϧແ͠ʣ *1 ϨΠϊϧζ͕খ͍͞ྖҬͰ pimpleFoam ͕҆ఆʹܭࢉ͢ΔϝογϡΛ࡞͢Δͷ͕͔ͬ͠ ͨͨΊͰ͢ɻରྲྀ߲ͷεΩʔϜཚྲྀϞσϧΛ͢Δͱ҆ఆʹܭࢉͰ͖ΔՄೳੑ͋Γ·͕͢ɺ ൣғͷϨΠϊϧζҬͰ౷Ұͤͨ͞ϞσϧΛͰ͖Δ͚ͩ༻͔ͨͬͨ͠ࢥ͍͕͋Γɺࠓճఆৗ ͱඇఆৗͰιϧόΛ͍͚Δ͜ͱʹ͠·ͨ͠ɻ – 99 –
1 0 8 ୈ 5 ষ PyFoam Λ༻͍ͨύϥϝʔλελσΟͷ࣮ફ 5.2 ϓϩάϥϜͷ֓ཁ
◦ ಈ೪ੑɿද 5.1 ◦ ࢄԽεΩʔϜɿ2 ࣍ਫ਼෩্ࠩ • ڥք݅ ◦ inletɿྲྀنఆ (0.15, 0, 0) ◦ outletɿࣗવྲྀग़ ◦ wallsɿΓ݅ ◦ emptyɿ2 ࣍ݩ݅ ˝ ද 5.1: ղੳέʔε ղੳέʔε ಈ೪ੑ ν ϨΠϊϧζ Re ιϧό Re2 1.5 × 10−3 2 simpleFoam Re5 6.0 × 10−4 5 ˢ Re20 3.0 × 10−4 10 ˢ Re40 7.5 × 10−5 40 ˢ Re100 3.0 × 10−5 100 pimpleFoam Re200 1.5 × 10−5 200 ˢ Re500 6.0 × 10−6 500 ˢ Re1000 3.0 × 10−6 1000 ˢ Re2000 1.5 × 10−6 2000 ˢ Re5000 6.0 × 10−7 5000 ˢ Re10000 3.0 × 10−7 10000 ˢ ຊདྷͰ͋ΕϨΠϊϧζ Re = 1000 Ҏ্Ͱཚྲྀͷ༷૬͕ݦஶʹදΕͯ͘Δ ͨΊɺϝογϡαΠζཚྲྀϞσϧͷݕ౼ΛेΛߦ͏ඞཁ͕͋Γ·͕͢ɺຊॻͷ ༰Λେ͖͘ҳ͢ΔͨΊɺࠓճཚྲྀϞσϧΛ༻͠ͳ͍ൣғͷϨΠϊϧζҬ Re = 2 ∼ 2000 ͱɺղੳϞσϧతʹద༻֎ Re = 5000, 10000 Ͱͷύϥϝʔλελ σΟΛߦ͍·ͨ͠*2ɻ 5.2 ϓϩάϥϜͷ֓ཁ ҎԼɺϓϩάϥϜͷશମΛࣔ͠·͢ɻ *2 ࣮ࠓճͷϞσϧͰ Re = 5000 Ҏ্ͰɺԁபޙํͷཚΕ͕ܹ͘͠ɺ extrudeMesh Ͱϝο γϡΛԆͨ͠෦ͰྲྀΕ͕ෆ҆ఆʹͳ͍ͬͯΔɻ – 100 –
1 1 4 ୈ 5 ষ PyFoam Λ༻͍ͨύϥϝʔλελσΟͷ࣮ફ 5.3 ϨΠϊϧζҧ͍ʹΑΔ߅ྗ
simpleFoam pimpleFoam 40 1000 乱流モデル? Re Re = 2 Re = 20 Re = 200 Re = 1000 ˛ ਤ 5.4: ϨΠϊϧζʹΑΔྲྀΕͷ༷ࢠ 5.3 ϨΠϊϧζҧ͍ʹΑΔ߅ྗ ϨΠϊϧζҧ͍ʹΑΔύϥϝʔλελσΟΛऴ͑ͨͨΊɺϨΠϊϧζ Re ͱ߅ ྗ Cd ͷؔΛ֬ೝ͠·͢ɻԁப·ΘΓͷ߅ྗͷۙࣅࣜʹ͍ͭͯɺ͞·͟ ·ͳఏҊ͕ͳ͞Ε͍ͯ·͢ [24]ɻ ࣜ 5.1 ɺRe = 105 ∼ 106 ͷυϥοάΫϥΠγεݱ࠶ݱͰ͖ͳ͍ͷͷɺϨ Πϊϧζͷ͍ൣғͰྑۙ͘ࣅ͍ͯ͠·͢ɻ ࣜ 5.1: Sucker & Brauwer ͷۙࣅࣜ Cd = 1.18 + 6.8 R0 e .89 + 1.96 √ Re − 0.0004Re 1 + 3.63 × R2 e ࣜ 5.1 ͱ Cd = 1.2 ͷઢΛࣔ͠ͳ͕ΒɺOpeFOAM Ͱͷ݁ՌΛϓϩοτ͢Δϓϩά ϥϜ͕Ϧετ 5.2 Ͱ͢ɻ ˝ Ϧετ 5.2: ߅ྗͱϨΠϊϧζͷؔΛϓϩοτ͢ΔϓϩάϥϜ import os import pandas as pd import numpy as np import matplotlib.pyplot as plt – 106 –
1 1 8 ୈ 5 ষ PyFoam Λ༻͍ͨύϥϝʔλελσΟͷ࣮ફ 5.4 ·ͱΊ
100 101 102 103 104 105 106 Reynolds Number (Re) 10 1 100 101 102 Drag Coefficient (Cd) Cd Mean vs Re with Sucker & Brauer Comparison Cd Mean (Re <= 40, simpleFoam) Cd Mean (Re > 40, pimpleFoam) Sucker & Brauer Cd = 1.2 ˛ ਤ 5.5: OpenFOAM ʹΑΔϨΠϊϧζͱ߅ྗͷؔ ͨͩ͠ɺϨΠϊϧζ͕ Re = 1000 Λ͑ΔྖҬʹ͓͍ͯɺࣜ 5.1 ͱͷࠩҟ͕େ ͖͘ͳΔ͕ݟΒΕ·͢ɻ 5.4 ·ͱΊ ຊষͰɺPyFoam Λ༻͍ͨ OpenFOAM ʹΑΔύϥϝʔλελσΟͷ࣮ફྫͱ ͯ͠ɺ2 ࣍ݩԁப·ΘΓͷ߅ྗͱϨΠϊϧζͷؔੑʹ͍ͭͯղੳΛߦ͍·͠ ͨɻୈ 4 ষͰֶΜͩجૅతͳૢ࡞ΛԠ༻͠ɺϨΠϊϧζΛมԽͤͨ͞ෳέʔεͷ ޮతͳղੳ͕ՄೳͰ͋Δ͜ͱΛΈ·ͨ͠ɻ ղੳ݁ՌɺϨΠϊϧζͷൣғͰࣜ 5.1 ͷཧࣜͱྑʹҰக͓ͯ͠Γɺຊղ ੳϞσϧͷଥੑΛ֬ೝͰ͖·ͨ͠ɻಛʹɺϨΠϊϧζ͕ Re = 40 ҎԼͷఆৗྲྀ ΕྖҬͱɺͦΕҎ্ͷඇఆৗྖҬͰιϧόΛΓସ͑Δ͜ͱͰɺతͳ҆ఆੑͱܭ ࢉਫ਼Λཱ͍྆ͤͯ͞·͢ɻ ҰํͰɺϨΠϊϧζ Re = 1000 Ҏ্ͷྖҬͰࣜ 5.1 ͱͷࠩҟ͕େ͖͘ͳΓɺ ΑΓߴਫ਼ͳཚྲྀϞσϧϝογϡղ૾ͷݟ͕͠ඞཁͱͳΔՄೳੑ͕ࣔࠦ͞Ε – 110 –
1 3 8 ͋ͱ͕͖ ຊॻΛ͝ߪೖ͍͖ͨͩ͋Γ͕ͱ͏͍͟͝·͢ɻຊॻͰɺԁப·ΘΓྲྀΕΛରʹ ྲྀମղੳʹ͍ͭͯղઆΛߦ͍·ͨ͠ɻࠓճ OpenFOAM ͷଟ༷ͳػೳͷҰ෦ͷΈ Λ͝հͰ͖·͕ͨ͠ɺ͞Βʹৄࡉͳઆ໌͕ඞཁͳ͋Δ͔ͱࢥ͍·͢ɻ ݫີղΛٻΊΔͷ͕ࠔͳղੳରͰɺγϛϡϨʔγϣϯΛ௨ͯ͡ݱΛཧղ͢
Δ͜ͱ͕ඇৗʹॏཁͩͱஶऀߟ͍͑ͯ·͢ɻͦͷͨΊɺຊॻͰཧͱ࣮ݧͰͷݚ ڀ͕Μͳԁப·ΘΓͷྲྀΕΛࡐʹબͼ·ͨ͠ɻγϛϡϨʔγϣϯͷଥੑΛ֬ೝ ͢ΔͨΊʹɺ࣮ݧσʔλطͷݫີղͱͷൺֱΛߦ͍ɺ݁Ռͷ৴པੑΛݕূ͢Δ ඞཁ͕͋Γ·͢ɻຊॻΛ͖͔͚ͬʹࣗ͝ͰγϛϡϨʔγϣϯ͍ͨ͠༰ʹͯΊ ͍͚ͯͨͩΕͱࢥ͍·͢ɻ ӉʹೖͬͨΧϚΩϦ • Xɿhttps://x.com/t_kun_kamakiri • ϒϩά URLɿhttps://takun-physics.net/: – 130 –
1 3 9 OpenFOAM ࣗͰۃΊΔྲྀମղੳ 2024 11 ݄ 2
ɹ ver 1.0 ʢٕज़ॻయ 17ʣ ஶɹऀ ӉʹೖͬͨΧϚΩϦ ൃߦऀ ΧϚΩϦ ࿈བྷઌ https://takun-physics.net/ https://x.com/t_kun_kamakiri ҹॴ ӉʹೖͬͨΧϚΩϦ © 2024 ӉʹೖͬͨΧϚΩϦ (powered by Re:VIEW Starter)