0
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 28-10-20, 11:05 p.m. guptaram@
0
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);
innerDistance 0.01;
outerDistance 1.0;

oscillatingRotatingMotionCoeffs
{
origin (0.2 0 0);
amplitude (0 20 0);
omega 3.18;
}
Thanks, Divyesh
29-10-20, 9:01 a.m. divyesh

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


Log-in to answer to this question.