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

翻译自: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. elementUI图片墙上传

    elementUI提供了照片墙上传的功能,我们直接拿来用. 以下是实现代码: <template> <div style="padding: 50px;"> ...

  2. vue中修改第三方组件的样式并不造成污染

    vue引用了第三方组件, 需要在组件中局部修改第三方组件的样式, 而又不想去除scoped属性造成组件之间的样式污染. 此时只能通过>>>,穿透scoped. 但是,在sass中存在 ...

  3. 1+x证书学习日志——css常用属性

     ## css常用属性:             1:文本属性:                 文本大小:  font-size:18px;                 文本颜色    colo ...

  4. Fortify漏洞之Open Redirect(开放式重定向)

    继续对Fortify的漏洞进行总结,本篇主要针对  Open Redirect(开放式重定向)  的漏洞进行总结,如下: 1.1.产生原因: 通过重定向,Web 应用程序能够引导用户访问同一应用程序内 ...

  5. ssh免密登陆(简单快捷)

    介绍免密登陆配合下边这张图可以了解下过程: 假设现在A要通过免密登陆B 在A上的操作: 1.终端输入ssh-keygen (后边可以指定加密算法:-t 算法,如果不指定就是默认的rsa) 原理: 首先 ...

  6. [LeetCode] 76. 最小覆盖子串 ☆☆☆☆☆(滑动窗口)

    https://leetcode-cn.com/problems/minimum-window-substring/solution/hua-dong-chuang-kou-suan-fa-tong- ...

  7. python urllib应用

    urlopen 爬取网页 爬取网页 read() 读取内容 read() , readline() ,readlines() , fileno() , close() :这些方法的使用方式与文件对象完 ...

  8. 微信小程序 之wxml保留小数点后两位数的方法及转化为字符串的方法

    原理:wxml中不能直接使用较高级的js语法,如‘.toFixed’,‘toString()’,但可以通过引入wxs模块实现效果 1.新建`filter.wxs` var filters = {    ...

  9. JAVA笔记整理(四),JAVA中的封装

    什么是封装 所谓的封装就是把数据项和方法作为一个独立的整体隐藏在对象的内部,具体的实施细节不对外提现,仅仅保留有限的外部接口,封装外的用户只能通过接口来进行操作.就好比开启一台电脑需要进行很多个步骤, ...

  10. Set的交集、差集踩坑记录

    项目中我用到了Set的retainAll和removeAll两个方法取差集和交集. 用法网上都有,我也不展示了. 但是因为我是急着用,直接就照着写了,没想到出大问题了. 因为我的set是一个map的k ...