$30 off During Our Annual Pro Sale. View Details »

OpenFOAM初級編チュートリアル(キャビティ流れ)

 OpenFOAM初級編チュートリアル(キャビティ流れ)

kamakiri1225

June 30, 2023
Tweet

More Decks by kamakiri1225

Other Decks in Science

Transcript

  1. 1
    OpenFOAM ॳڃฤ
    — ΩϟϏςΟྲྀΕ —
    ʦஶʧӉ஦ʹೖͬͨΧϚΩϦ
    ٕज़ॻయʢ2023 ೥Նʣ৽ץ
    2023 ೥ 7 ݄ 15 ೔ɹ ver 1.0

    View Slide

  2. 2
    ˙໔੹
    ຊॻ͸৘ใͷఏڙͷΈΛ໨తͱ͍ͯ͠·͢ɻ
    ຊॻͷ಺༰Λ࣮ߦɾద༻ɾӡ༻ͨ͜͠ͱͰԿ͕ى͖Α͏ͱ΋ɺͦΕ͸࣮ߦɾద༻ɾӡ༻ͨ͠ਓࣗ਎ͷ੹೚Ͱ͋
    Γɺஶऀ΍ؔ܎ऀ͸͍͔ͳΔ੹೚΋ෛ͍·ͤΜɻ
    ˙঎ඪ
    ຊॻʹొ৔͢ΔγεςϜ໊΍੡඼໊͸ɺؔ܎֤ࣾͷ঎ඪ·ͨ͸ొ࿥঎ඪͰ͢ɻ
    ·ͨຊॻͰ͸ɺ™ɺ®ɺ© ͳͲͷϚʔΫ͸লུ͍ͯ͠·͢ɻ

    View Slide

  3. 3
    ͸͡Ίʹ
    ຊॻΛखʹऔ͍͖ͬͯͨͩɼ͋Γ͕ͱ͏͍͟͝·͢ɽ
    ຊॻ͸ɼOpenFOAM ೖ໳ॻͱॳ৺ऀͷͨΊͷୈҰาͱͯ͠Θ͔Γ΍͘͢ղઆͨ͠ຊͰ͢ɽ
    ຊॻͷ໨త
    ຊॻͷ໨త͸ɼOpenFOAM ͷجૅతͳ࢖͍ํΛ਎ʹ͚ͭΔ͜ͱͰ͢ɽOpenFOAM ͸ιϧό͝
    ͱʹνϡʔτϦΞϧ͕༻ҙ͞Ε͓ͯΓɼ
    ɺͦͪΒΛࣗ਎ͷղੳͨ͠Ϟσϧʹमਖ਼ͯ͠࢖͏͜ͱʹͳ
    Γ·͢ɽ͔͠͠ɼOpenFOAM ॳ৺ऀʹͱ͍͖ͬͯͳΓࣗ਎ͷղੳΛ͢Δͱ͍͏͜ͱ͸೉͘͠ɼͨ
    ͍͍ͯͷ৔߹͸νϡʔτϦΞϧΛோΊͯΈͯɼઃఆํ๏Λ஌Δ͜ͱ͔Β࢝Ί·͢ɽͦͯ͠ઃఆํ๏
    Λཧղͯࣗ͠਎ͷΦϦδφϧͷղੳ΁ͱਐΉ৔߹͕΄ͱΜͲͰ͢ɽ
    ͨͩ͠ɼOpenFOAM ΍ͦͷଞιϑτ΢ΣΞͷΠϯετʔϧํ๏ʹ͍ͭͯ͸ຊॻͰ͸ѻ͍·
    ͤΜɽ
    ຊॻͷର৅ಡऀ
    ຊॻͰ͸࣍ͷΑ͏ͳਓΛର৅ͱ͍ͯ͠·͢ɻ
    • ྲྀମղੳΛ͜Ε͔Β͸͡ΊΔਓ
    • OpenFOAM ʹ͍ͭͯڵຯ͕͋Δਓ
    • ࣗ୐ͰγϛϡϨʔγϣϯ͢Δ͜ͱʹϫΫϫΫ͢Δਓ
    લఏͱ͢Δ஌ࣝ
    ຊॻΛಡΉʹ͋ͨΓɺ࣍ͷΑ͏ͳ஌͕ࣝඞཁͱͳΓ·͢ɻ
    • Linux ʹ͍ͭͯͷجૅ஌ࣝ
    • ྲྀମྗֶͷجૅ஌ࣝ
    ࢖༻͢Διϑτ΢ΣΞͷόʔδϣϯ
    ຊॻͰ࢖༻͢Δͷ͸ιϑτ΢ΣΞ͸ҎԼͱͳΓ·͢ɽ
    • OpenFOAM v2212 (WSL2)
    • ParaView 5.11 (WindowsɺMac)
    WSL2 ͷ Ubuntu2204 ʹ OpenFOAM ΛΠϯετʔϧͯ͠࢖༻͍ͯ͠Δ͜ͱΛ૝ఆ͍ͯ͠·
    ͢ɽParaView ͸ Windows ΋͘͠͸ Mac ʹΠϯετʔϧ͓ͯ͠࢖͍͍ͩ͘͞ɽ
    ໰͍߹Θͤઌ
    ຊॻʹؔ͢Δ࣭໰΍͓໰͍߹Θͤ͸ɺ࣍ͷϖʔδ·Ͱ͓ئ͍͠·͢ɽਖ਼ޡදͱαϯϓϧίʔυ΋
    ͜͜ʹ͋Γ·͢ɽ
    • ϒϩά URL : https://takun-physics.net/
    • Twitter: https://twitter.com/t_kun_kamakiri
    – i –

    View Slide

  4. 4
    ͸͡Ίʹ
    ँࣙ
    ຊॻ͸ XXXX ࢯͱ XXXX ࢯʹϨϏϡʔ͍͖ͯͨͩ͠·ͨ͠ɽ͜ͷ৔ΛआΓͯײँ͠·͢ɻ͋
    Γ͕ͱ͏͍͟͝·ͨ͠ɽ
    – ii –

    View Slide

  5. 5
    ໨࣍
    ͸͡Ίʹ i
    ୈ 1 ষ ΩϟϏςΟྲྀΕ 1
    1.1 શମͷྲྀΕ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
    1.1.1 ιϧόͷબ୒ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
    1.1.2 ࢧ഑ํఔࣜ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
    1.2 νϡʔτϦΞϧΛίϐʔ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
    1.2.1 ղੳର৅ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
    1.3 ϝογϡ࡞੒ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
    1.3.1 blockMesh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
    1.3.2 chekMesh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
    1.3.3 ڥք৚݅ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
    1.3.4 ෺ੑ஋ͷઃఆ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
    1.3.5 εΩʔϜ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
    1.3.6 ୅਺ιϧό . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
    1.3.7 ܭࢉ੍ޚ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
    1.4 ܭࢉ࣮ߦ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
    1.5 ݁Ռॲཧ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
    1.5.1 ྲྀ଎ίϯλ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
    1.5.2 ྲྀ଎ϕΫτϧ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
    1.5.3 ྲྀઢ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
    1.6 ֬ೝࣄ߲ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
    1.6.1 ࿈ଓࣜͷޡࠩͷ֬ೝ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
    1.6.2 ࢒ࠩͷ֬ೝ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
    1.6.3 y+ ͷ֬ೝ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
    ͋ͱ͕͖ / ͓ΘΓʹ 28
    – iii –

    View Slide

  6. 6
    ୈ 1 ষ ΩϟϏςΟྲྀΕ
    ͜ͷষͰ͸νϡʔτϦΞϧͷΩϟϏςΟྲྀΕͷઃఆํ๏Λ֬ೝ͍͖ͯ͠·͢ɽΩϟϏςΟྲྀ
    Ε͸ 2 ࣍ݩͷඇѹॖྲྀΕΛԾఆ͓ͯ͠Γɼܭࢉෛՙ͕ܰ͘Ϟσϧͷઃఆ߲໨΋ଟ͘ͳ͍ͨΊ
    OpenFOAM ॳ৺ऀʹ͸ͱ͖ͬͭ΍͍͢ྫ୊Ͱ͢ɽνϡʔτϦΞϧͷத਎Λ֬ೝ͍ͯ͘͜͠ͱͰɼ
    ࣗ਎ͷઃఆϑΝΠϧͷํ๏ΛֶΜͰ͍͘͜ͱʹͳΓ·͢ɽ
    1.1 શମͷྲྀΕ
    ·ͣ͸ղੳΛ࣮ߦ͢Δ·ͰͷશମͷྲྀΕΛԡ͓͖͑ͯ͞·͠ΐ͏ɽ
    • ιϧόͷબ୒
    • νϡʔτϦΞϧΛίϐʔ
    • ϝογϡੜ੒ (blockMesh)
    • ղੳઃఆ (OpenFOAM ͷઃఆϑΝΠϧ)
    • ܭࢉ࣮ߦ (OpenFOAM)
    • ղੳ݁ՌͷՄࢹԽ
    ΦϦδφϧͷܗঢ়Λղੳ͍ͨ͠৔߹͸ղੳ༻ͷϞσϧ࡞੒ͷ޻਺΋͋Γ·͕͢ɼࠓճ͸
    blockMesh ͰϝογϡΛอ࣋ͨ͠ܗঢ়Λ࡞੒͢ΔͷͰղੳϞσϧ࡞੒ͷ޻਺͸͜͜Ͱ͸ൃੜ
    ͠·ͤΜɽ
    1.1.1 ιϧόͷબ୒
    ࠓճղੳΛ͢ΔΩϟϏςΟྲྀΕ͸ɼ୯૬ྲྀΕͰԹ౓มԽͱີ౓มԽ͕ແࢹͰ͖ΔඇѹॖྲྀΕͱԾ
    ఆͯ͠ղੳΛߦ͍·͢ɽඇѹॖྲྀΕʹ͸୅දతͳ΋ͷͱͯ͠දͷΑ͏ͳιϧό͕͋Γ·͢ɽ
    ˝ ද 1.1: ඇѹॖੑྲྀΕͷιϧόʣ
    ιϧό ༻్
    icoFoam ඇఆৗ૚ྲྀղੳιϧό
    simpleFoam ఆৗཚྲྀղੳιϧό (SIMPLE ๏)
    pisoFoam ඇఆৗཚྲྀղੳιϧό (PISO ๏)
    pimpleFoam ඇఆৗཚྲྀղੳιϧό (PISO ͱ SIMPLE Λ૊Έ߹Θͤͨ PIMPLE ๏)
    ඇఆৗͰཚྲྀϞσϧΛ࢖Θͳ͍ղੳιϧόͱͯ͠ icoFoam Λ࢖͏͜ͱʹ͠·͢ɽ
    – 1 –

    View Slide

  7. 7
    ୈ 1 ষ ΩϟϏςΟྲྀΕ 1.2 νϡʔτϦΞϧΛίϐʔ
    1.1.2 ࢧ഑ํఔࣜ
    ࣜ 1.1: ࿈ଓͷࣜ
    ∇ · u = 0
    ࣜ 1.2: ӡಈྔอଘͷࣜ
    ∂u
    ∂t
    + ∇ · (uu) − ∇ · (ν∇u) = ∇p
    • u : ྲྀ଎ϕΫτϧ
    • p : ѹྗ
    1.2 νϡʔτϦΞϧΛίϐʔ
    icoFoam ͷνϡʔτϦΞϧʹ 2 ࣍ݩղੳ༻ͷΩϟϏςΟྲྀΕ͕༻ҙ͞Ε͍ͯ·͢ɽҎԼͷίϚ
    ϯυͰϑΥϧμ࡞੒ͱνϡʔτϦΞϧͷίϐʔ͠·͢ɽ
    ˝ νϡʔτϦΞϧͷίϐʔ
    $ mkdir -p tutorial
    $ cd tutorial/
    $ cp -r $FOAM_TUTORIALS/incompressible/icoFoam/cavity/cavity .
    $ cd cavity/
    • ϑΥϧμͷ࡞੒ (-p Φϓγϣϯ͸్தϑΝΠϧ΋࡞੒)
    • tutorial ϑΥϧμʹҠಈ
    • cavity νϡʔτϦΞϧΛίϐʔ
    • cavity ϑΥϧμʹҠಈ
    ϑΥϧμߏ੒Λ֬ೝ͍ͨ͠৔߹͸ tree ίϚϯυͰ֬ೝΛߦ͏͜ͱ͕Ͱ͖·͢ɽ
    ˝ ϑΥϧμߏ੒ͷ֬ೝ
    $ tree
    .
    ᵓᴷᴷ 0
    ᴹ ᵓᴷᴷ U
    ᴹ ᵋᴷᴷ p
    ᵓᴷᴷ constant
    ᴹ ᵋᴷᴷ transportProperties
    ᵋᴷᴷ system
    – 2 –

    View Slide

  8. 8
    ୈ 1 ষ ΩϟϏςΟྲྀΕ 1.3 ϝογϡ࡞੒
    ᵓᴷᴷ PDRblockMeshDict
    ᵓᴷᴷ blockMeshDict
    ᵓᴷᴷ controlDict
    ᵓᴷᴷ decomposeParDict
    ᵓᴷᴷ fvSchemes
    ᵋᴷᴷ fvSolution
    tree ίϚϯυ͕Πϯετʔϧ͞Ε͍ͯͳ͍৔߹͸ tree ίϚϯυͰΤϥʔʹͳΔͷͰඞཁʹԠ͡
    ͯΠϯετʔϧͯ͠Έ͍ͯͩ͘͞ɽΤϥʔ͕ग़ͯ΋߄ͯͯ͸͍͚·ͤΜɽ
    1.2.1 ղੳର৅
    ΩϟϏςΟྲྀΕ͸ۭಎ΍͘΅ΈͳͲͷ಺෦ྲྀΕͰ޻ֶతʹ΋਎ۙͳྲྀΕݱ৅Ͱ͢ɽਤͷΑ͏ʹ্
    ໘ͷΈʹ଎౓نఆ͞Εͨ৚݅ʹΑΓղੳΛߦ͍·͢ɽ
    ˛ ਤ 1.1: ΩϟϏςΟྲྀΕͷղੳ
    1.3 ϝογϡ࡞੒
    ϝογϡ࡞੒͸ blockMesh Ͱߦ͍·͢ɽblockMesh ϝογϡ͸ʮsystem/blockMeshDictʯʹ
    ϝογϡσʔλ࡞੒༻ͷઃఆΛೖྗ͠ϝογϡ࡞੒Λߦ͏͜ͱ͕Ͱ͖·͢ɽ
    1.3.1 blockMesh
    ˝ blockMeshDict
    /*--------------------------------*- C++ -*------------------------------›
    ›----*\
    – 3 –

    View Slide

  9. 9
    ୈ 1 ষ ΩϟϏςΟྲྀΕ 1.3 ϝογϡ࡞੒
    | ========= | ›
    › |
    | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox ›
    › |
    | \\ / O peration | Version: v2212 ›
    › |
    | \\ / A nd | Website: www.openfoam.com ›
    › |
    | \\/ M anipulation | ›
    › |
    \*-----------------------------------------------------------------------›
    ›----*/
    FoamFile
    {
    version 2.0;
    format ascii;
    class dictionary;
    object blockMeshDict;
    }
    // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ›
    ›* * //
    scale 0.1;
    vertices
    (
    (0 0 0) //0
    (1 0 0) //1
    (1 1 0) //2
    (0 1 0) //3
    (0 0 0.1) //4
    (1 0 0.1) //5
    (1 1 0.1) //6
    (0 1 0.1) //7
    );
    blocks
    (
    hex (0 1 2 3 4 5 6 7) (20 20 1) simpleGrading (1 1 1)
    );
    edges
    (
    – 4 –

    View Slide

  10. 1
    0
    ୈ 1 ষ ΩϟϏςΟྲྀΕ 1.3 ϝογϡ࡞੒
    );
    boundary
    (
    movingWall
    {
    type wall;
    faces
    (
    (3 7 6 2)
    );
    }
    fixedWalls
    {
    type wall;
    faces
    (
    (0 4 7 3)
    (2 6 5 1)
    (1 5 4 0)
    );
    }
    frontAndBack
    {
    type empty;
    faces
    (
    (0 3 2 1)
    (4 5 6 7)
    );
    }
    );
    // **********************************************************************›
    ›*** //
    blockMeshDict ͷઆ໌͸ޙ΄Ͳ͢Δͱͯ͠ɼ·ͣ͸ blockMesh Λ࣮ߦͯ͠Έ·͠ΐ͏ɽ
    blockMesh ͷ࣮ߦ͸ҎԼͷίϚϯυͰߦ͍·͢ɽ
    ˝ blockMesh
    $ blockMesh
    blockMesh ࣮ߦޙʹ͸ҎԼͷΑ͏ͳϩά͕ग़ྗ͞Ε·͕͢ɼΤϥʔͷจࣈ͕ແ͚Ε͹ਖ਼ৗʹ࣮
    ߦ͞Ε͍ͯ·͢ɽ
    – 5 –

    View Slide

  11. 1
    1
    ୈ 1 ষ ΩϟϏςΟྲྀΕ 1.3 ϝογϡ࡞੒
    ˝ blockMesh ࣮ߦޙͷϩά
    ...
    (লུ)
    ...
    ----------------
    Mesh Information
    ----------------
    boundingBox: (0 0 0) (0.1 0.1 0.01)
    nPoints: 882
    nCells: 400
    nFaces: 1640
    nInternalFaces: 760
    ----------------
    Patches
    ----------------
    patch 0 (start: 760 size: 20) name: movingWall
    patch 1 (start: 780 size: 60) name: fixedWalls
    patch 2 (start: 840 size: 800) name: frontAndBack
    End
    blockMesh ͸ OpenFOAM ͷϝογϟʔʹ͋ͨΔ snappyHexMesh ͷϕʔεͱͳΔϝογϡ࡞
    ੒༻ʹ࢖ΘΕΔ͜ͱ΋͋Γ·͢͠ɼࠓճͷΑ͏ʹ؆୯ͳܗঢ়ͷ৔߹͸ blockMesh ͷΈͰ 6 ໘ମ
    ϝογϡͷΈͷϝογϡ࡞੒͢Δ͜ͱ΋Ͱ͖·͢ɽ
    blockMesh Λ࣮ߦ͢Δͱʮconstant/polyMeshʯʹϝογϡ৘ใ͕ग़ྗ͞Ε·͢ɽ
    scale
    scale ͸ϝογϡͷੇ๏ʹର͢ΔεέʔϦϯά܎਺Ͱ͢ɽ͜͜Ͱ͸ޙͰઆ໌͢Δ vertices Ͱ͸η
    ϯνϝʔτϧͱͯ͠ੇ๏Λఆٛ͢ΔͨΊ 0.1 ഒͷεέʔϧΛߦ͏͜ͱͰɼϝʔτϧܥͱͯ͠ϝο
    γϡσʔλΛ࡞੒͢Δ͜ͱʹͳΓ·͢ɽ
    ˝ scale
    scale 0.1;
    OpenFOAM ͸ SI ୯ҐܥͰܭࢉ͢ΔͨΊɼ௕͞ʹରͯ͠͸ϝʔτϧܥͰܭࢉΛߦ͏͜ͱʹͳΓ
    ·͢ɽ͔͠͠ɼϞσϧ࡞੒ͷࡍʹ͸ϛϦϝʔτϧ΍ηϯνϝʔτϧͰ࡞੒ͨ͠ํ͕Θ͔Γ΍͍͢
    έʔε΋͋Γ·͢ɽ
    vertices
    vertices Ͱ͸ϒϩοΫͷ௖఺ͷ࠲ඪΛఆٛ͠ɼ্͔Βॱ൪ʹ௖఺ʹ൪߸ׂ͕Γ౰ͯΒΕ·͢ɽ
    – 6 –

    View Slide

  12. 1
    2
    ୈ 1 ষ ΩϟϏςΟྲྀΕ 1.3 ϝογϡ࡞੒
    ΩϟϏςΟྲྀΕͷ৔߹͸ 6 ໘ମͰ 0~7 ·ͰਤͷΑ͏ʹ௖఺ʹׂΓ౰ͯΒΕ·͢ɽ
    ˝ vertices
    vertices
    (
    (0 0 0) //0
    (1 0 0) //1
    (1 1 0) //2
    (0 1 0) //3
    (0 0 0.1) //4
    (1 0 0.1) //5
    (1 1 0.1) //6
    (0 1 0.1) //7
    );
    ˛ ਤ 1.2: ௖఺ͷఆٛ
    blocks
    blocks ͰϒϩοΫͷܗঢ়Λఆٛ͠·͢ɽhex ͱࢦఆ͠ vertices Ͱఆٛͨ͠௖఺ 0~7 ͔ΒͳΔ 6
    ໘ମͷϝογϡΛ࡞੒͠·͢ɽ
    – 7 –

    View Slide

  13. 1
    3
    ୈ 1 ষ ΩϟϏςΟྲྀΕ 1.3 ϝογϡ࡞੒
    ˝ blocks
    blocks
    (
    hex (0 1 2 3 4 5 6 7) (20 20 1) simpleGrading (1 1 1)
    );
    (20 20 1) Ͱ͸ x1,x2,x3 ํ޲ͷ෼ׂ਺Λࢦఆ͍ͯ͠·͢ɽsimpleGrading (1 1 1) Ͱ͸ϒ
    ϩοΫͷลͷͷϝογϡαΠζͷ֦େൺ཰Λ༩͑Δ͜ͱ͕Ͱ͖·͢ɽࠓճ͸ x1,x2,x3 ํ޲͸ۉ౳
    ʹ෼ׂ͞ΕΔઃఆͱ͍ͯ͠·͢ɽ
    ˛ ਤ 1.3: ֦େൺ཰ͷઃఆ
    boundary
    boundary ͸ڥքͷ໊લͱλΠϓΛఆٛ͠·͢ɽfaces ʹ͸ vertices Ͱఆٛͨ͠௖఺ͷ൪߸Λࢦ
    ఆ͠໘Λఆ͍ٛͯ͠·͢ɽfixedWalls ΍ frontAndBack ͷΑ͏ʹɼෳ਺ͷ໘Λఆٛ͢Δ͜ͱͰά
    ϧʔϓԽ͢Δ͜ͱ΋Ͱ͖·͢ɽ
    ˝ boundary
    boundary
    (
    movingWall
    {
    type wall;
    faces
    (
    (3 7 6 2)
    );
    }
    fixedWalls
    {
    type wall;
    faces
    (
    (0 4 7 3)
    (2 6 5 1)
    (1 5 4 0)
    );
    – 8 –

    View Slide

  14. 1
    4
    ୈ 1 ষ ΩϟϏςΟྲྀΕ 1.3 ϝογϡ࡞੒
    }
    frontAndBack
    {
    type empty;
    faces
    (
    (0 3 2 1)
    (4 5 6 7)
    );
    }
    );
    ˛ ਤ 1.4: ֦େൺ཰ͷઃఆ
    ͜͜Ͱ͸ type ͸ patch,wall,empty Λ࢖͓ͬͯΓҙຯ͸දͷͱ͓ΓͰ͢ɽ
    1.3.2 chekMesh
    ϝογϡ඼࣭Λ֬ೝ͠·͢ɻ
    1.3.3 ڥք৚݅
    ڥք৚݅ͷઃఆ͸ 0 ϑΥϧμʹ֨ೲ͞Ε͍ͯ·͢ɽࠓճ͸ U ͱ p ͷϑΝΠϧ͕ղੳʹඞཁͰ͢
    ͷͰɼͦΕͧΕ֬ೝͯ͠Έ·͢ɽ
    – 9 –

    View Slide

  15. 1
    5
    ୈ 1 ষ ΩϟϏςΟྲྀΕ 1.3 ϝογϡ࡞੒
    ˝ ද 1.2: ڥքͷछྨ
    छྨ ༻్
    patch Ұൠతͳύονʢྲྀೖޱ΍ྲྀग़ޱʣ
    wall น໘ʢཚྲྀͷนؔ਺ʹ࢖༻ʣ
    empty 2 ࣍ݩܗঢ়ͷલޙͷ໘
    symmetryPlane ରশ໘
    wedge ࣠ରশܗঢ়ͷͨΊͷɼ͘͞ͼܕͷલޙ
    cyclic पظڥք໘
    • U ϑΝΠϧ : ྲྀ଎ϕΫτϧ
    • p ϑΝΠϧ : ѹྗ
    ڥք৚݅͸දͷ௨Γʹઃఆ͍ͯ͠·͢ɽ
    ˝ ද 1.3: ڥք৚݅ͷࢦఆ
    ڥք໘ͷ໊લ ڥք৚݅ U p
    movingWall ྲྀଋنఆ type fixedValue; type zeroGradient;
    value uniform (1 0 0);
    fixedWalls ׈Γແ͠ type noSlip; type noSlip;
    frontAndBack 2 ࣍ݩղੳ type empty; type empty;
    ˝ 0/U
    dimensions [0 1 -1 0 0 0 0];
    internalField uniform (0 0 0);
    boundaryField
    {
    movingWall
    {
    type fixedValue;
    value uniform (1 0 0);
    }
    fixedWalls
    {
    type noSlip;
    }
    frontAndBack
    {
    type empty;
    – 10 –

    View Slide

  16. 1
    6
    ୈ 1 ষ ΩϟϏςΟྲྀΕ 1.3 ϝογϡ࡞੒
    }
    }
    ˝ 0/p
    dimensions [0 2 -2 0 0 0 0];
    internalField uniform 0;
    boundaryField
    {
    movingWall
    {
    type zeroGradient;
    }
    fixedWalls
    {
    type zeroGradient;
    }
    frontAndBack
    {
    type empty;
    }
    }
    dimensions
    dimensions ͸෺ཧྔͷ୯ҐΛࣔ͠·͢ɽ[kg(࣭ྔ) m(௕͞) s(࣌ؒ) K(έϧϏϯ) mol(෺࣭ྔ)
    A(ిྲྀ) cd(ޫ౓)] ͷ৐਺Λҙຯ͍ͯ͠·͢ɽOpenFOAM Ͱ͸෺ཧతʹҙຯͷ͋Δʢ୯Ґ͕߹ͬ
    ͍ͯΔ͜ͱʣԋࢉͷΈΛߦ͏Α͏ʹ࣮૷͞Ε͍ͯΔͨΊ, ୯Ґ͕ਖ਼͘͠ઃఆ͞Ε͍ͯΔඞཁ͕͋Γ
    ·͢ɽ
    • ྲྀ଎ͷ৔߹ɿ[LT−1] ͳͷͰ [m/s] ͱͳ͍ͬͯ·͢ɽ
    ˝ U ͷ dimensions
    dimensions [0 1 -1 0 0 0 0];
    • ѹྗͷ৔߹ɿ[L2T−2] ͳͷͰ [m2/s2 ͱͳ͍ͬͯ·͢ɽ
    ˝ p ͷ dimensions
    dimensions [0 2 -2 0 0 0 0];
    ѹྗ͸௨ৗύεΧϧͷ୯ҐΛ࣋ͪ·͢ɽͭ·Γ୯Ґ໘ੵ౰ͨΓͷྗͱͯ͠ [Pa] = [N/m2] =
    – 11 –

    View Slide

  17. 1
    7
    ୈ 1 ষ ΩϟϏςΟྲྀΕ 1.3 ϝογϡ࡞੒
    [kg/ms2] ͱͳ͍ͬͯΔඞཁ͕͋Δ͸ͣͰ͢ɽ͔͠͠ɼOpenFOAM ͷඇѹॖιϧόͷѹྗ͸ີ౓
    Ͱׂͬͨ΋ͷͱͯ͠ఆٛ͞Ε͍ͯΔͷͰɼີ౓ͷ୯Ґ [kg/m3] ͰׂΒΕ͍ͯΔͱ͍͏͜ͱʹ஫ҙ
    ͢Δඞཁ͕͋Γ·͢ɽ
    internalField
    internalField ͸ϝογϡηϧ಺෦ঢ়ଶͷ෺ཧྔͷ஋Ͱ͢ɽuniform ͱ͢Δ͜ͱͰ಺෦஋͸ಉ͡
    ஋ʹઃఆ͞Ε͍ͯ·͢ɽ
    ˝ U ͷ internalField
    internalField uniform (0 0 0);
    ˝ p ͷ internalField
    internalField uniform 0;
    ྲྀ଎͸ 3 ࣍ݩϕΫτϧͰ (0 0 0) ͷॳظ಺෦ঢ়ଶΛ༩͍͑ͯ·͢ɽѹྗʹؔͯ͠͸Ұ༷ʹ 0 Λ༩
    ͍͑ͯ·͢ɽඇѹॖԾఆʹؔͯ͠ӡಈྔอଘଇͷࣜʹ͸ ∇p ͱ͍͏ඍ෼߲͔͠ͳ͍ͨΊɼѹྗͷ૬
    ର஋͕ҙຯΛ࣋ͪ·͢ɽ0 ͱ͢Δ͜ͱͰେؾѹج४ʢήʔδѹʣͱ͢Δ͜ͱ͕Ͱ͖·͢ɽ
    internalField
    boundaryField
    ˛ ਤ 1.5: internalField ͱ boundaryField
    boundaryField
    boundaryField ʹ͸ڥք໘Ͱͷ৚݅Λઃఆ͠·͢ɽ
    U ϑΝΠϧͷ movingWall ͸ྲྀ଎Λ༩͑ΔͷͰ type fixedValue ͱͯ͠Ұ༷ʹ (1 0 0) ͷྲྀ଎
    Λ༩͍͑ͯ·͢ɽfixedWalls ͸น৚݅ͱͯ͠ྲྀ଎͸ 0 Λ༩͍͑ͯ·͢ɽfrontAndBack ͸ type
    empty ͱͯ͠ڥք໘ͷ๏ઢํ޲ͷܭࢉ͸ߦΘͳ͍ઃఆͱ͍ͯ͠·͢ɽ
    ˝ U ͷ boundaryField
    boundaryField
    {
    – 12 –

    View Slide

  18. 1
    8
    ୈ 1 ষ ΩϟϏςΟྲྀΕ 1.3 ϝογϡ࡞੒
    movingWall
    {
    type fixedValue;
    value uniform (1 0 0);
    }
    fixedWalls
    {
    type noSlip;
    }
    frontAndBack
    {
    type empty;
    }
    }
    p ϑΝΠϧͷ movingWall ͸ type zeroGradient ͱͯ͠ޯ഑ͳ͠ͷ৚݅Λࢦఆ͠·͢ɽfixed-
    Walls ͷน৚݅Λ༩͑ͯΔ৔߹ͷѹྗ͸ type zeroGradient ͱͯ͠ޯ഑ͳ͠ͷ৚݅Λࢦఆ͠·͢ɽ
    frontAndBack ͸ U ಉ༷ type empty ͱͯ͠ڥք໘ͷ๏ઢํ޲ͷܭࢉ͸ߦΘͳ͍ઃఆͱ͍ͯ͠
    ·͢ɽ
    ˝ p ͷ boundaryField
    boundaryField
    {
    movingWall
    {
    type zeroGradient;
    }
    fixedWalls
    {
    type zeroGradient;
    }
    frontAndBack
    {
    type empty;
    }
    }
    – 13 –

    View Slide

  19. 1
    9
    ୈ 1 ষ ΩϟϏςΟྲྀΕ 1.3 ϝογϡ࡞੒
    1.3.4 ෺ੑ஋ͷઃఆ
    ෺ੑ͸ constant/transportProperties ϑΝΠϧʹΑΓߦ͍·͢ɽnu ͸ಈ೪ੑ܎਺Ͱ͢ɽಈ೪ੑ
    ܎਺ͷ୯Ґ͸ [m/s2] Ͱ͢ɽ
    ˝ constant/transportProperties
    nu 0.01;
    1.3.5 εΩʔϜ
    ඍ෼ΛͲͷΑ͏ʹ཭ࢄԽ͢Δ͔Λબ୒͢Δͷ͕཭ࢄԽεΩʔϜͰ͢ɽ཭ࢄԽεΩʔϜ͸ sys-
    tem/fvSchemes Ͱઃఆ͠·͢ɽ཭ࢄԽεΩʔϜͷબ୒͸ඇৗʹ೉͍͠ͷͰ࠷ॳ͸νϡʔτϦΞϧ
    ͷσϑΥϧτઃఆͰղੳΛਐΊͯྑ͍Ͱ͢ɽ
    ˝ system/fvSchemes
    ddtSchemes
    {
    default Euler;
    }
    gradSchemes
    {
    default Gauss linear;
    grad(p) Gauss linear;
    }
    divSchemes
    {
    default none;
    div(phi,U) Gauss linear;
    }
    laplacianSchemes
    {
    default Gauss linear orthogonal;
    }
    interpolationSchemes
    {
    default linear;
    }
    snGradSchemes
    {
    – 14 –

    View Slide

  20. 2
    0
    ୈ 1 ষ ΩϟϏςΟྲྀΕ 1.3 ϝογϡ࡞੒
    default orthogonal;
    }
    ཭ࢄԽεΩʔϜͷબ୒ʹΑͬͯ͸݁Ռ͕େ͖͘มΘΔ͜ͱ΋͋ΔͷͰৄ͘͠આ໌͓͖ͯ͠·͢ɽ
    ddtSchemes
    ddtSchemes ͸࣌ؒඍ෼ͷ཭ࢄԽεΩʔϜͰ͢ɽ
    ˝ ddtSchemes
    ddtSchemes
    {
    default Euler;
    }
    Euler ͱ͍ͯ͠ΔͨΊ࣌ؒඍ෼߲ʹؔͯ͠͸ 1 ࣍ਫ਼౓ͷ཭ࢄԽख๏Λͱ͍ͬͯ·͢ɽ
    ˝ ද 1.4: ࣌ؒඍ෼
    ddtSchemes ख๏
    Euler Euler ๏ (1 ࣍ਫ਼౓)
    backward ޙୀࠩ෼ (2 ࣍ਫ਼౓)
    CrankNicolson Crank-Nicolson ๏ (2 ࣍ਫ਼౓)
    steadyState ఆৗղੳ
    gradSchemes
    gradSchemes Ͱ͸ޯ഑ʹؔ͢Δ཭ࢄԽεΩʔϜΛઃఆ͠·͢ɽޯ഑͸ྫ͑͹ѹྗ߲ͷ −∇p ͳ
    Ͳ͕ͦΕʹ͋ͨΓ·͢ɽ
    ˝ gradSchemes
    gradSchemes
    {
    default Gauss linear;
    grad(p) Gauss linear;
    }
    default ͸ Gauss linear ͱ͓ͯ͠Γɼѹྗʹؔͯ͠΋ Gauss linear ͷઢܗิؒΛࢦఆ͍ͯ͠
    ·͢ɽ
    divSchemes
    divSchemes Ͱ͸ൃࢄʹର͢Δ཭ࢄԽεΩʔϜΛࢦఆ͠·͢ɽྫ͑͹ରྲྀ߲͸ ∇(ρuu) ͷܗΛ͠
    ͍ͯ·͢ɽphi ͸ϑϥοΫε ψ = ρu Ͱ͢ɽ
    – 15 –

    View Slide

  21. 2
    1
    ୈ 1 ষ ΩϟϏςΟྲྀΕ 1.3 ϝογϡ࡞੒
    ˝ ද 1.5: ࣌ؒඍ෼
    gradSchemes ख๏
    Gauss linear ઢܗิؒ
    Gauss midPoint ࢉज़ฏۉ
    Gauss pointLinear ఺ͷ஋͔Βิؒ
    leastSquares ࠷খೋ৐๏
    ˝ divSchemes
    divSchemes
    {
    default none;
    div(phi,U) Gauss linear;
    }
    ରྲྀ߲ͷεΩʔϜ͸બ୒ΛޡΔͱ਺஋֦ࢄ͕ੜͨ͡Γɼղ͕ৼಈͯ͠ෆ҆ఆͳڍಈΛࣔͨ͠Γ͠
    ·͢ɽ
    ˝ ද 1.6: ࣌ؒඍ෼
    gradSchemes ख๏
    upwind 1 ࣍ਫ਼౓෩্ࠩ෼
    linear ઢܗิؒ (த৺ࠩ෼ɺ2 ࣍ਫ਼౓)
    linearUpwind ઢܗ෩্ࠩ෼ (2 ࣍ਫ਼౓෩্ࠩ෼)
    QUICK QUICK εΩʔϜ (2 ࣍ਫ਼౓)
    Minmod minmod ੍ݶؔ਺ (2 ࣍ਫ਼౓ TVD)
    SuperBee superbee ੍ݶؔ਺ (2 ࣍ਫ਼౓ TVD)
    vanLeer van Leer ੍ݶؔ਺ (2 ࣍ਫ਼౓ TVD)
    vanAlbada van Albada ੍ݶؔ਺ (2 ࣍ਫ਼౓ TVD)
    limitedLinear ઢܗิؒʹ TVD ੍ݶΛ͚ͭͨ΋ͷ
    ରྲྀ߲ͷ཭ࢄԽεΩʔϜʹ͸େ͖͘෼͚ͯҎԼͷΑ͏ͳಛ௃͕͋Γ·͢ɽ
    • 1 ࣍ਫ਼౓ɿ҆ఆͳղʹͳΓ΍͍͕͢਺஋֦ࢄ͕େ͖͍
    • ߴ࣍ਫ਼౓ɿෆ࿈ଓղΛγϟʔϓʹଊ͑΍͍͕͢਺஋ৼಈ͕େ͖͘ෆ҆ఆʹͳΓ΍͍͢
    ·ͣ͸҆ఆʹղ͖͍ͨ৔߹͸ 1 ࣍ਫ਼౓෩্ࠩ෼Λ࢖͑͹ྑ͍Ͱ͢ɽղΛγϟʔϓʹଊ͍͑ͨͷ
    Ͱ͋Ε͹ TVD εΩʔϜΛ࢖͏͜ͱ΋ࢹ໺ʹೖΕ·͢ɽ2 ࣍ਫ਼౓ TVD εΩʔϜ͸ɼෆ࿈ଓղΛ
    γϟʔϓʹଊ͑ͳ͕Δߴ࣍ਫ਼౓Λҡ࣋͠ͳ͕ΒৼಈΛ཈͑ΔΑ͏ʹ޻෉͕͞Ε͍ͯ·͢ɽ
    laplacianSchemes
    laplacianSchemes Ͱ͸ϥϓϥγΞϯʹର͢Δ཭ࢄԽεΩʔϜΛઃఆ͠·͢ɽྫ͑͹ ∇ · (ρ∇u)
    ͷ߲ʹ౰ͨΓ·͢ɽີ౓͕Ұఆͷ৔߹͸ඍ෼ͷ֎ʹग़ͯ͠ ρ∇2u ͱͳΓ·͢ɽ
    – 16 –

    View Slide

  22. 2
    2
    ୈ 1 ষ ΩϟϏςΟྲྀΕ 1.3 ϝογϡ࡞੒
    ˝ laplacianSchemes
    laplacianSchemes
    {
    default Gauss linear orthogonal;
    }
    ˝ ද 1.7: ࣌ؒඍ෼
    gradSchemes ख๏
    orthogonal ௚ަલఏ
    uncorrected ඇ௚ަิਖ਼ͳ͠
    corrected ཅతඇ௚ަิਖ਼
    limited0ʙ1 ༗ݶඇ௚ަิਖ਼ (0:uncorrected,1:corrected)
    ࠓճͷϝογϡ͸ 6 ໘ମͰ௚ަ֨ࢠͷΈͰ͢ͷͰ orthogonal ͰΑ͍Ͱ͢ɽ
    interpolationSchemes
    interpolationSchemes Ͱ͸ gradSchemes Ͱઃఆͨ͠΋ͷͱಉ͡ηϧͷք໘ͷิؒεΩʔϜͰΑ
    ͍Ͱ͢ɽجຊతʹ͸ linear ͰΑ͍Ͱ͢ɻ
    ˝ interpolationSchemes
    interpolationSchemes
    {
    default linear;
    }
    snGradSchemes
    snGradSchemes ͸ͱ߹Θ͓͚ͤͯ͹Α͍Ͱ͢ɽ
    ˝ snGradSchemes
    snGradSchemes
    {
    default orthogonal;
    }
    1.3.6 ୅਺ιϧό
    ୅਺ํఔࣜͷιϧό͸ʮsystem/fvSolutionʯͰఆٛ͠·͢ɽ୅਺ιϧόͷબ୒΋جຊతʹ͸
    νϡʔτϦΞϧΛͦͷ··࢖͏ͱ͜Ζ͔Β͸͡ΊΕ͹Α͍Ͱ͢ɽ
    ˝ system/fvSolution
    – 17 –

    View Slide

  23. 2
    3
    ୈ 1 ষ ΩϟϏςΟྲྀΕ 1.3 ϝογϡ࡞੒
    solvers
    {
    p
    {
    solver PCG;
    preconditioner DIC;
    tolerance 1e-06;
    relTol 0.05;
    }
    pFinal
    {
    $p;
    relTol 0;
    }
    U
    {
    solver smoothSolver;
    smoother symGaussSeidel;
    tolerance 1e-05;
    relTol 0;
    }
    }
    PISO
    {
    nCorrectors 2;
    nNonOrthogonalCorrectors 0;
    pRefCell 0;
    pRefValue 0;
    }
    solvers Ͱ֤ม਺ (U,p) ୅਺ํఔࣜͷιϧόΛࢦఆ͠·͢ɽ࢒͕ࠩ tolerance ΑΓ΋খ͘͞ͳΔ
    ͔ɺॳظ࢒ࠩʹର͢Δൺ͕ relTol ΑΓ΋খ͘͞ͳΔͱܭࢉ͕ऴྃ͢Δɽඇఆৗͷ৔߹͸ relTol0 ʹ
    ͯ͠ tolerance Λे෼খ͘͞ͱΔΑ͏ʹ͢ΔͱΑ͍Ͱ͢ɽ
    PISO ͸ѹྗɾ଎౓࿈੒ख๏ͷҰछͰ͋Δ PISO ๏ͷઃఆͰ͢ɽnNonOrthogonalCorrectors ͸
    ඇ௚ަੑิਖ਼ͷϧʔϓճ਺Ͱɼඇ௚ަੑ͕େ͖͍৔߹͸ 1 Ҏ্ʹ͢ΔͱΑ͍Ͱ͢ɽࠓճͷέʔε͸
    ѹྗنఆͷڥք৚͕݅ͳ͍ͨΊɼج४ѹྗΛࢦఆ͢Δඞཁ͕͋Γ·͢ɽpRefCell ͸ج४ѹྗΛࢦ
    ఆ͢Δ֨ࢠ൪߸Λࢦఆ͠ɼpRefValue Ͱج४ѹྗΛࢦఆ͠·͢ɽ
    – 18 –

    View Slide

  24. 2
    4
    ୈ 1 ষ ΩϟϏςΟྲྀΕ 1.3 ϝογϡ࡞੒
    1.3.7 ܭࢉ੍ޚ
    ܭࢉ࣌ؒ΍࣌ؒࠁΈͳͲΛग़ྗ͢Δઃఆ͸ʮsystem/controlDictʯͰߦ͍·͢ɽ
    ˝ system/controlDict
    application icoFoam;
    startFrom startTime;
    startTime 0;
    stopAt endTime;
    endTime 0.5;
    deltaT 0.005;
    writeControl timeStep;
    writeInterval 20;
    purgeWrite 0;
    writeFormat ascii;
    writePrecision 6;
    writeCompression off;
    timeFormat general;
    timePrecision 6;
    runTimeModifiable true;
    ֤߲໨ͷҙຯ͸ҎԼͷ௨ΓͰ͢ɽ
    • application ܭࢉͰ࢖༻͢Διϧόʢࠓճ͸ icoFoam)
    • startFrom ܭࢉ։࢝ઃఆʢstartTime Ͱࢦఆ͔ͨ࣌ؒ͠Β։࢝ɼlatestTime ͱ͢Δͱ࠷৽ͷ
    ܭࢉ్த͔Βܭࢉ։࢝ʣ
    • startTime ܭࢉ։࢝࣌ؒͷࢦఆ
    • stopAt ܭࢉऴྃઃఆʢendTime Ͱࢦఆͨ࣌ؒ͠Ͱऴྃ)
    • endTime ܭࢉऴྃ࣌ؒͷࢦఆ
    • deltaT ࣌ؒࠁΈ (Ϋʔϥϯ਺ࢦఆͷ৔߹͸ॳظͷ࣌ؒࠁΈɼఆৗղੳͷ৔߹͸ 1 ͱͯ͠
    – 19 –

    View Slide

  25. 2
    5
    ୈ 1 ষ ΩϟϏςΟྲྀΕ 1.4 ܭࢉ࣮ߦ
    ͓͘)
    • writeControl ܭࢉͷग़ྗઃఆ (timeStep ͸࣌ؒεςοϓͷճ਺͝ͱʹग़ྗɼrunTime ͸͋
    Δ࣌ؒܦա͝ͱʹग़ྗʣ
    • writeInterval ग़ྗִؒͷࢦఆʢtimeStep ͷ৔߹εςοϓ਺ɼrunTime ͷ৔߹͸ඵ਺)
    • purgeWrite ग़ྗͷ਺ (0 ͱ͍ͯ͠Δͱશͯग़ྗ)
    • writeFormat ग़ྗͷܗࣜ (binary ͔ ascii)
    • writePrecision ग़ྗσʔλͷਫ਼౓
    • writeCompression ग़ྗσʔλΛѹॖ͢Δ͔Ͳ͏͔ͷઃఆ (off ͸ѹॖແ͠ɼon ͸ѹॖ)
    • timeFormat ࣌ؒͷॻࣜ
    • timePrecision ࣌ࠁͷܻ਺ͷઃఆ
    • runTimeModifiable ιϧό࣮ߦ࣌ʹ controlDict ΛಡΈ௚͔͢Ͳ͏͔ͷࢦఆ
    ඞཁʹԠͯ͡ઃఆΛม͍͑ͯͩ͘͞ɽ
    Ҏ্Ͱ֤ઃఆͷ֬ೝΛऴ͑·ͨ͠ͷͰܭࢉΛ࣮ߦ͠·͢ɽ
    1.4 ܭࢉ࣮ߦ
    ܭࢉͷ࣮ߦʹ͸ରԠͨ͠ιϧόͷίϚϯυΛ࣮ߦ͠·͢ɽܭࢉ͸਺ेඵͰऴΘΔͨΊࠓճͷέʔ
    εͰ͸ฒྻܭࢉΛߦ͓ͬͯΓ·ͤΜɽ
    ˝ ιϧόͷ࣮ߦ
    icoFoam
    icoFoam ͷ࣮ߦޙɼಛʹΤϥʔແ͘ਖ਼ৗʹܭࢉ͕ਐΜͰ͍Δ৔߹͸ҎԼͷΑ͏ͳϩά͕ग़ྗ͞Ε
    ·͢ɽ
    ˝ icoFoam ࣮ߦޙͷϩά
    ...
    (লུ)
    Time = 0.5
    Courant Number mean: 0.222158 max: 0.852134
    smoothSolver: Solving for Ux, Initial residual = 2.3091e-07, Final resid›
    ›ual = 2.3091e-07, No Iterations 0
    smoothSolver: Solving for Uy, Initial residual = 5.0684e-07, Final resid›
    ›ual = 5.0684e-07, No Iterations 0
    DICPCG: Solving for p, Initial residual = 8.63844e-07, Final residual = ›
    ›8.63844e-07, No Iterations 0
    time step continuity errors : sum local = 8.8828e-09, global = 4.94571e-1›
    – 20 –

    View Slide

  26. 2
    6
    ୈ 1 ষ ΩϟϏςΟྲྀΕ 1.5 ݁Ռॲཧ
    ›9, cumulative = 1.10417e-17
    DICPCG: Solving for p, Initial residual = 9.59103e-07, Final residual = ›
    ›9.59103e-07, No Iterations 0
    time step continuity errors : sum local = 9.66354e-09, global = 1.13175e-›
    ›18, cumulative = 1.21735e-17
    ExecutionTime = 0.43 s ClockTime = 2 s
    End
    ͪ͜Β͸ܭࢉ্͕ख͍͔͘ͳ͔ͬͨͱ͖ʹॏཁͳϩάʹͳΓ·͢ɽղੳઃఆ͕߹͍ͬͯΔ͕ɼ਺
    ஋ܭࢉ্ͷܭࢉΤϥʔͷ৔߹͸ϩάͷதͷ஋͕ҟৗͳ஋Λ͍ࣔͯ͠ͳ͍͔Λ֬ೝ͢Δ͜ͱͰΤϥʔ
    ՕॴΛಛఆ͢Δ͜ͱ͕Ͱ͖·͢ɽ
    ྫ͑͹ҎԼͷ஋͕े෼খ͘͞ͳ͍ͬͯΔ͜ͱΛ֬ೝ͠·͢ɽ
    • Ux,Uy,Uz,p ͷॳظ࢒ࠩ
    Solving for Ux, Initial residual = 2.3091e-07 ͱॻ͍͍ͯΔ෦෼͕ x ํ޲ͷ଎౓ͷॳظ࢒ࠩɽಉ
    ༷ʹ Uy,Uz,p ΋֬ೝ
    • ࿈ଓࣜͷޡࠩ
    time step continuity errors : sum local = 9.66354e-09, global = 1.13175e-18, cumulative =
    1.21735e-17
    ܭࢉ͕ഁ୼͍ͯ͠Δ৔߹͸ͪ͜Βͷ஋͕ҟৗʹେ͖͍஋Λ͍ࣔͯ͠Δ͜ͱ͕͋Γ·͢ɽ
    1.5 ݁Ռॲཧ
    OpenFOAM ͷ݁Ռ͸ՄࢹԽιϑτͷ ParaView Λ࢖͍·͢ɽ֦ுࢠʮ.foamʯͷۭϑΝΠϧΛ
    ࡞ΓʢϑΝΠϧ໊͸ԿͰ΋Α͍ʣParaView ͰಡΈࠐΉ͜ͱͰ OpenFOAM ͷ݁ՌΛಡΈࠐΉ͜ͱ
    ͕Ͱ͖·͢ɽҎԼͷίϚϯυͰ post.foam ͱ͍͏ۭϑΝΠϧΛ࡞Γ·͢ɽ
    ˝ ۭϑΝΠϧͷ࡞੒
    touch post.foam
    ParaVIew Λىಈͯ͠ post.faom ΛಡΈࠐΈ·͢ɽಡΈࠐΜͩঢ়ଶ͸ѹྗͷίϯλΛ͍ࣔͯ͠
    ·͢ɽ
    – 21 –

    View Slide

  27. 2
    7
    ୈ 1 ষ ΩϟϏςΟྲྀΕ 1.5 ݁Ռॲཧ
    ˛ ਤ 1.6: ParaView ʹΑΔϑΝΠϧͷಡΈࠐΈ
    ˛ ਤ 1.7: post.foam ಡΈࠐΈ௚ޙ
    – 22 –

    View Slide

  28. 2
    8
    ୈ 1 ষ ΩϟϏςΟྲྀΕ 1.5 ݁Ռॲཧ
    ΩϟϏςΟྲྀΕͷղੳͰ͸ѹྗͱྲྀ଎Λ෺ཧྔͱͯ͠ѻͬͨͨΊσϑΥϧτͰ͜ΕΒͷ෺ཧྔΛ
    දࣔ͢Δ͜ͱ͕Ͱ͖·͢ɽ͜͜Ͱ͸ྲྀ଎ΛϝΠϯʹྲྀ଎ίϯλɼྲྀ଎ϕΫτϧɼྲྀઢΛ ParaView
    ͰՄࢹԽ͍͖ͯ͠·͢ɽ
    1.5.1 ྲྀ଎ίϯλ
    ྲྀ଎ͷίϯλ͸ྲྀ଎ͷେ͖͞ͷ౳஋ઢΛ৭෼͚ͯ͠දࣔͨ͠΋ͷͰ͢ɽಡΈࠐΜͩ௚ޙ͸ѹྗͷ
    ίϯλ͕දࣔ͞Ε͍ͯΔͷͰྲྀ଎ίϯλʹ੾Γସ͑·͢ɽ
    ˛ ਤ 1.8: ྲྀ଎ίϯλͷදࣔ
    σϑΥϧτͷ৭߹͍͔Β͓޷Έͷ৭߹͍ʹมߋ͢Δʹ͸ʮEdit Color Mapʯ͔Β৭ͷબ୒Λߦ
    ͍·͢ɽࠓճ͸খ͍͞஋͔Βେ͖͍஋΁ͷมԽΛ੨͔Β੺Ͱදࣔͤ͞ΔʮBlue to Red Rainbowʯ
    Λબ୒͍ͯ͠·͢ɽ
    – 23 –

    View Slide

  29. 2
    9
    ୈ 1 ষ ΩϟϏςΟྲྀΕ 1.5 ݁Ռॲཧ
    ˛ ਤ 1.9: Edit Color Map ʹΑΔ৭ͷબ୒
    σϑΥϧτͰ͸৭͸ 256 ஈ֊ʹ෼͚ΒΕ͍ͯΔͷͰʮColor DiscretizationʯͰ 10 ஈ֊ʹมߋ͠
    ͍ͯ·͢ɽ͜ΕʹΑΓ৭ͷ۠෼͚͕͸͖ͬΓͨ͠ͱࢥ͍·͢ɽ
    – 24 –

    View Slide

  30. 3
    0
    ୈ 1 ষ ΩϟϏςΟྲྀΕ 1.5 ݁Ռॲཧ
    ˛ ਤ 1.10: Color Discretization ʹΑΔ৭෼͚ͷ਺ͷࢦఆ
    ৭߹͍ʹܾ·Γ͸ͳ͍Ͱ͕͢ɼղੳ݁ՌΛݟͳ͕Βٞ࿦Λ͢ΔࡍʹΘ͔Γ΍͍͢৭߹͍ʹ͢Δͷ
    ͕Α͍Ͱ͢ɽ͜ͷ͋ͨΓ͸ݸਓͷ޷ΈʹΑΓ·͢ɽ
    1.5.2 ྲྀ଎ϕΫτϧ
    ࣍ʹྲྀ଎ϕΫτϧΛදࣔ͠·͢ɽϕΫτϧදه͸ Glyph ʹΑΓߦ͍·͢ɽ
    – 25 –

    View Slide

  31. 3
    1
    ୈ 1 ষ ΩϟϏςΟྲྀΕ 1.5 ݁Ռॲཧ
    ˛ ਤ 1.11: Glyph ͷબ୒
    ͪ͜Β΋ Glyph ͷσϑΥϧτදه͸ѹྗʹରͯ͠Ͱ͢ͷͰɼ৭͸ʮSolid Colorʯʹ੾Γସ͑·
    ͢ɽϕΫτϧͷ໼ҹͷେ͖͞ʹ͸ྲྀ଎ͷେ͖͞ʹԠͯ͡εέʔϧมߋͯ͠ݟ΍͍ͯ͘͢͠·͢ɽ
    – 26 –

    View Slide

  32. 3
    2
    ୈ 1 ষ ΩϟϏςΟྲྀΕ 1.6 ֬ೝࣄ߲
    ˛ ਤ 1.12: ϕΫτϧදهͷௐ੔
    1.5.3 ྲྀઢ
    ࠷ޙʹྲྀઢΛදࣔͤ͞·͢ɽྲྀઢ͸ྲྀ଎ϕΫτϧΛઢͰͭͳ͍ͩ΋ͷͰ͢ɽ·ͨ͸࣭ྔͷͳཻ͍
    ࢠ͕৐ͬͨي੻ͱͱΒ͑Δ͜ͱ΋Ͱ͖·͢ɽ
    1.6 ֬ೝࣄ߲
    1.6.1 ࿈ଓࣜͷޡࠩͷ֬ೝ
    1.6.2 ࢒ࠩͷ֬ೝ
    1.6.3 y+ ͷ֬ೝ
    – 27 –

    View Slide

  33. 3
    3
    ͋ͱ͕͖ / ͓ΘΓʹ
    ͍͔͕ͩͬͨͰ͠ΐ͏͔ɻײ૝΍࣭໰͸ਵ࣌ड͚͚͍ͭͯ·͢ɻ
    ஶऀ঺հ
    Χ΢ϓϥϯػؔۃ౦ࢧ෦ (@_kauplan)
    ʠ৆ຯظݶ͕ 1 ೥ʹ΋ຬͨͳ͍Α͏ͳπʔϧ΍ϑϨʔϜϫʔΫʹৼΓճ͞ΕΔͷΛڐͯ͠
    ͓͚Δ΄Ͳɺզʑͷਓੜ͸௕͘͸ͳ͍ɻ
    ʡ
    • https://kauplan.org/
    •ʰύϯϓΩϯɾγβʔζʱਪ͠
    •ʰϫʔϧυɾτϦΨʔʱਪ͠
    •ʰϓϦϯηεɾϓϦϯγύϧʱਪ͠
    طץҰཡ
    •ʰSQL ߴ଎Խ in PostgreSQLʱ
    ʢٕज़ॻయ 2ʣ
    •ʰΦϒδΣΫτࢦ޲ݴޠղମ৽ॻʱ
    ʢٕज़ॻయ 3ʣ
    •ʰjQuery ͩͬͯෳࡶͳΞϓϦ࡞ΕΔ΋Μʂ ʱ
    ʢٕज़ॻయ 4ʣ
    •ʰShell εΫϦϓτͰαʔόઃఆΛࣗಈԽ͢Δຊʱ
    ʢٕज़ॻయ 5ʣ
    •ʰRuby ͷΤϥʔϝοηʔδ͕ಡΈղ͚ΔΑ͏ʹͳΔຊʱ
    ʢٕज़ॻయ 6ʣ
    •ʰΘ͔ΓΈ SQLʱ
    ʢٕज़ॻయ 7ʣ
    •ʰPython ͷࠇຐज़ʱ
    ʢٕज़ॻయ 8ʣ
    •ʰΧ΢ϓϥϯϨϙʔτ vol.01ʱ
    ʢٕज़ॻయ 10ʣ
    – 28 –

    View Slide

  34. 3
    4
    OpenFOAM ॳڃฤ
    ΩϟϏςΟྲྀΕ
    2023 ೥ 7 ݄ 15 ೔ɹ ver 1.0 ʢٕज़ॻయʣ
    ஶɹऀ Ӊ஦ʹೖͬͨΧϚΩϦ
    ൃߦऀ ΧϚΩϦ
    ࿈བྷઌ https://takun-physics.net/
    https://twitter.com/t_kun_kamakiri
    ҹ࡮ॴ ˓˓ҹ࡮ॴ
    © 2023 Ӊ஦ʹೖͬͨΧϚΩϦ
    (powered by Re:VIEW Starter)

    View Slide