openfoam学习心得-dynamic mesh_day1
求解器中如果支持动网格将包括两个头文件分别是:
dynamicFvMesh.H、createDynamicFvMesh.H
在src中搜索这文件的位置可以使用下列命令:
find $FOAM_SRC -name createDynamicFvMesh.H
dynamic mesh需要包含dynamicMeshDict文件,同理可用find命令在tutorials中进行搜索
find $FOAM_TUTORIALS -name dynamicMeshDict
c++语法:
autoPtr motionPtr_ //motionPtr_是个指针,指向的对象是motionSolver类
motionPtr_->newPoints() //调用motionSolver类中的newPoints()函数
//motionSolve是所有求解器的虚基类-newPoints()函数如下:
Foam::tmpFoam::pointField Foam::motionSolver::newPoints()
{
solve(); / /不同的求解器中对solve()函数的定义不同–动网格算法主要看这个函数
return curPoints(); / /FVM求解出来的是cell体中心的位移,这个函数就是从中心的位移插值网格顶点的位移
}
virtual void solve() = 0; / /定义在motionSolver类中的纯虚函数,必须在子类中重写
动网格主要就是两点,第一边界怎么运动:随时间正弦运动?还是solution dependent?第二点知道了边界随时间的