diff --git a/Cassiopee/Generator/Generator/IBM.py b/Cassiopee/Generator/Generator/IBM.py index e6b040abc..c4d0a996d 100644 --- a/Cassiopee/Generator/Generator/IBM.py +++ b/Cassiopee/Generator/Generator/IBM.py @@ -679,7 +679,7 @@ def buildParentOctrees__(o, tb, dimPb=3, vmin=15, snears=0.01, snearFactor=1., d def generateIBMMesh(tb, dimPb=3, vmin=15, snears=0.01, dfars=10., dfarDir=0, tbox=None, snearsf=None, check=False, to=None, ext=2, expand=3, octreeMode=0): - """Generates the full Cartesian mesh for IBMs""" + """Generates the full Cartesian mesh for IBMs.""" import KCore.test as test # refinementSurfFile: surface meshes describing refinement zones if tbox is not None: @@ -938,7 +938,7 @@ def addRefinementZones__(o, tb, tbox, snearsf, vmin, dim): def buildOctree(tb, dimPb=3, vmin=15, snears=0.01, snearFactor=1., dfars=10., dfarDir=0, tbox=None, snearsf=None, to=None, balancing=2, expand=2, octreeMode=0): - """Builds an octree from the surface definitions""" + """Builds an octree from the surface definitions.""" surfaces=[]; dfarListL=[]; snearso=[] diff --git a/Cassiopee/Generator/doc/source/Generator_IBM.rst b/Cassiopee/Generator/doc/source/Generator_IBM.rst index e9545303b..918bc9065 100644 --- a/Cassiopee/Generator/doc/source/Generator_IBM.rst +++ b/Cassiopee/Generator/doc/source/Generator_IBM.rst @@ -31,7 +31,7 @@ Contents ######### .. py:function:: Generator.IBM.generateIBMMesh(tb, dimPb=3, vmin=15, snears=0.01, dfars=10., tbox=None, to=None, octreeMode=0, check=False) - Generates the full Cartesian mesh (octree/quadtree-based) for IBMs. The algorithm is divided into three main steps, which are the sequential octree generation from the surface definitions, through optional local adaptations from the refinement zones defined in tbox, to the resulting Cartesian mesh. The methodology is introduced and detailed in Peron and Benoit [2013, https://doi.org/10.1016/j.jcp.2012.07.029], and recalled in Constant [2023, http://dx.doi.org/10.13140/RG.2.2.35378.21449]. The resulting mesh is a collection of overset isotropic grids with minimal overlap. + Generates the full Cartesian mesh (octree/quadtree-based) for IBMs. The algorithm is divided into three main steps. It starts with the sequential octree generation from the surface definitions, through optional local adaptations from the refinement zones defined in tbox, to the resulting Cartesian mesh. The methodology is introduced and detailed in Peron and Benoit [2013, https://doi.org/10.1016/j.jcp.2012.07.029], and recalled in Constant [2023, http://dx.doi.org/10.13140/RG.2.2.35378.21449]. The resulting mesh is a collection of overset isotropic grids with minimal overlap. This function encapsulates the Generator.buildOctree function. For more details about the octree creation step, see the documentation of this function. If the octree has already been built, the user can also pass the octree as an input parameter (to). @@ -73,7 +73,7 @@ Contents This function takes into account three main parameters which are vmin, snears and dfars. - * vmin is a global parameter that controls the minimum number of cells per direction for each octree level. For example, a small vmin value will result in a small a low number of points against a large number of elementary Cartesian blocks, as well as more frequent resolution changes from the wall boundaries. Empirically, one should use vmin values between 7 and 21. + * vmin is a global parameter that controls the minimum number of cells per direction for each octree level. For example, a small vmin value will result in a small number of points against a large number of elementary Cartesian blocks, as well as more frequent resolution changes from the wall boundaries. Empirically, one should use vmin values between 7 and 21. * snears defines the minimum near-wall spacing. This argument can be passed globally as a float, or locally as a list of floats whose size must be equal to the number of zones in the tb file. Note that these values will eventually be overwritten by any snears values found in each subzone of the geometry pytree (see Geom.IBM.setSnear). diff --git a/docs/doc/Generator_IBM.html b/docs/doc/Generator_IBM.html index 2844a62d2..319d27cdb 100644 --- a/docs/doc/Generator_IBM.html +++ b/docs/doc/Generator_IBM.html @@ -49,10 +49,10 @@

List of functions

- + - +

Generator.IBM.buildOctree

Builds an octree from the surface definitions.

Generator.IBM.generateIBMMesh

Generates the full Cartesian mesh for IBMs.

@@ -62,7 +62,7 @@

Contents

Generator.IBM.generateIBMMesh(tb, dimPb=3, vmin=15, snears=0.01, dfars=10., tbox=None, to=None, octreeMode=0, check=False)
-

Generates the full Cartesian mesh (octree/quadtree-based) for IBMs. The algorithm is divided into three main steps, which are the sequential octree generation from the surface definitions, through optional local adaptations from the refinement zones defined in tbox, to the resulting Cartesian mesh. The methodology is introduced and detailed in Peron and Benoit [2013, https://doi.org/10.1016/j.jcp.2012.07.029], and recalled in Constant [2023, http://dx.doi.org/10.13140/RG.2.2.35378.21449]. The resulting mesh is a collection of overset isotropic grids with minimal overlap.

+

Generates the full Cartesian mesh (octree/quadtree-based) for IBMs. The algorithm is divided into three main steps. It starts with the sequential octree generation from the surface definitions, through optional local adaptations from the refinement zones defined in tbox, to the resulting Cartesian mesh. The methodology is introduced and detailed in Peron and Benoit [2013, https://doi.org/10.1016/j.jcp.2012.07.029], and recalled in Constant [2023, http://dx.doi.org/10.13140/RG.2.2.35378.21449]. The resulting mesh is a collection of overset isotropic grids with minimal overlap.

This function encapsulates the Generator.buildOctree function. For more details about the octree creation step, see the documentation of this function. If the octree has already been built, the user can also pass the octree as an input parameter (to).

This function fully operates in a distributed parallel environment and automatically splits the resulting Cartesian mesh into NP subzones, where NP is the number of MPI processes.

@@ -87,7 +87,7 @@

Contents

-
# - buildOctree (pyTree) -
+
# - generateIBMMesh (pyTree) -
 import Converter.PyTree as C
 import Geom.PyTree as D
 import Generator.IBM as G_IBM
@@ -113,7 +113,7 @@ 

Contents

Since this function, which is based on the Generator.PyTree.octree() function, is primarily used to automatically generate Cartesian grids around immersed boundaries, a final expansion of the lowest level leaf nodes is performed so that the minimum spacing imposed near the wall is sufficiently propagated in the wall normal direction. Local refinement zones stored in the tbox argument can be used to further refine the octree.

This function takes into account three main parameters which are vmin, snears and dfars.

    -
  • vmin is a global parameter that controls the minimum number of cells per direction for each octree level. For example, a small vmin value will result in a small a low number of points against a large number of elementary Cartesian blocks, as well as more frequent resolution changes from the wall boundaries. Empirically, one should use vmin values between 7 and 21.

  • +
  • vmin is a global parameter that controls the minimum number of cells per direction for each octree level. For example, a small vmin value will result in a small number of points against a large number of elementary Cartesian blocks, as well as more frequent resolution changes from the wall boundaries. Empirically, one should use vmin values between 7 and 21.

  • snears defines the minimum near-wall spacing. This argument can be passed globally as a float, or locally as a list of floats whose size must be equal to the number of zones in the tb file. Note that these values will eventually be overwritten by any snears values found in each subzone of the geometry pytree (see Geom.IBM.setSnear).

  • The dfars argument specifies the global domain extent from the geometry bounding boxes. Like snears, this argument can be a float or a list of floats, and local values found in tb will eventually overwrite the values passed as argument (see Geom.IBM.setDfar).