CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Pre-Processing (https://www.cfd-online.com/Forums/openfoam-pre-processing/)
-   -   RBF motion solver implementation (https://www.cfd-online.com/Forums/openfoam-pre-processing/149994-rbf-motion-solver-implementation.html)

ZoeWu March 12, 2015 17:23

RBF motion solver implementation
 
Hi all,

I am currently simulating a foil with sinusoidal pitching and heaving motion using dynamic mesh method. I am using Solid Body Rotation (SBR) Stress dynamic mesh motion solver, and I used the Laplacian dynamic mesh before as well. I was able to conduct the simulation and validate the results with the non-inertial reference frame method.

However, I would like to increase the mesh resolution of the current simulation, and both the SBR and Laplacian solvers are not robust enough, and mesh cells got too skewed. I would like to try the Radial Basis Function (RBF) motion solver and see whether it can cope with the large mesh cell deformation. I am looking into the tutorial and also source codes, but I am not sure quite what are the variables in the dynamicMeshDict refer to. Could someone show some insights or recommend some documentations?

I know there is the PhD thesis by Frank Bos, but it does not go into details about the implementation in OpenFOAM.

The following is the link to the tuturial case:
http://sourceforge.net/p/openfoam-ex...ovingBlockRBF/

The dynamicMeshDict is as follows:
Code:

/*--------------------------------*- C++ -*----------------------------------*\
| =========                |                                                |
| \\      /  F ield        | OpenFOAM Extend Project: Open Source CFD        |
|  \\    /  O peration    | Version:  1.6-ext                              |
|  \\  /    A nd          | Web:      www.extend-project.de                |
|    \\/    M anipulation  |                                                |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version    2.0;
    format      ascii;
    class      dictionary;
    object      dynamicMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

dynamicFvMesh dynamicMotionSolverFvMesh;

solver RBFMotionSolver;

movingPatches ( block );

staticPatches ( left right top bottom );

coarseningRatio 5;

includeStaticPatches  no;
frozenInterpolation    yes;

interpolation
{
    RBF  IMQB;
    focalPoint (0 0 0);
    innerRadius 2.5;//5.0
    outerRadius 12.5;
    polynomials true;

    W2Coeffs
    {
        radius    1.0;
    }
    TPSCoeffs
    {
        radius    5.0;
    }
    GaussCoeffs
    {
        radius    0.1;
    }
    IMQBCoeffs
    {
        radius    0.001;
    }
}


// ************************************************************************* //

Thank you very much!

wyldckat April 3, 2015 13:30

Quick answer:
  • This indicates the function used for the Radial Basis algorithm:
    Code:

    RBF  IMQB;
  • The respective coefficients used for this option "IMQB":
    Code:

        IMQBCoeffs
        {
            radius    0.001;
        }

  • These control the range of effect of the radial algorithm.
    Code:

        focalPoint (0 0 0);
        innerRadius 2.5;//5.0
        outerRadius 12.5;

Beyond this, I strongly suggest you do what is usually the way to learn how to use OpenFOAM: use a simple test case and try changing the values, one at a time.

In addition, have a look at the latest version, which is foam-extend 3.1.


All times are GMT -4. The time now is 07:05.