77范文网 - 专业文章范例文档资料分享平台

OpenFOAM常用类的一些总结(4)

来源:网络收集 时间:2019-03-27 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

( \

runTime.timeName(), mesh,

IOobject::MUST_READ, IOobject::AUTO_WRITE ), mesh );

这样,创建了新的vol标量场T,从文件T中读入。 对于T的创建具体解释如下: a)创建了标量场T

b)T通过读(IOobject::MUST_READ)在runTime.timeName()目录下名称为“T”的文件创建,在开始计算时,runTime.timeName()是contorlDict中设定的startTime值决定的。 c)T将自动写入(IOobject::AUTO_WRITE)计算结果到runTime.timeName()目录中,runTime.timeName()随迭代是变化的,写入控制由contorlDict中设定。

d)T是定义在mesh对象上的,这意味着T在内部cell上有值internalField,在边界上还需要边界条件,这与polyMesh/boundary中要一致。 2)在求解器中加入新的求解方程

下一步回到myicoFoam.C加入新的微分方程,由于温度场依赖于速度场,可放在PISO循环后面。

# include \ U -= rUA*fvc::grad(p);

U.correctBoundaryConditions(); // Add the temperature equation fvScalarMatrix Teqn 温度是标量方程 (

fvm::ddt(T)

+ fvm::div(phi, T) 要用到界面流量 - fvm::laplacian(DT, T) 扩散项

);

TEqn.solve(); 求解 3)编译 wmake

4)在算例中加入新方程的初始和边界条件 4.1拷贝一个cavity算例到mycavity

4.2修改transportProperties字典文件,设定DT cd constant

修改transportProperties文件,前面已提到DT要从该字典文件读入。设定DT=0.002m2/s DT DT [0 2 -1 0 0 0 0] 0.002; 4.3修改T文件,设定初始值和边界 cd 0 进入0目录 拷贝一个T文件 cp p T 修改T文件为 FoamFile {

version 2.0; format ascii; class volScalarField; object T; }

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // dimensions [0 0 0 1 0 0 0];

internalField uniform 300; 初始内部点为300℃ movingWall {

type fixedValue;

value uniform 350.; 边界为350℃ }

fixedWalls {

type fixedValue;

value uniform 300.; 边界为300℃ 5)修改离散格式和代数求解器求解控制文件 A进入system目录

由于温度方程有非稳态项,对流项,扩散项,分别要在ddt,div,laplacian中设置 打开fvSchemes文件,添加 divSchemes {

default none;

div(phi,U) Gauss upwind; div(phi,T) Gauss upwind; }

laplacianSchemes {

default none;

laplacian(nu,U) Gauss linear corrected; laplacian(DT,T) Gauss linear corrected; laplacian((1|A(U)),p) Gauss linear corrected; }

在fvSolution中设置代数求解器选项 T PBiCG {

preconditioner DILU; tolerance 1e-06; relTol 0; };

注意T方程形成的矩阵是非对称的,不要用PCG和DIC

6)运行

myicoFoam . mycavity

七.OpenFOAM程序开发――求解器的详细分析1 进入icoFoam目录 可以看到

createFields.H icoFoam.C icoFoam.dep Make/ Make/为wmake编译所需的文件

IcoFoam.C为主程序文件,它包含createFields.H 编辑icoFoam.C

可以看到icoFoam.C首先引入的头文件为fvCFD.H。 所以你可以看到,在编译选项options中 EXE_INC = \\

-I$(LIB_SRC)/finiteVolume/lnInclude //fvCFD.H的存放目录 EXE_LIBS = \\

-lfiniteVolume //需要链接的库 找到fvCFD.H,编辑,可以看出这些是主程序必须的类库 #ifndef fvCFD_H #define fvCFD_H #include \

#include \ 时间类 #include \ 网格类 #include \ fvc类 #include \ fvMatrix类 #include \ fvm类 #include \

#include \#include \#include \#include \

#include \#include \#include \#ifndef namespaceFoam #define namespaceFoam using namespace Foam; #endif #endif

再看看icoFoam的程序体,了解一下求解程序的结构

#include \ ――――――――――――――――(头文件) 通常位于main函数前,是程序所需的类的定义 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // int main(int argc, char *argv[]) {

―――――――――――――――(包含文件) # include \ # include \# include \

―――――――――――包含文件通常是程序片断,如创建时间、创建网格等 ―――――――――――――――(求解器代码)―――――― # include \

需要根据应用,单独写的代码,如\和Main,以及Ueqn,pEqn等 ――――――――――――――――――――――――――――――――――――― # include \

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 。。。。。 }

八.OpenFOAM程序开发――求解器的详细分析2 a.场变量的定义

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库OpenFOAM常用类的一些总结(4)在线全文阅读。

OpenFOAM常用类的一些总结(4).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/545865.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: