发布日期:2024-08-09 03:53 点击次数:172 |
本案例演示运用OpenFOAM创建一个标量输运方程求解器。
本案例要求解的方程为:
莫得瞬态项和源项。
福彩快乐8第2024175期(上周三)奖号回顾:07 09 12 15 17 19 32 33 40 47 48 49 55 58 62 65 66 69 70 73,其中大小比为11:9,包含4个重号17、32、48、69,包含连码32 33、47 48 49、65 66、69 70。
1 文献框架运用foamNewApp快速创建文献框架。
runfoamNewApp demo10 && cd demo10
践诺阻隔后的文献框架如下图所示。
小程序开发图片
本案例比拟浅薄,只需要一个源文献demo10.C即可。
2 源代码源文献demo10.C的实质如下。
#include "fvCFD.H" int main(int argc, char *argv[]){#include "setRootCase.H"#include "createTime.H"#include "createMesh.H" Info << "读取物理场beta" << endl; volScalarField beta ( IOobject ( "beta", runTime.timeName(), mesh, IOobject::MUST_READ, IOobject::AUTO_WRITE ), mesh ); Info << "读取物理场U" << endl; volVectorField U ( IOobject ( "U", runTime.timeName(), mesh, IOobject::MUST_READ, IOobject::AUTO_WRITE ), mesh ); // 读取字典文献 Info << "读取字典文献transportProperties" << endl; IOdictionary transportProperties ( IOobject ( "transportProperties", runTime.constant(), //- 此文献在constant文献夹底下 mesh, IOobject::MUST_READ_IF_MODIFIED, IOobject::NO_WRITE ) ); Info << "从字典文献中读取扩散统共gamma" << endl; dimensionedScalar gamma("gamma", dimViscosity, transportProperties); Info << "读取/野心面通量场phi" << endl; surfaceScalarField phi ( IOobject ( "phi", runTime.timeName(), mesh, IOobject::READ_IF_PRESENT, //若phi文献存在,则读取,不然选择速率与面积相乘野心获得 IOobject::AUTO_WRITE // 保存该变量 ), fvc::interpolate(U) & mesh.Sf() //速率向量与面积向量点积 ); //求解鸿沟方程 solve(fvm::div(phi, beta) - fvm::laplacian(gamma, beta)); // 创建一个标量场用于存储效果,软件定制开发多少钱也不错径直用beta volScalarField result ( IOobject ( "result", runTime.timeName(), mesh, IOobject::NO_READ, IOobject::AUTO_WRITE ), beta //将beta的值拷贝给result ); result.write(); Info << nl << "野心阻隔" << endl; runTime.printExecutionTime(Info); return 0;}
编译并测试运行,如下图所示。
图片
3 测试野心案例文献需要字据求解器的需求来准备。上头准备的求解器中需要求解物理量beta。
constant/transportProperties文献中需要指定扩散统共gammaFoamFile{ version 2.0; format ascii; class dictionary; location "constant"; object transportProperties;}// * * * * * * * * * * * * * * * * * //gamma 0.01;
由于在读取字典文献时指定了量纲,因此在字典文献中无需叠加指定量纲。
system/fvSolution文献中需要指定beta的求解顺序FoamFile{ version 2.0; format ascii; class dictionary; location "system"; object fvSolution;}// * * * * * * * * * * * * * * * * * //solvers{ beta { solver GAMG; smoother DILUGaussSeidel; tolerance 1e-6; relTol 0; }}system/fvSchemes文献需要指定鸿沟方程中对流项、梯度项以及laplacian项的冲破时势
FoamFile{ version 2.0; format ascii; class dictionary; location "system"; object fvSchemes;}// * * * * * * * * * * * * * * // ddtSchemes{ default none;}// 梯度项gradSchemes{ default none; grad(beta) Gauss linear;}//散度项divSchemes{ default none; div(phi,beta) bounded Gauss upwind;}// laplacian项laplacianSchemes{ default none; laplacian(gamma,beta) Gauss linear corrected;}// 通量插值interpolationSchemes{ default none; interpolate(U) linear;} snGradSchemes{ default none;}system/controlDict按通例建设
FoamFile{ version 2.0; format ascii; class dictionary; location "system"; object controlDict;}// * * * * * * * * * * * * * * * * //startFrom startTime;startTime 0;stopAt endTime;endTime 1;deltaT 1;writeControl timeStep;writeInterval 1;purgeWrite 0;writeFormat ascii;writePrecision 6;writeCompression off;timeFormat general;timePrecision 6;runTimeModifiable true;0/beta文献指定物理场beta的鸿沟条目与启动条目
FoamFile{ version 2.0; format ascii; class volScalarField; object beta;}// 看重beta是标量dimensions [0 0 0 0 0 0 0];internalField uniform 0;boundaryField{ left { type fixedValue; value uniform 1; } lower { type fixedValue; value uniform 0; } "(upper|right)" { type zeroGradient; } frontAndBack { type empty; }}0/U文献
FoamFile{ version 2.0; format ascii; class volVectorField; object U;}// * * * * * * * * * * * * * // dimensions [0 1 -1 0 0 0 0]; internalField uniform (1 1 0); boundaryField{ "(lower|upper|left|right)" { type fixedValue; value $internalField; } frontAndBack { type empty; }}
在案例根旅途下践诺底下的大喊进行野心。
blockMeshdemo10
很快就野心完结。
图片
野心效果如下图所示。
图片
(阻隔)
本站仅提供存储作事,统共实质均由用户发布,如发现存害或侵权实质,请点击举报。