生成这些的时候一般还有个vtu文件吧? 就打开那个就行
讲师
帖子
-
paraview后处理.vtp文件 -
求助centos安装openfoam@旺财R CentOS 装2206是可以的, 但是wave2foam之类的就没试过了
-
triSurfaceMesh对象切割cell单元是想用基于cut CELL的浸没边界法? 可以参考FOAM Extend 4.1 之后的做法, 找ibPatch
-
求助centos安装openfoamCentOS 7 上是能无root权限安装OpenFOAM的, 就是需要自己编译某些依赖, 比如说flex, bison之类的. 主要看想要安装OpenFOAM的哪些版本吧, 毕竟G++可能需要不同的版本
-
网格y+求助网格只是全都正交的空计算域网格,还是有放几何的网格。记得之前用ICEM的 o-block 画的方柱网格,看起来质量还行,其实网格质量很差,用fluent的PISO求解器都发散
-
pRefCell的选择将修改压力修正方程矩阵对应的系数@xpqiu 太强了
-
ESI版本的openFoam被ban了?因为被收购之后换地址了, 仓库什么的都迁移了
-
张量二阶偏导数 偏(A_j B_i)/偏(x_i x_j) 如何编程@coolhhh 感谢,本来也是想着OpenFOAM有没有简单的代码全部搞定,最后还是要手动一个一个算😂
-
张量二阶偏导数 偏(A_j B_i)/偏(x_i x_j) 如何编程@学流体的小明
问了AI,OpenFOAM需要手动做两次梯度计算#include "fvCFD.H" // OpenFOAM 的核心头文件,包含 mesh、field、fvc/fvm 工具 #include "fvcGrad.H" // 显式声明 fvc::grad int main(int argc, char *argv[]) { #include "setRootCase.H" #include "createTime.H" #include "createMesh.H" // 创建速度场 U volVectorField U ( IOobject ( "U", runTime.timeName(), mesh, IOobject::MUST_READ, IOobject::AUTO_WRITE ), mesh ); // 把 u1 分离出来 volScalarField u1 = U.component(vector::X); // 或者 U.x() // 1. 计算 u1 的一阶梯度 ∇u1 volVectorField gradU1 = fvc::grad(u1); // gradU1.x() = ∂u1/∂x1 // gradU1.y() = ∂u1/∂x2 // gradU1.z() = ∂u1/∂x3 // 2. 对 ∂u1/∂x1 这个标量场,在 x2(Y)方向再求一次梯度 // fvc::grad(gradU1.x()) 是一个 volVectorField, // 其中 .y() 即 ∂(∂u1/∂x1)/∂x2 = ∂²u1/∂x1∂x2 volScalarField d2u1dx1dx2 = fvc::grad( gradU1.x() ).y(); // 写入结果 d2u1dx1dx2.write(); return 0; }
-
张量二阶偏导数 偏(A_j B_i)/偏(x_i x_j) 如何编程想计算一个源项:
$$
\frac{\partial^2 (\overline{\rho} \overline{U}_j u_i^\prime) }{\partial x_i \partial x_j}
$$
其中上横线表示时间平均量,上标撇表示脉动量。
我把rhoMean、UMean和UPrime都计算好了,它们的类型分别是
volScalarField rhoMean; volVectorField UMean; volScalarField UPrime;
展开后是
$$
\begin{multline}
[{\frac{{{\partial ^2}}}{{\partial x_1^2}}(\bar \rho {{\bar U}_1}u_1^\prime ) + \frac{{{\partial ^2}}}{{\partial {x_1}\partial {x_2}}}(\bar \rho {{\bar U}_2}u_1^\prime ) + \frac{{{\partial ^2}}}{{\partial {x_1}\partial {x_3}}}(\bar \rho {{\bar U}_3}u_1^\prime ) + \frac{{{\partial ^2}}}{{\partial {x_2}\partial {x_1}}}(\bar \rho {{\bar U}_1}u_2^\prime ) +
\\
\frac{{{\partial ^2}}}{{\partial x_2^2}}(\bar \rho {{\bar U}_2}u_2^\prime ) + \frac{{{\partial ^2}}}{{\partial {x_2}\partial {x_3}}}(\bar \rho {{\bar U}_3}u_2^\prime ) + \frac{{{\partial ^2}}}{{\partial {x_3}\partial {x_1}}}(\bar \rho {{\bar U}_1}u_3^\prime ) + \frac{{{\partial ^2}}}{{\partial {x_3}\partial {x_2}}}(\bar \rho {{\bar U}_2}u_3^\prime ) + \frac{{{\partial ^2}}}{{\partial x_3^2}}(\bar \rho {{\bar U}_3}u_3^\prime )}]
\end{multline}
$$
然后该如何写这个偏导数呢?和AI战斗了好久它还是没懂,它一直想用fvc::laplacian()
,但是fvc::laplacian()
的含义是$\frac{\partial ^2}{\partial x_1^2}+\frac{\partial ^2}{\partial x_2^2}+\frac{\partial ^2}{\partial x_3^2}$。