

Radial Basis Function (RBF) mesh motion solver for pitching motion
I want to use Radial Basis Function (RBF) for pitching airfoil motion. I came to know that the RBF solver excluded from new version of .org and .com community of openfoam and only avialable in openfoam extended version (.wiki.net, avialable in new version too). Beacuse of my system constraint (because of some special reason) I can't use extended version in my system (containing OpenFoam v1912 or v1906).
Can you please suggest how can I use extended version solver (RBF) in my system so that evey script (fvschemes, fvsolution, controlDict etc.) will run without any error?
Thank You.
Best Regards,
Ram
OpenFOAM


Hello ram, You could use dynamicMeshDict with interpolatingSolidBody solverandoscillatingRotatingMotion function, which will allow you to add amplitude and omega for pitching airfoil. A sample example of dynamicMeshDictlooks something like this:
dynamicFvMesh dynamicMotionSolverFvMesh;
motionSolverLibs ("libfvMotionSolvers.so");
solver interpolatingSolidBody;
solidBodyMotionFunction oscillatingRotatingMotion;
patches (aerofoil);
CofG (0.1 0 0);
patches (aerofoil);
CofG (0.1 0 0);
innerDistance 0.01;
outerDistance 1.0;
oscillatingRotatingMotionCoeffs
{
origin (0.2 0 0);
amplitude (0 20 0);
omega 3.18;
}
Thanks, DivyeshouterDistance 1.0;
oscillatingRotatingMotionCoeffs
{
origin (0.2 0 0);
amplitude (0 20 0);
omega 3.18;
}


you will definitely like rolling ball 3d game because it is very simple and attractive, but you need to be alert when rolling the ball
1. Is above dynamicMeshDict script a replacement for RBF (just a new way to deal with mesh motion) or similar to RBF solver?
2. Can I use above dynamicMeshDict script for laplaciandisplacement solver and Solid Body Rotation (SBR) solver? If yes, then what changes should I do in above script?
Thank You.
Best Regards,
Ram
29-10-20, 9:29 a.m. guptaram@
You can use dynamicMeshDict with any existing solver. Just add this dict in "constant" folder and that will automatically make your mesh dynamic.
For example, you could check sloshing tank tutorial from multiphase solvers.
Thanks,
Divyesh
29-10-20, 9:54 a.m. divyesh
dynamicFvMesh dynamicMotionSolverFvMesh;
motionSolverLibs ("libfvMotionSolvers.so");
solver laplaciandisplacement; (or solver displacementSBRStress;)
solidBodyMotionFunction oscillatingRotatingMotion; (not sure about this line)
patches (aerofoil);
CofG (0.1 0 0); // depends on case
innerDistance 0.01; // depends on case // is innerDistance equals to chord length of an airfoil?
outerDistance 1.0; // depends on case // is outerDistance equals to domain size (largest one)?
oscillatingRotatingMotionCoeffs
{
origin (0.2 0 0); // depends on case
amplitude (0 20 0); // depends on case
omega 3.18; // depends on case
}
Is above script correct? Please correct me if I am making mistakes.
Thank You.
Best Regards,
Ram
29-10-20, 10:35 a.m. guptaram@
Keep solver same interpolatingSolidBody
Change starts from patches(patch_Name) and change all parameters accordingly.
Thanks,
Divyesh
29-10-20, 12:59 p.m. divyesh
Thanks a lot!!
Best Regards,
Ram
29-10-20, 8:33 p.m. guptaram@
Login to add comment