
能量控制方程:
其中DT为热扩散率。在壁面上给定值条件。
需要解决的问题:
1、创建程序需要的新物性和新变量场
打开myicoFoam.C可以看到,程序开始运行时调用CreateFields.H,创建变量场。
打开CreateFields.H,可以看到程序首先从transportProperties文件中读入物性,
这样,创建了新的vol标量场T,从文件T中读入。
对于T的创建具体解释如下:
2、在求解器中加入新的求解方程
下一步回到myicoFoam.C加入新的微分方程,由于温度场依赖于速度场,可放在PISO循环后面。
3、编译
4、在算例中加入新方程的初始和边界条件
修改transportProperties文件,前面已提到DT要从该字典文件读入。设定DT=0.002m2/s
拷贝一个T文件
修改T文件为
5、修改离散格式和代数求解器求解控制文件
在fvSolution中设置代数求解器选项
注意T方程形成的矩阵是非对称的,不要用PCG和DIC
6、运行
你可以简单的添加小的改变 比如在第89行加入:Info <<"Defining my own kEpsilon model" <<endl
然后就可以编译了
在~/V2F文件夹下执行
wmake libso
这样一个新湍流模型的动态库 就“哦可”拉!
下面你可以试试看这个冒牌的V2F模型,该咋整呢?? 接下去看...
请到$FOAM_RUN/tutorials/simpleFoam/pitzDaily/constant下
修改RASPorperties文件
如何在OpenFOAM中增加边界条件【翻译】注:如有翻译不妥,还请见谅
翻译自:http://openfoamwiki.net/index.php/HowTo_Adding_a_new_boundary_condition
首先请看:http://openfoamwiki.net/index.php/Contrib_groovyBC
如果你没有合适的边界条件,请进行下面的步骤:
选择一个和你需要的边界条件相近的已有边界条件—我们叫它originalFvPatchField。
拷贝该边界条件的目录到其他任意位置。(比如say run/myCode)。
将拷贝的所有文件全部重命名(比如say customFvPatchField)。
在所有新的文件文本中将旧有名称全部查找替换为新的名称(比如originalFvPatchField替换为customFvPatchField)
修改代码使之适合你的需求
创建目录结构:myCode/Make,并且在其中放置文件和选项。
将相关的信息放入文件当中:
在finiteVolume/Make/files目录下查找originalFvPatchField
拷贝相关的入口到你的myCode/Make/files目录下
将入口重命名为你需要的—用你的customFvPatchField来重命名它(如果在最后有一个s,将s保留)
告知编译器新库的名字。使用$(FOAM_USER_LIBBIN)来替换$(FOAM_LIBBIN),将lib添加到新名称前面,它应该看起来是这样的:
LIB = $(FOAM_USER_LIBBIN)/libcustomPatchField
选择文件应该有EXE_INC(对任意的包含都适用,比如I$(LIB_SRC)/finiteVolume/lnInclude之于finiteVolume)和LIB_LIBS(对任何包含库,比如lfiniteVolume之于finiteVolume),其他LIB_LIBS也一样。
编译:$wmake libso
添加任何需要的新的字典条目到你的初始条件文件中,比如0/U和0/P 文件。
增加库("libcustomFvPatchField.so" "libOpenFOAM.so")到controlDict中。
现在新的边界条件应该可以正常运行了。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)