OpenFOAM典型case各文件注释及加入和应用新方程和创建新边界条件教程.ppt

上传人:飞****9 文档编号:135768023 上传时间:2020-06-18 格式:PPT 页数:72 大小:757KB
返回 下载 相关 举报
OpenFOAM典型case各文件注释及加入和应用新方程和创建新边界条件教程.ppt_第1页
第1页 / 共72页
OpenFOAM典型case各文件注释及加入和应用新方程和创建新边界条件教程.ppt_第2页
第2页 / 共72页
OpenFOAM典型case各文件注释及加入和应用新方程和创建新边界条件教程.ppt_第3页
第3页 / 共72页
OpenFOAM典型case各文件注释及加入和应用新方程和创建新边界条件教程.ppt_第4页
第4页 / 共72页
OpenFOAM典型case各文件注释及加入和应用新方程和创建新边界条件教程.ppt_第5页
第5页 / 共72页
点击查看更多>>
资源描述

《OpenFOAM典型case各文件注释及加入和应用新方程和创建新边界条件教程.ppt》由会员分享,可在线阅读,更多相关《OpenFOAM典型case各文件注释及加入和应用新方程和创建新边界条件教程.ppt(72页珍藏版)》请在金锄头文库上搜索。

1、OpenFOAM的基础篇 clpjoy 第一部分OpenFOAM的简介 OpenFOAM OpenSourceFieldOperationandManipulation 第一部分OpenFOAM简介 其官方网站为 库 library C 语言编写 利用OpenFOAM得到可执行的软件 application 求解器solver 工具utility 数值计算 后处理 流体流动 化学反应 换热 结构动力学 电磁场 金融评估等 建模 网格 边界条件 前处理 计算结果显示和处理 1 OpenFOAM框架 2 OpenFOAM应用分类 应用分类 1 直接利用标准求解器 2 自定义求解器 3 自定义离散方

2、法 替代商业软件 免费喔 这类需求较大 商业软件与之不可相比的 更高级的应用 下面再谈谈分类 2 和 3 的魅力 商业软件中的所谓udf usersubroutine和这是不可相比的 总之 将OpenFOAM作为类库来构建自己的求解器 这是其它软件无法实现的 分类 2 自定义求解器的魅力 按照自己的求解流程来编写求解器 关注的重点是求解的流程 需要关心离散和求解的最底层的知识吗 开始 初始值 用CFD进行室内温度计算 辐射传热计算Qri 导热计算Qcdi 由热平衡求新的对流传热量Qcvim 1 收敛条件 结束 Qcvim赋新值 对于研究离散格式 代数求解器用户来说 创建更高效更高精度的离散方法

3、 这需要修改finiteVolume库和OpenFOAM库中对应的代码 分类 3 自定义离散方法的魅力 尤其是对流项 尽管OpenFOAM已经提供了基于NVD和TVD的模板和40多种有名的高阶高精度格式 这仍然是不够的 对流项的离散仍然是目前CFD的重点研究方向 高级应用 服务未来 第二部分OpenFOAM的应用 标准求解器solver的应用 以顶盖驱动流为例 算例Case的结构 FoamFile version2 0 formatascii classdictionary objectblockMeshDict convertToMeters0 1 网格文件blockMeshDict 文件头

4、 vertices 000 100 110 010 000 1 100 1 110 1 010 1 blocks hex 01234567 20201 simpleGrading 111 edges patches wallmovingWall 3762 wallfixedWalls 0473 2651 1540 emptyfrontAndBack 0321 4567 算例所在的目录下 在运行终端窗口输入 blockMesh进行网格生成 网格生成过程中 如有错误 运行终端窗口将显示 查看网格在运行终端输入 paraFoam FoamFile version2 0 formatascii cla

5、ssdictionary objectcontrolDict applicationicoFoam startFromstartTime startTime0 stopAtendTime endTime0 5 deltaT0 005 文件为system controlDict 典型的controlDict文件如下 writeControltimeStep writeInterval20 purgeWrite0 writeFormatascii writePrecision6 uncompressed compressed writeCompressionuncompressed timeFor

6、matgeneral timePrecision6 时间文件夹精度runTimeModifiableyes 在求解过程中是否允许修改以上参数 文件为system fvSolution 典型的文件为 省去文件头 solvers 方程求解器 pPCG 压力采用预条件共轭梯度法 主要用于求解对称矩阵 preconditionerDIC tolerance1e 06 残差relTol0 迭代容差 UPBiCG 速度采用预条件双共轭梯度法 主要用于反对称矩阵 preconditionerDILU 预测器 对角不完全LUtolerance1e 05 残差relTol0 迭代容差 PISO piso控制参数

7、 nCorrectors2 修正次数nNonOrthogonalCorrectors0 非正交修正次数pRefCell0 压力参考cell的indexpRefValue0 压力参考值 离散格式的选择 文件 system fvSchemes 典型文件 省去文件头 ddtSchemes defaultEuler 欧拉离散 gradSchemes 梯度离散 defaultGausslinear 高斯方法 线性插值grad p Gausslinear 压力的梯度离散 divSchemes 散度离散 defaultnone 散度的离散 必须指定没有默认值 div phi U Gausslinear 对流

8、项离散 高斯理论 用线性插值 laplacianSchemes 拉普拉斯项离散 defaultnone 拉普拉斯项离散 必须指定laplacian nu U Gausslinearcorrected 扩散项离散采用高斯理论 采用线性插值laplacian 1 A U p Gausslinearcorrected 压力方程离散采用高斯理论 线性插值 interpolationSchemes 插值格式 defaultlinear 默认线性插值interpolate HbyA linear 线性插值 snGradSchemes 梯度法向分量 defaultcorrected 默认带有非正交修正 fl

9、uxRequired 是否计算流律 defaultno 默认不计算p 压力需要计算 因为需要利用压力流律修正速度 0目录中压力文件 FoamFile version2 0 formatascii classvolScalarField objectp dimensions 02 20000 internalFielduniform0 boundaryField movingWall typezeroGradient fixedWalls typezeroGradient frontAndBack typeempty dimensions 01 10000 internalFieldunifor

10、m 000 boundaryField movingWall typefixedValue valueuniform 100 fixedWalls typefixedValue valueuniform 000 frontAndBack typeempty 速度文件如下 transportProperties字典文件 FoamFile version2 0 formatascii classdictionary location constant objecttransportProperties nunu 02 10000 0 01 在算例所在的目录下 在运行终端输入 icoFoam 等值线

11、或等值面 第三部分求解器 求解器结构 Info ReadingtransportProperties n endl 声明属性字典类对象 IOdictionarytransportProperties IOobject transportProperties runTime constant 位置mesh IOobject MUST READ IOobject NO WRITE createFields H文件 dimensionedScalarnu transportProperties lookup nu 创建压力场Info Readingfieldp n endl volScalarFie

12、ldp IOobject p runTime timeName mesh IOobject MUST READ IOobject AUTO WRITE mesh 提示并创建速度场Info ReadingfieldU n endl volVectorFieldU IOobject U runTime timeName mesh IOobject MUST READ IOobject AUTO WRITE mesh 创建界面流律 include createPhi H 设定压力参考cell的index和参考值labelpRefCell 0 scalarpRefValue 0 0 通过查询syste

13、m fvSolution下的PISO进行更新压力参考cell更新并设定参考值 setRefCell p mesh solutionDict subDict PISO pRefCell pRefValue intmain intargc char argv include setRootCase H include createTime H include createMesh H include createFields H include initContinuityErrs H icoFoam C Info nStartingtimeloop n endl 用runTime控制整个的循环f

14、or runTime runTime end runTime 显示运行时间Info Time runTime timeName nl endl include readPISOControls H 读入piso控制参数 写在runTime循环中 include CourantNo H 构造速度方程fvVectorMatrixUEqn fvm ddt U fvm div phi U fvm laplacian nu U solve UEqn fvc grad p PISOloop 速度修正步for intcorr 0 corr nCorr corr 求解系数矩阵对角元素的倒数 volScalar

15、FieldrUA 1 0 UEqn A U rUA UEqn H 更新速度 流通量修正phi fvc interpolate U 调整边值 以便满足连续性条件adjustPhi phi U p 非正交循环for intnonOrth 0 nonOrth nNonOrthCorr nonOrth fvScalarMatrixpEqn 求解压力方程 fvm laplacian rUA p fvc div phi pEqn setReference pRefCell pRefValue pEqn solve 根据新求解的压力 更新面流通量if nonOrth nNonOrthCorr phi pEq

16、n flux 计算连续性方程误差 include continuityErrs H U rUA fvc grad p 根据新的压力 修正速度 修正速度边界 主要针对第二类边界条件 U correctBoundaryConditions PISO循环结束 输出计算结果runTime write 显示执行时间 CPU时间Info ExecutionTime runTime elapsedCpuTime s ClockTime runTime elapsedClockTime s nl endl 大循环结束Info End n endl return 0 主程序结束 icoFoam C源程序文件名EXE FOAM APPBIN icoFoam可执行文件名 Make files文件 EXE INC 包含的头文件 I LIB SRC finiteVolume lnIncludeEXE LIBS 链接库 lfiniteVolume Make options文件 在运行终端运行wmake 进行编译 第四部分定制自己的求解器 在icoFoam中加入浓度场 需要解决的问题 a 如何在icoFoam中加入

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号