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

OpenFOAM(自宅ではじめる流体解析)

 OpenFOAM(自宅ではじめる流体解析)

kamakiri1225

May 25, 2024
Tweet

More Decks by kamakiri1225

Other Decks in Technology

Transcript

  1. 3 ͸͡Ίʹ ຊॻΛखʹऔ͍͖ͬͯͨͩɼ͋Γ͕ͱ͏͍͟͝·͢ ຊॻʹ͍ͭͯ ຊॻͰ͸ɺΦʔϓϯιʔειϑτ΢ΣΞ OpenFOAM Λ׆༻ͯ͠ɺྲྀମղੳͷج ຊΛֶͿ͜ͱ͕Ͱ͖·͢ɻஶऀ͕ϒϩάͰެ։ͨ͠಺༰Λߍਖ਼͠ɺ͞Βʹৄ͘͠·ͱ Ίͨ΋ͷͰ͢ɻ *1ɻ۩ମతʹ͸ɺԁ؅಺ͷ૚ྲྀͱ͍͏ݱ৅ΛऔΓ্͛ɺཧ࿦ʹجͮ͘

    ଎౓෼෍ͱ OpenFOAM Λ༻͍ͨܭࢉ݁ՌͱΛൺֱ͠ͳ͕ΒɺͦͷϓϩηεΛஸೡ ʹղઆ͍ͯ͠·͢ɻ ୈ 1 ষͰ͸ԁ؅಺ྲྀΕͷجຊతͳ಺༰ʹ͍ͭͯ৮ΕɺղੳΛ࢝ΊΔલͷલఏ஌ࣝ Λઆ໌͠·͢ɻୈ 2 ষͰ͸ɺOpenFOAM ͷ blockMesh πʔϧΛ࢖ͬͯϞσϧΛ࡞ ੒͠ɺղੳΛ࣮ߦͯ݁͠ՌΛάϥϑԽ͢Δ·ͰͷखॱΛৄ͘͠ղઆ͍ͯ͠·͢ɻୈ 3 ষ͸ɺԠ༻ฤͱͯ͠ɺFreeCAD ͰͷϞσϧ࡞੒͔Β snappyHexMesh Λ࢖ͬͨϝο γϡ࡞੒·ͰΛղઆ͓ͯ͠ΓɺΑΓෳࡶͳϞσϧʹ΋ରԠ͢Δํ๏Λ঺հ͍ͯ͠· ͢ɻ͜ͷষ͸ɺୈ 2 ষͰѻͬͨղੳର৅ͱಉ͡Ͱ͕͢ɺڵຯͷ͋Δํʹ޲͚ͯͷ಺༰ ͱͳ͓ͬͯΓɺ௅ઓͯ͠Έ͍ͨํ͸ͥͻࢼͯ͠Έ͍ͯͩ͘͞ɻ ຊॻͷର৅ಡऀ ຊॻͰ͸࣍ͷΑ͏ͳਓΛର৅ͱ͍ͯ͠·͢ɻ • ྲྀମղੳΛ͜Ε͔Β͸͡ΊΔਓ • OpenFOAM ʹ͍ͭͯڵຯ͕͋Δਓ • ࣗ୐ͰγϛϡϨʔγϣϯ͢Δ͜ͱʹϫΫϫΫ͍ͯ͠Δਓ લఏͱ͢Δ஌ࣝ ຊॻΛಡΉʹ͋ͨΓɺ࣍ͷΑ͏ͳ஌͕ࣝඞཁͱͳΓ·͢ɻ • OpenFOAM Λ࣮ߦͰ͖Δ؀ڥΛ༻ҙͰ͖Δ • Linux ʹ͍ͭͯͷجૅ஌ࣝ • Python ʹ͍ͭͯͷجૅ஌ࣝ • ྲྀମྗֶͷجૅ஌ࣝ *1 Ӊ஦ʹೖͬͨΧϚΩϦɿhttps://takun-physics.net/ – i –
  2. 4 ͸͡Ίʹ ࢖༻͢Διϑτ΢ΣΞͷόʔδϣϯ ຊॻͰ࢖༻͢Διϑτ΢ΣΞ͸ҎԼͱͳΓ·͢ɻ • OpenFOAM v2312 (WSL2) • ParaView

    5.12 • Python 3.10.12 • FreeCAD 0.21.2 • gnuplot 5.4 WSL2 ͷ Ubuntu-22.04 ʹ OpenCFD ͕ϦϦʔε͢Δόʔδϣϯ (ESI ൛) ͷ OpenFOAM v2312 ΛΠϯετʔϧ͍ͯ͠Δ͜ͱΛ૝ఆ͍ͯ͠·͢ɻParaView ΍ FreeCAD ͸ Windows ΋͘͠͸ Mac ʹΠϯετʔϧ͓ͯ͠࢖͍͍ͩ͘͞ɻUbuntu- 22.04 ʹ͸ Python3.10 ͕طʹೖ͍ͬͯ·͕͢ɺՄࢹԽ༻ͷϥΠϒϥϦͳͲ͸ผ్Π ϯετʔϧ͢Δඞཁ͕͋Γ·͢ɻgnuplot ͸ Ubuntu ্ʹΠϯετʔϧͯ͠࢖༻͠ ·͢ɻ ෇࿥ C ʹඞཁͳιϑτ΢ΣΞͷΠϯετʔϧํ๏Λهࡌ͍ͯ͠·͢ͷͰɺࣗ͝਎ Ͱ؀ڥΛ༻ҙ͍ͯͩ͘͠͞ɻ ԋश༻ͷϞσϧ ຊॻͰ࢖༻ͨ͠ԋश༻ͷϞσϧ͸ Github ΑΓࢀর͍ͩ͘͞ɻ Githubɿhttps://github.com/kamakiri1225/OpenFOAM_contents.git ͓໰͍߹Θͤઌ ຊॻʹؔ͢Δ࣭໰΍͓໰͍߹Θͤ͸ X ΋͘͠͸ϒϩάͷ͓໰͍߹ΘͤϑΥʔϜΑ Γ͓ئ͍͍ͨ͠·͢ɻ • Xɿhttps://x.com/t_kun_kamakiri • ϒϩά͓໰͍߹Θͤɿhttps://takun-physics.net/page-908/ – ii –
  3. 5 ໨࣍ ͸͡Ίʹ i ୈ 1 ষ ԁ؅಺ͷྲྀΕͷཧ࿦ 1 1.1

    ԁ؅಺ͷ଎౓෼෍ . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 ૚ྲྀྲྀΕʢϋʔήϯɾϙΞζΠϢྲྀΕͷۙࣅࣜʣ . . . . . . . . . . . 2 ୈ 2 ষ OpenFOAM Ͱͷ blockMesh Λ༻͍ͨ૚ྲྀղੳ 3 2.1 ղੳͷ໨త . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.2 OpenFOAM ͰͷγϛϡϨʔγϣϯ . . . . . . . . . . . . . . . . . . 3 ղੳϑϩʔ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 ιϧόͷબ୒ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 ࢧ഑ํఔࣜ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.3 ࡞ۀϑΥϧμͷ࡞੒ . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.4 νϡʔτϦΞϧͷίϐʔ . . . . . . . . . . . . . . . . . . . . . . . . 8 2.5 ϝογϡ࡞੒ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 blockMeshDict Λฤू . . . . . . . . . . . . . . . . . . . . . . . 10 blockMeshDict ϑΝΠϧͷઆ໌ . . . . . . . . . . . . . . . . . . . 17 ϝογϡ඼࣭ͷ֬ೝ . . . . . . . . . . . . . . . . . . . . . . . . . 25 2.6 ղੳઃఆ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 ઃఆϑΝΠϧߏ੒ . . . . . . . . . . . . . . . . . . . . . . . . . . 27 ෺ੑ஋ͷઃఆ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 ཚྲྀϞσϧͷઃఆ . . . . . . . . . . . . . . . . . . . . . . . . . . 28 ڥք৚݅ͷઃఆ . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 ཭ࢄԽεΩʔϜ . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 ܭࢉͷ੍ޚ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 ฒྻ෼ׂ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 2.7 ܭࢉ࣮ߦ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 2.8 ݁Ռॲཧ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 ParaView Ͱͷ݁Ռͷ֬ೝ . . . . . . . . . . . . . . . . . . . . . . 45 Python ʹΑΔάϥϑॲཧ . . . . . . . . . . . . . . . . . . . . . . 62 2.9 ·ͱΊ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 – iii –
  4. 6 ໨࣍ [ίϥϜ]ϝογϟʔ͸ԿΛબͿ͔ʁ . . . . . . .

    . . . . . . . . . . . . . . . 69 ୈ 3 ষ FreeCAD ʹΑΔϞσϧ࡞੒ͱ snappyHexMesh Λ༻͍ͨ૚ྲྀղੳ 72 3.1 ϝογϡ࡞੒·ͰͷશମͷྲྀΕ . . . . . . . . . . . . . . . . . . . . 72 3.2 ࡞ۀϑΥϧμͷ࡞੒ . . . . . . . . . . . . . . . . . . . . . . . . . . 73 3.3 Ϟσϧܗঢ়ͷ࡞੒ . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 FreeCAD ʹΑΔϞσϧ࡞੒ . . . . . . . . . . . . . . . . . . . . . 74 FreeCAD ͷϚΫϩػೳ . . . . . . . . . . . . . . . . . . . . . . . 79 εέʔϧͷม׵ . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 3.4 ϝογϡ࡞੒ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 ϕʔεϝογϡͷ࡞੒ʢblockMeshDict Λฤू) . . . . . . . . . . . 89 ಛ௃ઢͷநग़ʢsurfaceFeatureExtractDict Λฤूʣ . . . . . . . . . 91 ϝογϡ࡞੒ʢsnappyHexMeshDict Λฤूʣ . . . . . . . . . . . . 93 3.5 ܭࢉ࣮ߦ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 3.6 ݁Ռॲཧ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 3.7 ·ͱΊ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 [ίϥϜ]άϥϑ࡞੒ʹ͸ԿΛ࢖͏͔ʁ . . . . . . . . . . . . . . . . . . . . . 104 ෇࿥ A gnuplot ʹΑΔάϥϑॲཧ 106 A.1 z Ґஔҧ͍Ͱͷྲྀ଎෼෍ . . . . . . . . . . . . . . . . . . . . . . . . 106 ෇࿥ B OpenFOAM ͷ Tips 113 B.1 ϝογϡ඼࣭ͷ֬ೝ . . . . . . . . . . . . . . . . . . . . . . . . . . 113 B.2 ࿈ଓࣜͷޡࠩ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 B.3 y+ ͷ֬ೝ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 B.4 ྲྀྔͷ੔߹ੑ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 ෇࿥ C ιϑτͷΠϯετʔϧ 119 C.1 OpenFOAM ͷΠϯετʔϧ . . . . . . . . . . . . . . . . . . . . . 119 C.2 ParaView ͷΠϯετʔϧ . . . . . . . . . . . . . . . . . . . . . . . 121 C.3 Python ͷϥΠϒϥϦͷΠϯετʔϧ . . . . . . . . . . . . . . . . . 121 C.4 FreeCAD ͷͷΠϯετʔϧ . . . . . . . . . . . . . . . . . . . . . . 123 C.5 gnuplot ͷΠϯετʔϧ . . . . . . . . . . . . . . . . . . . . . . . . 123 ࢀߟจݙ 126 ͋ͱ͕͖ 128 – iv –
  5. 7 ୈ 1 ষ ԁ؅಺ͷྲྀΕͷཧ࿦ ͜ͷষͰ͸ɺԁ؅಺ྲྀΕͷجຊతͳ֓೦ʹ͍ͭͯ঺հ͠·͢ɻԁ؅಺ͷྲྀΕ ͸ཧ࿦తʹ΋޿͘ཧղ͞Ε͓ͯΓɺಛʹ૚ྲྀͷ৔߹ɺϋʔήϯɾϙΞζΠϢͷ ྲྀΕͷۙࣅ͕ࣜద༻͞ΕΔ͜ͱ͕஌ΒΕ͍ͯ·͢ɻ͜ΕΒͷ஌ࣝ͸ɺ࣍ষҎ߱ Ͱղઆ͢Δྲྀମղੳͷલఏ஌ࣝͰ͢ɻ 1.1

    ԁ؅಺ͷ଎౓෼෍ ௚ܘ d(൒ܘ R)ɺ௕͞ L ͷԁ؅Λߟ͑·͢ɻԁ؅಺ͷ࣠ํ޲ͷ଎౓෼෍͸ྲྀೖޱͰ ۉҰͰ͕͢ɺޙྲྀͰ͸น໘ۙ͘ͷ೪ੑʹΑͬͯ์෺ઢܕʹൃୡ͠·͢ɻ·ͨɺྲྀΕ͕ ׬શʹൃୡ͢Δ·Ͱͷ۠ؒͷ͜ͱΛॿ૸۠ؒͱ͍͍ɺͦͷ۠ؒͷ௕͞Λॿ૸ڑ཭ͱ͍ ͍·͢ɻ 助走区間 十分発達した流れ 助走距離 ˛ ਤ 1.1: ॿ૸ڑ཭ – 1 –
  6. 8 ୈ 1 ষ ԁ؅಺ͷྲྀΕͷཧ࿦ 1.2 ૚ྲྀྲྀΕʢϋʔήϯɾϙΞζΠϢྲྀΕͷۙࣅࣜʣ ԁ؅಺ͷྲྀΕͰ͸ϨΠϊϧζ਺͕ Rec ≒

    2300 Ͱ૚ྲྀ͔Βཚྲྀ΁ͱભҠ͢Δ͜ͱ ͕࣮ݧΑΓ஌ΒΕ͍ͯ·͢ɻͦͷͱ͖ͷϨΠϊϧζ਺ Rec ΛྟքϨΠϊϧζ਺ͱ͍ ͍·͢ɻ૚ྲྀ͸ϋʔήϯɾϙΞζΠϢྲྀΕͷۙࣅࣜ uz = 2ub ( 1 − ( r R )2 ) ͕੒Γཱ ͪɺཚྲྀ͸؅தԝʹ͓͚Δ࠷େྲྀ଎Λ umax ɺ؅น໘͔Βͷڑ཭Λ y ͱͨ͠ͱ͖ɺࢦ ਺๏ଇ uz = umax ( y R )1/n ʹै͍·͢*1ɻे෼ൃୡ͢Δ·Ͱͷڑ཭ L ͸ɺ૚ྲྀͰ͸ L/d = 0.06Re ͱϨΠϊϧζ਺ʹൺྫܾͯ͠·ΓɺཚྲྀʹͳΔͱ L/d = 25 ∼ 40 ͱ ϨΠϊϧζ਺ʹґଘͤͣʹܾ·Γ·͢ɻ 1.2 ૚ྲྀྲྀΕʢϋʔήϯɾϙΞζΠϢྲྀΕͷۙࣅࣜʣ ͜͜Ͱ͸ɺఆৗঢ়ଶʹ͓͚ΔφϏΤɾετʔΫεํఔ͔ࣜΒϋʔήϯɾϙΞζΠϢ ྲྀΕͷۙࣅࣜΛಋ͖·͢ɻ ԁ౵࠲ඪܥ (r, θ, z) Ͱͷ z ํ޲ͷφϏΤɾετʔΫεํఔࣜ͸ࣜ 1.1 Ͱ͢ɻ ࣜ 1.1: φϏΤɾετʔΫεํఔࣜ ρ ( uz ∂uz ∂z + ur ∂uz ∂r ) = − ∂p ∂z + µ [ 1 r ∂ ∂r ( r ∂uz ∂r ) + ∂2uz ∂z2 ] ॿ૸ڑ཭Λे෼ʹͱΓɺे෼ൃୡͨ͠ྲྀΕͷ଎౓෼෍͸࣠ํ޲ʹมԽΛ͠ͳ͍ͨ Ίɺ∂uz ∂z = 0 Ͱ͋Γɺ൒ܘํ޲ͷྲྀ଎͸ 0(ur = 0) Ͱ͋Δ͜ͱ͔Βࣜ 1.2 ͱͳΓ·͢ɻ ࣜ 1.2: ࣜมܗ.1 0 = − ∂p ∂z + µ 1 r ∂ ∂r ( r ∂uz ∂r ) ྆ล r Ͱੵ෼ͯ͠·͢ɻ ࣜ 1.3: ࣜมܗ.2 uz = 1 4µ ( − ∂p ∂z ) (R2 − r2) = 2ub ( 1 − ( r R )2 ) Ҏ্ͷΑ͏ʹͯ͠ϋʔήϯɾϙΞζΠϢྲྀΕͷۙࣅ͕ࣜಋ͔Ε·͢ɻ ͜͜Ͱɺµ ͸೪ੑ܎਺ɺub = 1 πR2 ∫ R 0 2πruz dr = R2 8µ ( − ∂p ∂z ) ͸࣠ํ޲ͷฏۉྲྀ଎ Ͱ͢ɻ *1 ࢦ਺ 1/n ͸ɺϨΠϊϧζ਺ Re ͷൣғʹ͓͍ͯχΫϥθͷ࣮ݧʹΑΔ – 2 –
  7. 9 ୈ 2 ষ OpenFOAM Ͱͷ blockMesh Λ ༻͍ͨ૚ྲྀղੳ ͜ͷষͰ͸ԁ౵಺ͷྲྀΕͷ

    OpenFOAM ͷઃఆํ๏ʹ͍ͭͯղઆ͠·͢ɻ ີ౓มԽΛ൐Θͳ͍ඇѹॖྲྀΕΛԾఆ͓ͯ͠Γɺܭࢉෛՙ΋ͦΕ΄Ͳߴ͘ͳ ͘ɺ͔ͭཧ࿦ࣜͱͷൺֱ΋Ͱ͖Δ୊ࡐͰ͢ɻղੳઃఆͷํ๏Λཧղ͠ɺ૚ྲྀͰ ͷϋʔήϯɾϙΞζΠϢྲྀΕͷۙࣅࣜͱ OpenFOAM Ͱͷ݁ՌͱͷൺֱΛߦ ͍·͢ɻ 2.1 ղੳͷ໨త ຊॻͰ͸ɺԁ؅಺ͷ૚ྲྀͷۙࣅղͰ͋ΔϋʔήϯɾϙΞζΠϢྲྀΕΛ୊ࡐʹ͠ɺཧ ࿦ࣜͱ OpenFOAM ͷൺֱΛߦ͏͜ͱΛ໨తͱ͠·͢ɻ ԁ؅಺ͷ૚ྲྀʹ͍ͭͯͷϙΠϯτ͸ҎԼͱͳΓ·͢ɻ • ྟքϨΠϊϧζ Rec ≒ 2300 Ͱ૚ྲྀ͔Βཚྲྀ΁ͷભҠ • े෼ൃୡͨ͠ྲྀΕͰͷ૚ྲྀͷ଎౓෼෍͸ϋʔήϯɾϙΞζΠϢྲྀΕͷۙࣅࣜ uz (r) = 2ub ( 1 − ( r R )2 ) • ૚ྲྀͰͷॿ૸۠ؒͷڑ཭͸૚ྲྀͰ͸ L/d = 0.06Re 2.2 OpenFOAM ͰͷγϛϡϨʔγϣϯ OpenFOAM Λ༻͍ͯਤ 2.1 ͷΑ͏ͳԁ؅಺ͷྲྀΕγϛϡϨʔγϣϯΛߦ͍·͢ɻ – 3 –
  8. 1 0 ୈ 2 ষ OpenFOAM Ͱͷ blockMesh Λ༻͍ͨ૚ྲྀղੳ 2.2

    OpenFOAM ͰͷγϛϡϨʔγϣϯ 1200 mm 20mm 0.1m/s ˛ ਤ 2.1: ԁ؅಺ͷྲྀΕͷγϛϡϨʔγϣϯ݁Ռ ද໘ͷน໘ૈ͞ͷӨڹ·Ͱ͸ɺຊॻͰ͸औΓѻ͍·ͤΜ*1ɻ ղੳϑϩʔ ·ͣ͸ղੳΛ࣮ߦ͢Δ·ͰͷશମͷྲྀΕΛԡ͓͖͑ͯ͞·͠ΐ͏ɻ • ιϧόͷબ୒ • ࡞ۀϑΥϧμͷ࡞੒ • νϡʔτϦΞϧΛίϐʔ • ϝογϡੜ੒ (blockMesh) • ղੳઃఆ (OpenFOAM ͷઃఆϑΝΠϧ) • ܭࢉ࣮ߦ (OpenFOAM) • ղੳ݁ՌͷՄࢹԽ (ParaViewɺPython) ௨ৗɺղੳϑϩʔͷதʹ͸ղੳ༻ͷϞσϧ࡞੒ͷ޻ఔ͕͋Γ·͕͢ɺࠓճ͸ blockMesh ͰϝογϡΛอ࣋ͨ͠ܗঢ়Λ࡞੒͠·͢ͷͰ 3D-CAD Λ༻͍ͨϞσϧ࡞ ੒ͷ޻ఔ͸ෆཁͰ͢ɻblockMesh ͸ OpenFOAM ͷඪ४ϢʔςΟϦςΟʹؚ·Εͯ ͍ΔϓϩάϥϜͰɺOpenFOAM ΛΠϯετʔϧࡁͰ͋Ε͹৽ͨʹΠϯετʔϧͷख ଓ͖͸ෆཁͰ͢ɻ *1 ϨΠϊϧζ਺ Re ͕খ͍͞ͱૈ͞ʹӨڹ͕ͳ͘ɺཚྲྀঢ়ଶͷΑ͏ʹϨΠϊϧζ਺ Re ͕େ͖͍ͱ؅ ຎࡲ܎਺ͳͲʹӨڹ͠·͢ɻ – 4 –
  9. 1 1 ୈ 2 ষ OpenFOAM Ͱͷ blockMesh Λ༻͍ͨ૚ྲྀղੳ 2.2

    OpenFOAM ͰͷγϛϡϨʔγϣϯ プリ処理 モデル作成 メッシュ作成 解析設定 計算実行 結果処理 blockMesh ソルバ ポスト処理 OpenFOAM ParaView Python ˛ ਤ 2.2: ղੳϑϩʔ ιϧόͷબ୒ OpenFOAM ͸ղ͖͍ͨ໰୊ʹదͨ͠ιϧόΛબ୒͢Δඞཁ͕͋Γ·͢ɻԁ؅಺ ྲྀΕ͸ɺ୯૬ྲྀͰԹ౓มԽͱີ౓มԽ͕ແࢹͰ͖ΔඇѹॖྲྀΕͱԾఆͯ͠ղੳΛߦ͏ ͨΊɺͦΕʹదͨ͠ιϧόͷબ୒͕ඞཁͰ͢ɻ͜ͷΑ͏ͳ৚݅ʹదͨ͠ OpenFOAM ͷ୅දతͳιϧόͱͯ͠͸ද 2.1 ͷ΋ͷ͕ڍ͛ΒΕ·͢ɻ ˝ ද 2.1: ඇѹॖྲྀΕͷ୅දతͳιϧό ιϧό໊ ҙຯ icoFoam ඇఆৗ૚ྲྀղੳιϧό pimpleFoam ඇఆৗཚྲྀղੳιϧό ʢPISO+SIMPLE ͷ PIMPLE ΞϧΰϦζϜʣ pisoFoam ඇఆৗཚྲྀղੳιϧόʢPIS ๏ʣ simpleFoam ఆৗཚྲྀղੳιϧόʢSIMPLE ๏ʣ ఆৗղੳΛߦ͏ͨΊ SIMPLE ๏ (Semi-Implicit Method for Pressure Linked Equations) ΞϧΰϦζϜʹै͏ఆৗཚྲྀղੳͷιϧόͷ simpleFoam Λ࢖͍·͢ɻ ࢧ഑ํఔࣜ ιϧόͷબ୒ʹ͸ɺݱ৅ΛͲͷΑ͏ͳํఔࣜͰѻ͏͔΋߹Θͤͯ֬ೝ͓ͯ͘͠ͱྑ – 5 –
  10. 7 4 ୈ 2 ষ OpenFOAM Ͱͷ blockMesh Λ༻͍ͨ૚ྲྀղੳ 2.8

    ݁Ռॲཧ if i >= 2: plt.legend(loc="upper center",bbox_to_anchor=(1.0, 1.2)› ›, fontsize=16) # άϥϑλΠτϧͷઃఆ axes[i].set_title(f"z={zCase.split('_')[1]}", fontsize=20) # άϦου axes[i].grid("-") # άϥϑΛPDFϑΝΠϧͱͯ͠อଘ plt.savefig("python_plot/result/multiplot_py.pdf", bbox_inches=› ›'tight') Ͱ͸ɺPython εΫϦϓτΛ࣮ߦ͠·͠ΐ͏ɻ ˝ Python εΫϦϓτ plot.py Λ࣮ߦ $ python3 python_plot/plot.py ύεʹ஫ҙ Ϧετ 2.27 ͷ࣮ߦ͸ɺCylinder_blockMesh ϑΥϧμʹ͍Δঢ়ଶͰਖ਼ৗʹಈ ࡞͢ΔϓϩάϥϜʹͳ͍ͬͯ·͢ɻ Ҏ্ͷεΫϦϓτΛ࣮ߦ͢Δͱ python_plot/result/multiplot.pdf ͕ग़ྗ͞Εਤ 2.41 ͷΑ͏ʹཧ࿦ࣜͱ OpenFOAM ʹΑΔ݁Ռͷάϥϑ͕࡞੒͞Ε͍ͯ·͢ɻ 0.00 0.02 0.04 0.06 0.08 0.10 0.12 0.14 0.16 0.18 0.20 Uz[m/s] 0.010 0.008 0.006 0.004 0.002 0.000 0.002 0.004 0.006 0.008 0.010 y[m] z=0.001m 0.00 0.02 0.04 0.06 0.08 0.10 0.12 0.14 0.16 0.18 0.20 Uz[m/s] 0.010 0.008 0.006 0.004 0.002 0.000 0.002 0.004 0.006 0.008 0.010 y[m] z=0.4m 0.00 0.02 0.04 0.06 0.08 0.10 0.12 0.14 0.16 0.18 0.20 Uz[m/s] 0.010 0.008 0.006 0.004 0.002 0.000 0.002 0.004 0.006 0.008 0.010 y[m] z=0.6m OpenFOAM Theory ˛ ਤ 2.41: Python ʹΑΔάϥϑԽ – 68 –
  11. 1 3 4 ͋ͱ͕͖ ຊॻΛ͝ߪೖ͍͖ͨͩ͋Γ͕ͱ͏͍͟͝·͢ɻຊॻͰ͸ɺԁ؅಺ͷ૚ྲྀΛର৅ʹྲྀ ମղੳʹ͍ͭͯղઆΛߦ͍·ͨ͠ɻࠓճ͸ OpenFOAM ͷଟ༷ͳػೳͷҰ෦ͷΈΛ ͝঺հͰ͖·͕ͨ͠ɺ͞Βʹৄࡉͳઆ໌͕ඞཁͳ఺΋͋Δ͔ͱࢥ͍·͢ɻ ݫີղΛٻΊΔͷ͕ࠔ೉ͳղੳର৅Ͱ͸ɺγϛϡϨʔγϣϯΛ௨ͯ͡ݱ৅Λཧղ͢

    Δ͜ͱ͕ඇৗʹॏཁͩͱஶऀ͸ߟ͍͑ͯ·͢ɻͦͷͨΊɺຊॻͰ͸ཧ࿦తʹΑ͘ཧղ ͞Ε͍ͯΔԁ؅಺ͷ૚ྲྀྲྀΕΛ୊ࡐʹબͼ·ͨ͠ɻγϛϡϨʔγϣϯͷଥ౰ੑΛ֬ೝ ͢ΔͨΊʹ͸ɺ࣮ݧσʔλ΍ط஌ͷݫີղͱͷൺֱΛߦ͍ɺ݁Ռͷ৴པੑΛݕূ͢Δ ඞཁ͕͋Γ·͢ɻຊॻΛ͖͔͚ͬʹࣗ͝਎ͰγϛϡϨʔγϣϯ͍ͨ͠಺༰ʹ౰ͯ͸Ί ͍͚ͯͨͩΕ͹ͱࢥ͍·͢ɻ Ӊ஦ʹೖͬͨΧϚΩϦ • Xɿhttps://x.com/t_kun_kamakiri • ϒϩά URLɿhttps://takun-physics.net/: – 128 –
  12. 1 3 5 OpenFOAM ࣗ୐Ͱ࢝ΊΔྲྀମղੳ 2024 ೥ 5 ݄ 21

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