如何在OpenFOAM中增加边界条件【翻译】

注:如有翻译不妥,还请见谅

翻译自:http://openfoamwiki.net/index.php/HowTo_Adding_a_new_boundary_condition

首先请看:http://openfoamwiki.net/index.php/Contrib_groovyBC

如果你没有合适的边界条件,请进行下面的步骤:

  1. 选择一个和你需要的边界条件相近的已有边界条件—我们叫它originalFvPatchField
  2. 拷贝该边界条件的目录到其他任意位置。(比如say run/myCode)。
  3. 将拷贝的所有文件全部重命名(比如say customFvPatchField)。
  4. 在所有新的文件文本中将旧有名称全部查找替换为新的名称(比如originalFvPatchField替换为customFvPatchField
  5. 修改代码使之适合你的需求
  6. 创建目录结构:myCode/Make,并且在其中放置文件和选项。
  7. 将相关的信息放入文件当中:

    finiteVolume/Make/files目录下查找originalFvPatchField

    拷贝相关的入口到你的myCode/Make/files目录下

    将入口重命名为你需要的—用你的customFvPatchField来重命名它(如果在最后有一个s,将s保留)

    告知编译器新库的名字。使用$(FOAM_USER_LIBBIN)来替换$(FOAM_LIBBIN),将lib添加到新名称前面,它应该看起来是这样的:

    LIB = $(FOAM_USER_LIBBIN)/libcustomPatchField

  8. 选择文件应该有EXE_INC(对任意的包含都适用,比如I$(LIB_SRC)/finiteVolume/lnInclude之于finiteVolume)和LIB_LIBS(对任何包含库,比如lfiniteVolume之于finiteVolume),其他LIB_LIBS也一样。
  9. 编译:$wmake libso
  10. 添加任何需要的新的字典条目到你的初始条件文件中,比如0/U0/P 文件。
  11. 增加库("libcustomFvPatchField.so" "libOpenFOAM.so")controlDict中。
  12. 现在新的边界条件应该可以正常运行了。
posted @ 2016-07-06 20:41  硫酸亚铜  阅读(707)  评论(0编辑  收藏  举报