# Documentation du code de simulation numérique SUNFLUIDH

## Web LIMSI

sunfluidh:homedata_poissonsolver_namelist

## Namelist "HomeData_PoissonSolver"

This namelist contains all parameters on the iterative solvers and the nV-cycle multigrid method directly implemented in the code for solving the Poisson's equation (in-house development). The iterative solvers are based on the Successive Over Relaxation methods (SOR).

• These data are only associated with the SOR-type solvers directly implemented in the code (“homemade” development)
• These data are taken into account only when the variable “Poisson_NumericalMethod” in the Namelist “Numerical_Methods” is correctly set (see Numerical_Methods (new version)).
• Poisson_NumericalMethod= Home-Multigrid-ConstantMatrixCoef
• Poisson_NumericalMethod= Home-Multigrid-VariableMatrixCoef
• Not for the release SUNFLUIDH_EDU

## Full data set of the namelist

 &HomeData_PoissonSolver  SolverName="SOR-Redblack-MPI",
Number_max_Grid= 5,
Number_max_Cycle= 10,
Number_Iteration= 0,
Number_Iteration_FineToCoarseGrid= 1,
Number_Iteration_CoarseToFineGrid= 5,
Number_Iteration_CoarsestGrid= 10 ,
Relaxation_Coefficient= 1.7 ,
Convergence_Criterion= 1.D-15,
Prolongation_Type="Uniform",
Coarsening_Id(1:5)= 7,7,7,7,7 ,
Off_Set_Poisson_Source_term= .false. /
• Following the problem treated, some numerical methods are better adapted than others, this point is precised for each available option.

## Definition of the data set

### SolverName

• Type: Character string
• Selection of the iterative solver coupled with the multigrid method.
• Jacobi : Successive Over Relaxed solver based on the Jacobi's method
• SOR : Successive Over Relaxed solver based on the Gauss-Seidel method
• SOR-Redblack : Successive Over Relaxed solver based on a “Red-Black” algorithm (useful with OpenMP-parallel computations or MPI domain decompositions because it can ensure the replicability of the solution whatever the number of MPI Processus and OpenMP threads).
• SOR-Redblack-MPI : Successive Over Relaxed solver based on a “Red-Black” algorithm optimized for the domain decomposition approach (MPI-parallel computations). DO NOT USE IT IN Hydrid parallelisation (MPI+ OpenMP).
• SOR-Redblack-MPIOMP : Successive Over Relaxed solver based on a “Red-Black” algorithm optimized for the domain decomposition approach (MPI-parallel computations) and the multi-threading parallelism (OpenMP).
• SOR-RRB : Successive Over Relaxed solver based on a “Red-Black” algorithm with optimization based on data reordering. This method can be used for MPI-parallel computations but it is not yet ready for OpenMP and hydrid parallel ones.

### Number_max_Grid (multigrid method only)

• Type : Integer value (maximum value 16)
• Maximum number of grid levels used in the multigrid method.

### Number_max_Cycle (multigrid method only)

• Type : Integer value
• Maximum number of V-cycles permitted in the multigrid method.

### Number_Iteration (only if the SOR method is used)

• Type : integer value
• Number of iterations performed by the SOR method in order to approach the solution on each grid level. This value is the same for any grid level of the Multigrid procedure.

### Number_Iteration_FineToCoarseGrid (only if the SOR method is used)

• Type : integer value
• Number of iterations performed by the SOR solver during the restriction step of each V-cycle of the multigrid procedure. For some problems, the minimization of iterations during the restriction step can improve the time-performance of the code.
BEWARE : this data is enabled only if the variable Number_Iteration= 0 or is removed from the Namelist.

### Number_Iteration_CoarsestGrid (only if the SOR method is used)

• Type : integer value
• Number of iterations performed by the SOR solver on the coarsest grid of each V-cycle of the multigrid procedure.
BEWARE : this data is enabled only if the variable Number_Iteration= 0 or is removed from the Namelist.

### Number_Iteration_CoarseToFineFGrid (only if the SOR method is used)

• Type : integer value
• Number of iterations performed by the SOR solver during the prolongation step of each V-cycle of the multigrid procedure.
BEWARE : this data is enabled only if the variable Number_Iteration= 0 or is removed from the Namelist.

### Relaxation_Coefficient (only if the SOR method is used)

• Type : real value between one and two
• over-relaxation coefficient used in the SOR method.

### Convergence_Criterion (only if the SOR method is used)

• Type : real value
• The nV-cycle procedure of the multigrid method is stopped if the L2-norm of the Poisson equation's residu is lower than the criterion chosen.

### Coarsening_Id(:)

• Type : array of integer (max. size = 16)
• Define how the grid is coarsened during the restriction stage for each grid level “ng”. The array size must be equal to the number of grid levels. For the grid level “ng”, the coarsening is defined in regard to the previous (finner) grid level “ng-1”. The value in Coarsening_Id(ng) “defines the direction(s) in which the coarsening occurs. Values are defined as :
• along the I-direction : 1
• along the J-direction : 2
• along the K-direction : 4
• along I and J directions: 3
• along I and K directions: 5
• along J and K directions: 6
• along I,J and K directions: 7
• 7 is the default value considered by the code when Coarsening_Id is not explicitely set (coarsening in all directions).
• The value of Coarsening_Id(1) is not considered since ng= 1 is related to the main grid, the finnest one, and it does not result from a restriction stage.
• For example, in order to define a coarsening process over 5 grid levels by considering the I-direction on the 2nd grid level, the J and K directions on the 3rd level, and all directions for any other levels : Coarsening_Id(1:5)= 7,1,6,7,7 or Coarsening_Id(2:5)= 1,6,7,7, or Coarsening_Id(2:3)= 1,6 are equivalent.

### Prolongation_Type

• Type : character string
• “Uniform ” : The prolongation operator is of zero order. By considering two successive grid levels, errors on the coarser grid are directly reported on the finner one.This is the default value when “Prolongation_Type” is not explicitly set.
• “Linear” : The prolongation operator is of first-order. By considering two successive grid levels, errors on the coarsest grid are reported on the finest one by means of a tri-linear interpolation (in 3D). BEWARE when the numerical simulation contains immersed bodies which can induce small inaccuracies.

### Off_Set_Poisson_Source_term

• Type : Boolean value. Not for the release SUNFLUIDH_EDU.
• The source term is shifted from its averaged value such as its integral value over the domain is zero. This could facilitate the convergence in some particuliar cases. this option must be used with caution. For expert users only.
sunfluidh/homedata_poissonsolver_namelist.txt · Dernière modification: 2021/04/12 16:30 de yann