-
Notifications
You must be signed in to change notification settings - Fork 50
RBF mesh motion solver
The page https://github.com/davidsblom/FOAM-FSI/blob/master/run/3dTube/fluid/constant/dynamicMeshDict shows an example of the configuration file for the mesh motion solver. A distinction is made between moving patches, and static patches. In general, the static patches consist of the outer boundaries of the domain and possibly also other patches of the grid.
dynamicFvMesh dynamicMotionSolverFvMesh;
solver RBFMeshMotionSolver;
movingPatches ( wall );
staticPatches ( outlet inlet );
coarsening
{
enabled true;
tol 1.0e-6;
minPoints 10;
maxPoints 2000;
}
interpolation
{
function TPS;
}
A coarsening sub-dictionary configuration is available which can be enabled or disabled with the "enabled" parameter. The coarsening of the control points for the radial basis function interpolation is based on a unit displacement of the moving and static patches. The points with the largest error are selected. The error is simply the difference between the interpolated value and the unit displacement of the control points.
The algorithm can be configured with a minimum and maximum number of points. A maximum number of points can be set such that the memory usage of the mesh motion solver does not exceed the amount of available RAM.
The sub-dictionary interpolation is used to select the radial basis function. Several functions can be used:
- TPS: thin plate spline. A globally supported radial basis function.
- WendlandC0: Wendland's C0 compactly supported radial basis function. A radius should be set separately in the interpolation sub-dictionary.
- WendlandC2: Wendland's C2 compactly supported radial basis function.
- WendlandC4: Wendland's C4 compactly supported radial basis function.
- WendlandC6: Wendland's C6 compactly supported radial basis function.