Outils pour utilisateurs

Outils du site


sunfluidh:meshgen_doc

Ceci est une ancienne révision du document !


Meshgen : A mesh generator for cartesian grid

Meshgen is a modest mesh generator for cartesian grid. The principle is very simple :

  • Each direction {x,y,z} (or {r,$\theta$,z} in cylindrical geometry) is represented by a line.
  • Each line can be splitted in several parts over which a distribution law is applied in order to build the discretization nodes.
  • Following the CFD code used, these nodes have different definitions :
    • For Chorus, they are the cell centers.
    • For Sunfluidh, they are the cell-face locations.
  • Several distribution laws are available
    • Geometric functions
    • Hyperbolic tangent functions
    • Cosine function

Compilation procedure

For the class 5AF32, this step is automatically made by the install procedure.

After downloading the Meshgen project from the server forge by means of svn:

  • go to the directory MESHGEN/TRUNK/SOURCES
  • Run the command make: The executable file meshgen.x is created.

Meshgen settings

The grid parameters are set in the input data file “data_meshgen.dat”. A simple example of a 2D grid is given just below :

  • The cell size is variable along the I-direction.
    • The I-line is split in two equal parts.
    • The function “TANH_ONE_SIDE” is applied over each part, with a reverse distribution over the 2nd part. This way is useful to define a perfect symmetrical distribution in regard to the mid-plane.
  • The grid is regular along the J-direction
data_meshgen.dat
==============================================================================================================
            DATA FILE FOR THE MESH GENERATOR MESHGEN (DESCRIPTIONS OF DATA ARE GIVEN BELOW)
==============================================================================================================
-------------------------------------------------------------------------------------------------------------
Blocks of data are associated to segments along a specific direction (There are as many blocks as segments)
See below the TEMPLATES to select your own block of data associated to the selected distribution law)
-------------------------------------------------------------------------------------------------------------
---------------------------------------
I-DIRECTION
---------------------------------------
Choice of the metric system :  in meter or dimensionless  (0)  - angular in degrees (1)     :
&METRIC_UNIT         Type_of_Metric= 0 /
&MESH_FUNCTION_DATA Function_Name="TANH_ONE_SIDE" Number_of_Cells= 64   Length= 0.5  Left_Cell_Size= 1.2d-03 Reverse_Ordering= .false. /
&MESH_FUNCTION_DATA Function_Name="TANH_ONE_SIDE" Number_of_Cells= 64   Length= 0.5  Left_Cell_Size= 1.2d-03 Reverse_Ordering= .true. /
&MESH_FUNCTION_DATA End_of_Data_Block = .true./
---------------------------------------
J-DIRECTION
---------------------------------------
Choice of the metric system :  in meter or dimensionless  (0)  - angular in degrees (1)     :
&METRIC_UNIT         Type_of_Metric= 0 /
&MESH_FUNCTION_DATA  Function_Name="REGULAR"           Number_of_Cells= 128  Length= 1.0   Reverse_Ordering= .false. /
&MESH_FUNCTION_DATA End_of_Data_Block = .true./
---------------------------------------
K-DIRECTION
---------------------------------------
 
&MESH_FUNCTION_DATA End_of_Data_Block = .true./
 
END OF FILE

Data set description

In the data file, each block of data is attributed to a direction (I,J or K).
Each direction can be split in several parts (segments) on which a specific distribution law is applied in order to place the discrete nodes.
Each distribution law is associated to a function defined by a namelist. The available functions are :

  • Regular function (Function_name= REGULAR_MESH)
  • Hyperbolic tangent function “one side” (Function_Name= TANH_ONE_SIDE_MESH)
  • Hyperbolic tangent function “two sides” (Function_Name= TANH_TWO_SIDES_MESH)
  • Gauss-Lobatto distribution (Function_Name= GAUSS_LOBATTO_MESH)
  • Geometric series “type 1” (Function_Name= GEOMETRIC_SERIE_1_MESH)
  • Geometric series “type 2” (Function_Name= GEOMETRIC_SERIE_2_MESH)

These functions get a specific data set :

  • Number_of_Cells : Number of cells over the segment (for all functions).
  • Length : Length of the segment (for all functions).
  • Left_Cell_Size : Reference size of the cell placed at the left tip of the segment (for all functions except the regular function)
  • Right_Cell_Size : Reference size of the cell placed at the right tip of the segment (for hyperbolic function “two sides” and geometric series “Type 1” only)
  • Reverse_Ordering : Reverse the ordering of the distribution if set to .true.
  • End_of_Block_Data : logical set to .true. to declare the end of a data structure (by default it set to .false. by the program)
For each direction, the block of data must start with the namelist &METRIC_UNIT Type_of_Metric= 0 /
  • Type_of_Metric= 0 specifies a usual metric
  • Type_of_Metric= 1 specifies an angular metric. The unit is the degree.

The block of data must be closed with the special namelist &MESH_FUNCTION_DATA End_of_Data_Block = .true./

A template each function is given here

Traductions de cette page:
  • fr
sunfluidh/meshgen_doc.1512229366.txt.gz · Dernière modification : 2017/12/02 16:42 de yann

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki