La groupe des recherches de la mécanique des fluides appliquée مدل كردن پديده ناپايداري Plateau-Rayleigh با استفاده از نرم افزار OpenFOAM تهيه و تنظيم : مهدي فرهناك
هندسه مساله 10 cm 3 cm 5 cm according to the setfields file 1 mm & 2 mm AIR
شبكه مساله هندسه مساله در Gambit به صورت زير مش بندي شده است و فايل با پسوند msh مربوط به شبكه در پوشه case مورد نظر در آدرس Home/OpenFOAM/~-1.5-dev/run قرار داده شده و سپس توسط konsole وارد آدرس مورد نظر شده و با دستور fluentMeshToFoam شبكه مورد نظر را در OpenFOAM ايجاد مي كنيم. و اطلاعات مربوط به آن وارد پوشه polyMesh مي شود كه در فايل boundary مي توان اطلاعات مربوط به نوع شرايط مرزي و تعداد صفحات سلولي را مشاهده كرد.
شرايط مرزي atmosphere 1 atmosphere 2 PipeWall LeftAndRightWall BottomWall
6 ( BottomWall { type wall; nFaces 162; startFace 47489; } PipeWall { type wall; nFaces 68; startFace 47651; } LeftAndRightWall { type wall; nFaces 510; startFace 47719; } atmosphere2 { type patch; nFaces 96; startFace 48229; } atmosphere1 { type patch; nFaces 66; startFace 48325; } frontAndBackPlanes { type empty; nFaces 47940; startFace 48391; } )
شرط مرزي گاما ( كسر نسبت حجمي دو فاز ) dimensions [ ]; internalField uniform 0; boundaryField { BottomWall { type zeroGradient; } PipeWall { type zeroGradient; } LeftAndRightWall { type zeroGradient; } atmosphere2 { type inletOutlet; inletValue uniform 0; value uniform 0; } atmosphere1 { type inletOutlet; inletValue uniform 0; value uniform 0; } frontAndBackPlanes { type empty; } }
شرط مرزي فشار dimensions [ ]; internalField uniform 0; boundaryField { BottomWall { type zeroGradient; } PipeWall { type zeroGradient; } LeftAndRightWall { type zeroGradient; } atmosphere2 { type totalPressure; U U; phi phi; rho rho; psi none; gamma 1; p0 uniform 0; value uniform 0; } atmosphere1 { type totalPressure; U U; phi phi; rho rho; psi none; gamma 1; p0 uniform 0; value uniform 0; } frontAndBackPlanes { type empty; } }
شرط مرزي سرعت dimensions [ ]; internalField uniform (0 0 0); boundaryField { BottomWall { type fixedValue; value uniform (0 0 0); } PipeWall { type fixedValue; value uniform (0 0 0); } LeftAndRightWall { type fixedValue; value uniform (0 0 0); } atmosphere2 { type pressureInletOutletVelocity; phi phi; value uniform (0 0 0); } atmosphere1 { type pressureInletOutletVelocity; phi phi; value uniform (0 0 0); } frontAndBackPlanes { type empty; } }
/* *- C++ -* *\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | | \\ / A nd | Web: | | \\/ M anipulation | | \* */ FoamFile { version 2.0; format ascii; class dictionary; object setFieldsDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // defaultFieldValues ( volScalarFieldValue gamma 0 ); regions ( boxToCell { box ( ) ( ); fieldValues ( volScalarFieldValue gamma 1 ); } ); // ************************************************************************* // فايل setFieldsDict توجه شود كه مرزهاي setFields نبايد بر روي مرزهاي با نوع غير از wall منطبق شود.
/* *- C++ -* *\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | | \\ / A nd | Web: | | \\/ M anipulation | | \* */ FoamFile { version 2.0; format ascii; class dictionary; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // application interFoam; startFrom latestTime; startTime 0; stopAt endTime; endTime 3; deltaT ; writeControl adjustableRunTime; writeInterval 0.01; purgeWrite 0; writeFormat ascii; writePrecision 6; writeCompression uncompressed; timeFormat general; timePrecision 6; runTimeModifiable yes; adjustTimeStep yes; maxCo 0.5; maxDeltaT 1; // ************************************************************************* // فايل controlDict
/* *- C++ -* *\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | | \\ / A nd | Web: | | \\/ M anipulation | | \* */ FoamFile { version 2.0; format ascii; class dictionary; object environmentalProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // g g [ ] ( ); // ************************************************************************* // فايل environmentalProperties
/* *- C++ -* *\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5 | | \\ / A nd | Web: | | \\/ M anipulation | | \* */ FoamFile { version 2.0; format ascii; class dictionary; object transportProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // phase1 { transportModel Newtonian; nu nu [ ] 1e-06; rho rho [ ] 1000; } phase2 { transportModel Newtonian; nu nu [ ] 1.48e-05; rho rho [ ] 1; } sigma sigma [ ] 0.07; // ************************************************************************* // فايل transportProperties water air
از حلگر interFoam براي حل اين case استفاده شده است كه براي جريان هاي دو فازي است. فايل هايي مانند fvSchemes ، fvSolution و dynamicMeshDict عينا از پوشه damBreak كپي شده اند.
ابتدا konsole را باز كرده و وارد آدرس پوشه case ايجاد شده مي شويم. سپس با نوشتن دستور setFields شرايط تنظيم شده براي box مورد نظر براي نرم افزار تعريف مي شود. حل case در OpenFOAM
سپس با نوشتن دستور interFoam شروع به حل case مورد نظر مي كنيم.
پس از اتمام حل با نوشتن دستور paraFoam به مشاهده نتايج در paraView مي پردازيم. Mesh Regions را انتخاب كرده و بر روي گزينه apply كليك مي كنيم.
Surface و gamma را انتخاب كرده و بر روي play كليك مي كنيم.
نتايج زير در زمان هاي مختلف بدست آمده است:
Merci beaucoup Bonne Chance