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

翻译自: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. VBA Exit For语句

    当想要根据特定标准退出For循环时,就可以使用Exit For语句.当执行Exit For时,控件会立即跳转到For循环之后的下一个语句. 语法 以下是在VBA中Exit For语句的语法. Exit ...

  2. ElementUI动态表格数据转换formatter

    elementUI的表格初始化比较简单,声明prop值对应的字段名即可. 而在实际应用中,我们常常有这种需求:从服务器获取的数据并不是我们要显示的最终结果,涉及一些状态.类型.日期时间等的转换,这时候 ...

  3. JDBCUtils工具类配置文件的读取方式

    //第一种方式 Properties prop= new Properties();        //读取文件   通过类加载读取        InputStream is = JDBCUtils ...

  4. Eclipse workspace被锁定

    重新打开Eclipse时,提示如下: Workspace Unavailable: Workspace in use or cannot be created, choose a different ...

  5. 记录java+testng运行selenium(四)--- 结构说明

    一图:主要是driver文件所在目录,及ini配置文件所在位置. 这两个文件一般我是放在其它目录下,不跟随项目所在目录 二图:用例操作类及用例执行类所在位置. 下图中有接口代码及功能代码组成,之前的文 ...

  6. ubuntu 使用MySQL Workbench 连接远程云服务器mysql

    前提:我的是腾讯云的服务器,所以需要在安全组开发端口. 配置安全组 1.创建新用户 一般为了安全性,我们不直接使用root用户,而是选择创建一个新用户. 在服务器中,输入  mysql -u root ...

  7. Nginx服务优化及优化深入(配置网页缓存时间、日志切割、防盗链等等)

    原文:https://blog.51cto.com/11134648/2134389 默认的Nginx安装参数只能提供最基本的服务,还需要调整如网页缓存时间.连接超时.网页压缩等相应参数,才能发挥出服 ...

  8. 3星|华杉华楠《超级符号原理》:超级符号是指注册为商标的企业logo

    “ 超级符号是私有财产,超级符号是通过对传统符号的改造,使之成为注册商标,成为私有化财产,通过占有它,让竞争对手无法使用.P112” 超级符号原理 作者: 华杉 华楠 出版社: 文汇出版社 出版年: ...

  9. vue2 自定义过滤器

  10. Selenium常用API的使用java语言之11-设置元素等待

    WebDriver提供了两种类型的等待:显式等待和隐式等待. 1.显示等待 WebDriver提供了显式等待方法,专门针对某个元素进行等待判断. import org.openqa.selenium. ...