openfoam/tutorials
Henry Weller 009203188f blockMesh: New experimental support for projecting block face point to geometric surfaces
For example, to mesh a sphere with a single block the geometry is defined in the
blockMeshDict as a searchableSurface:

    geometry
    {
        sphere
        {
            type searchableSphere;
            centre (0 0 0);
            radius 1;
        }
    }

The vertices, block topology and curved edges are defined in the usual
way, for example

    v 0.5773502;
    mv -0.5773502;

    a 0.7071067;
    ma -0.7071067;

    vertices
    (
        ($mv $mv $mv)
        ( $v $mv $mv)
        ( $v  $v $mv)
        ($mv  $v $mv)
        ($mv $mv  $v)
        ( $v $mv  $v)
        ( $v  $v  $v)
        ($mv  $v  $v)
    );

    blocks
    (
        hex (0 1 2 3 4 5 6 7) (10 10 10) simpleGrading (1 1 1)
    );

    edges
    (
        arc 0 1 (0 $ma $ma)
        arc 2 3 (0 $a $ma)
        arc 6 7 (0 $a $a)
        arc 4 5 (0 $ma $a)

        arc 0 3 ($ma 0 $ma)
        arc 1 2 ($a 0 $ma)
        arc 5 6 ($a 0 $a)
        arc 4 7 ($ma 0 $a)

        arc 0 4 ($ma $ma 0)
        arc 1 5 ($a $ma 0)
        arc 2 6 ($a $a 0)
        arc 3 7 ($ma $a 0)
    );

which will produce a mesh in which the block edges conform to the sphere
but the faces of the block lie somewhere between the original cube and
the spherical surface which is a consequence of the edge-based
transfinite interpolation.

Now the projection of the block faces to the geometry specified above
can also be specified:

    faces
    (
        project (0 4 7 3) sphere
        project (2 6 5 1) sphere
        project (1 5 4 0) sphere
        project (3 7 6 2) sphere
        project (0 3 2 1) sphere
        project (4 5 6 7) sphere
    );

which produces a mesh that actually conforms to the sphere.

See OpenFOAM-dev/tutorials/mesh/blockMesh/sphere

This functionality is experimental and will undergo further development
and generalization in the future to support more complex surfaces,
feature edge specification and extraction etc.  Please get involved if
you would like to see blockMesh become a more flexible block-structured
mesher.

Henry G. Weller, CFD Direct.
2016-10-13 15:05:24 +01:00
..
basic PBiCGStab: New preconditioned bi-conjugate gradient stabilized solver for asymmetric lduMatrices 2016-09-05 11:46:42 +01:00
combustion tutorials: Renamed sub-directories ras -> RAS and les -> LES 2016-09-20 19:03:40 +01:00
compressible tutorials: Renamed sub-directories ras -> RAS and les -> LES 2016-09-20 19:03:40 +01:00
discreteMethods postProcessing: Replaced 'foamCalc' and the 'postCalc' utilities 2016-05-28 18:58:48 +01:00
DNS/dnsFoam/boxTurb16 tutorials Allrun scripts: Update running of postProcess application 2016-08-02 16:24:28 +01:00
electromagnetics tutorials Allrun scripts: Update running of postProcess application 2016-08-02 16:24:28 +01:00
financial/financialFoam/europeanCall PBiCGStab: New preconditioned bi-conjugate gradient stabilized solver for asymmetric lduMatrices 2016-09-05 11:46:42 +01:00
heatTransfer PBiCGStab: New preconditioned bi-conjugate gradient stabilized solver for asymmetric lduMatrices 2016-09-05 11:46:42 +01:00
incompressible foamCleanTutorials: Simplified cleaning the mesh by removing the constant/polyMesh directory 2016-10-13 15:02:32 +01:00
lagrangian PBiCGStab: New preconditioned bi-conjugate gradient stabilized solver for asymmetric lduMatrices 2016-09-05 11:46:42 +01:00
mesh blockMesh: New experimental support for projecting block face point to geometric surfaces 2016-10-13 15:05:24 +01:00
multiphase reactingTwoPhaseEulerFoam wallBoiling.* tutorials: only run start-up in test-mode 2016-10-11 08:44:36 +01:00
resources/geometry GIT: Repo update 2014-12-11 08:35:10 +00:00
stressAnalysis tutorials Allrun scripts: Update running of postProcess application 2016-08-02 16:24:28 +01:00
Allclean scripts: Reformat with consistent section separators 2016-02-15 18:30:24 +00:00
Allrun Sprucing up the tutorials folder and adding -dict to "collapseEdges" 2016-03-06 19:06:44 +00:00
Alltest tutorials: Renamed .org -> .orig 2016-04-30 21:53:50 +01:00