OpenFOAM之cavity算例 |
您所在的位置:网站首页 › cavity和hole区别 › OpenFOAM之cavity算例 |
OpenFOAM用法
cavity算例(绝热二维方腔的不可压缩流算例)
复制路径下的cavity文件夹,并复制其所在路径。 mkdir openfoam_files cd openfoam_files cp -ar /opt/openfoam9/tutorials/incompressible/icoFoam/cavity/cavity .在复制的cavity路径下运行以下命令进行处理 cd cavity # 执行命令生成计算网格 blockMesh # 在paraview中打开生成的网格(可选) paraFoam # 查看网格大小,几何尺寸和一些网格信息(可选) checkMesh # 调用求解器进行计算 icoFoam touch mycavity.foam # 也可以不生成改文件 直接求解器计算完运行paraFoam即可 # 启动paraview 将mycavity.foam文件导入 查看结果 paraview在/system/controlDict中查看运用的什么求解器进行计算 icoFoam是不可压缩的牛顿流体层流的瞬态解算器 有一个速度恒为1的边界带动下面的流体进行运动。 查看压力场: p表示压强,表示上面有一层水在流动,从左往右流。空腔的左部顶端为低压区,右部顶端为高压区。 带原点的p对每个网格的压力场都进行了插值,这样压力场看起来是连续的。带方框的p,会显示每个网格的压力值,并且整个场的每个网格值并不是连续的。 U表示流速的分布 /system下的文件/system/blockMeshDict 点信息定义的是上面的八个顶点。
分区的定义: 边界定义: /system/controlDict application: 所用的求解器 startFrom : 开始时间 StopAt: 停止时间 deltaT: 计算的间隔时间 writeControl timeStep :按照timeStep的方式输出 writeInterval 20: 写入间隔,如果计算间隔为1s则表示设置20s输出一次结果 purgeWrite: 若等于0则输出所有时刻的结果 若为n,只输出最后n步的结果 writePrecision 6 :表示写入精度为6位 writeCompression off: 表示不对输出结果进行压缩 on表示压缩,一般对大型项目需要压缩 runTimeModifiable: 让每个时间步读取或者不读取所修改的字典文件/system/fvSchemes // 用来定义离散格式的求解方式的文件 ddtSchemes : 对时间项的离散,采用欧拉方式 gradSchemes : 对梯度项的离散 divSchemes : 对对流项的离散 laplacianSchemes : 对拉普拉斯项的离散 interpolationSchemes : 从体到面的一个插值方法的选用 snGradSchemes : 面法向梯度的离散方法选择/system/fvSolution fvSolution中由两个部分组成:solvers(矩阵求解器)和求解器使用的算法 polyMesh文件是通过blockMesh命令产生的,里面有一些关于几何体的信息(边界,面等)。 transportProperties是描述液体的物理特性的文件(其中参数nu是液体的运动粘度,值越大,流动性越差,水的运动粘度为 1 0 − 6 10^{-6} 10−6) 本算例中雷诺数为10(设置的运动粘度为0.01 m 2 / s m^2/s m2/s),雷诺数如下定义 R e = d ∣ U ∣ ν Re = \frac{d|U|}{\nu} Re=νd∣U∣ 其中d和|U|分别是特征长度和速度, ν \nu ν是运动粘度。本算例中d为0.1m,|U|为1m/s,运动粘度为0.01 m 2 / s m^2/s m2/s,所以雷诺数为10。 雷诺数是一种用来表征流体流动情况的无量纲数。 雷诺数可以用来判别流动特性的依据,例如在管流中,雷诺数小于2300的流动时层流,雷诺数等于2300-4000为过渡状态,雷诺数大于4000时是湍流。 还需要设置时间步,即 δ T \delta T δT,当运行icoFoam的时候,为了达到数值稳定以及时间计算精度,库朗数应该小于1。每个网格的库朗数这样定义: C o = δ t ∣ U ∣ δ x Co = \frac{\delta t |U|}{\delta x} Co=δxδt∣U∣ 二维中的定义:库朗数的物理意义就是时间步长内流体运动距离与矩形网格单位长度的比值 它可以被理解为:在给定时间步长和给定网格中,流体在网格中的运动距离。 上式中 δ t \delta t δt为时间步, ∣ U ∣ |U| ∣U∣为某个玩个单元内的速度矢量的模, δ x \delta x δx为速度方向的网格长度 根据最大速度和最小网格尺寸来计算库朗数,在保证其小于1的前提下指定时间步。网格大小为: δ x = d n = 0.1 20 = 0.005 m \delta x = \frac{d}{n} = \frac{0.1}{20} = 0.005m δx=nd=200.1=0.005m n为网格大小,为了使库朗数在整个流体域都小于或等于1。时间步必须小于或等于: δ t = C o δ x ∣ U ∣ = 1 ∗ 0.005 1 = 0.005 s \delta t = \frac{Co \delta x}{|U|} = \frac{1*0.005}{1} = 0.005s δt=∣U∣Coδx=11∗0.005=0.005s # 清理时间步的命令 foamListTimes -rm通过水的流速场可以看出水的运动状态(只运行了10S的,并且网格细分为60 * 60 * 1,运动粘度改为水的运动粘度 1 0 − 6 10^{-6} 10−6)
文件P的单位
m
2
/
s
2
m^2/s^{2}
m2/s2(运动压力): dimensions为单位:中括号中的七个值对应下面表格七个值。 mol:摩尔应用于计算微粒的数量、物质的质量、气体的体积、溶液的浓度、但应过程的热量变化等。 内部均值场:设置为0(在压力场下内部压力设置为0,速度场则内部速度为0) |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |