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

翻译自: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/U和0/P 文件。
  11. 增加库("libcustomFvPatchField.so"
    "libOpenFOAM.so")到controlDict中。
  12. 现在新的边界条件应该可以正常运行了。

如何在OpenFOAM中增加边界条件【翻译】的更多相关文章

  1. OpenFOAM 中的边界条件(一)【转载】

    链接:http://xiaopingqiu.github.io/2016/04/02/Boundary-conditions-in-OpenFOAM1/ 本系列解读 OpenFOAM 中边界条件的实现 ...

  2. 详解如何在Laravel中增加自定义全局函数

    http://www.php.cn/php-weizijiaocheng-383928.html 如何在Laravel中增加自定义全局函数?在我们的应用里经常会有一些全局都可能会用的函数,我们应该怎么 ...

  3. 【Chrome】如何在C++中增加给JavaScript调用的API

    本文示例说明了如何在Chrome浏览器中增加JavaScript API.为了简化,先假设是在已有的namespace中增加一个新的API,文章的最后将指出如果增加一下全新的namespace所需注意 ...

  4. OpenFOAM 中的边界条件(二)【转载】

    转载链接:http://xiaopingqiu.github.io/2016/04/02/Boundary-conditions-in-OpenFOAM2/ 本篇在上一篇的基础上来解读 OpenFOA ...

  5. 如何在BI中增加“路线地图”并进行数据分析?

    随着客户的需求越来越"百变",最近在做大屏设计的葡萄陷入了困境. 近期客户提出的需求是想在BI工具中增加 "路线地图"展示功能并进行数据分析. 不仅如此,这个& ...

  6. 如何在openfoam中使用probes?【转载】

    The probes functionObject 可以监测结果和在后处理中提出结果处理结果.基本用法如下: in $FOAM_TUTORIAL/oodles/pitzDaily/ case func ...

  7. 如何在MySQL中增加一列

    如果想在一个已经建好的表中添加一列,可以使用诸如: alter table TABLE_NAME add column NEW_COLUMN_NAME varchar(255) not null; 这 ...

  8. 如何在CentOS5中增加CentALT的源

    1. 建立centalt.repo    指令: vi /etc/yum.repos.d/centalt.repo 2. 將下面的內容貼進去    [CentALT]    name=CentALT ...

  9. 如何在Linux中添加新的系统调用

    系统调用是应用程序和操作系统内核之间的功能接口.其主要目的是使得用户 可以使用操作系统提供的有关设备管理.输入/输入系统.文件系统和进程控制. 通信以及存储管理等方面的功能,而不必了解系统程序的内部结 ...

随机推荐

  1. template中实现加减乘除数学运算

    django模板只提供了加法的filter,没有提供专门的乘法和除法运算:django提供了widthratio的tag用来计算比率,可以变相用于乘法和除法的计算. # 加法{{value|add:1 ...

  2. css中哪些属性会脱离文档流

    一共有三个属性会使元素脱离文档流: (1)浮动 (2)绝对定位 (3)固定定位 元素脱离文档流会导致父元素高度塌陷,要修复高度塌陷问题,可以将子元素与父元素放在同一个BFC中

  3. 剑指offer-链表相关

    剑指offer面试常考手撸算法题-链表篇 1. 从头到尾打印链表 class Solution { public: // 可以先压栈,再出栈到vector // 时间/空间:O(n) vector&l ...

  4. c# 属性说明

  5. 【kernel】Centos 云上升级内核失败 如何处理【笔记记录转】

    Centos7选定默认启动的内核版本 vim /etc/grub2.cfg   修改timeout =5   修改成30天 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附 ...

  6. Python基础笔记一

    1. 分片的步长,默认为值1,表示为 xx[s:t:v] ----从索引s到索引t,每隔v,取对应索引位置的值 xx = 'hello,world' #从索引0-10,共11个字符 xx[2:] #从 ...

  7. jQuery 中的 Ajax 方法(节选)

    $.ajax() 基本用法: $.ajax({ url: url, // 地址 data: data, // 参数 type: 'POST', // 提交方式 可以选择 post/get 推荐 pos ...

  8. 实验十一 团队作业7:团队项目设计完善&编码1

    博文简要信息表: 项目 内容 软件工程 https://www.cnblogs.com/nwnu-daizh/ 本次实验链接地址 https://www.cnblogs.com/nwnu-daizh/ ...

  9. java中的assert

    Java陷阱之assert关键字   一.概述   在C和C++语言中都有assert关键,表示断言. 在Java中,同样也有assert关键字,表示断言,用法和含义都差不多.   二.语法   在J ...

  10. java中的finally用法总结

    不管 try 语句块正常结束还是异常结束,finally 语句块是保证要执行的.如果 try 语句块正常结束,那么在 try 语句块中的语句都执行完之后,再执行 finally 语句块.如果 try ...