Outils pour utilisateurs

Outils du site


sunfluidh:new_numerical_methods_setup_namelist

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
Prochaine révisionLes deux révisions suivantes
sunfluidh:new_numerical_methods_setup_namelist [2017/09/25 12:46] – [Namelist Numerical_Methods (new version)] yannsunfluidh:new_numerical_methods_setup_namelist [2017/09/28 18:13] – [Simulation control] yann
Ligne 1: Ligne 1:
 ===== Namelist "Numerical_Methods" (new version) ===== ===== Namelist "Numerical_Methods" (new version) =====
 +__** Not for the release SUNFLUIDH_EDU**__
 <WRAP info> <WRAP info>
 This new data setup is also devoted to the selection of the numerical methods and schemes used in order to solve the conservation equations for velocity components, temperature, species mass fractions and density (in particuliar cases) and Poisson equation for the pressure. Some parameter setting could be also considered in respect with the numerical method selected. This new data setup is also devoted to the selection of the numerical methods and schemes used in order to solve the conservation equations for velocity components, temperature, species mass fractions and density (in particuliar cases) and Poisson equation for the pressure. Some parameter setting could be also considered in respect with the numerical method selected.
-The data are divided in three groups in order to define :+The data are divided in three groups in order to define:
     * the numerical method applied for solving the conservation equations (for velocity, temperature, species, ...)     * the numerical method applied for solving the conservation equations (for velocity, temperature, species, ...)
     * the choice of advective or convective flux discretization (for 2nd order schemes only). The viscous, conductive or diffusive fluxes are always discretized with a centered 2nd order or 4th order scheme according to the previous choice.     * the choice of advective or convective flux discretization (for 2nd order schemes only). The viscous, conductive or diffusive fluxes are always discretized with a centered 2nd order or 4th order scheme according to the previous choice.
-    * the numerical method (and associated parameters) for solving the Poisson's equation according to the type of problem considered. Several methods are presented based on direct or iterative approaches.+    * the numerical methods (and associated parameters) for solving the Poisson's equation according to the type of problem considered. Several methods are presented based on direct or iterative approaches.
 </WRAP> </WRAP>
 <note important> <note important>
    * This version allows the user to select the numerical methods by means of characters strings instead of option numbers as in the old version [[Numerical_Methods_Setup_Namelist |Numerical_Methods (old version)]] .     * This version allows the user to select the numerical methods by means of characters strings instead of option numbers as in the old version [[Numerical_Methods_Setup_Namelist |Numerical_Methods (old version)]] . 
-   * For the sake of clarity, the iterative method parameters used for the solving of Poisson's equation are defined in individual namelists : +   * For the sake of clarity, the iterative method parameters used for solving the Poisson's equation are set in individual namelists : 
-     * [[HomeData_PoissonSolver_Namelist |HomeData_PoissonSolver]] for methods directly implemented in the code (homemade) +     * [[HomeData_PoissonSolver_Namelist |HomeData_PoissonSolver]] for methods directly implemented in the code ("homemade" development
-     * [[HypreData_PoissonSolver_Namelist |HypreData_PoissonSolver]] for methods implemented in the HYPRE library +     * [[HypreData_PoissonSolver_Namelist |HypreData_PoissonSolver]] for methods provided by the HYPRE library 
-   __** Not for the release SUNFLUIDH_EDU**__+   [[Numerical_Methods_Examples |Click here]] to get __some examples__ illustrating how to use the namelists "Numerical_Methods", "HomeData_PoissonSolver" or "HypreData_PoissonSolver" 
 </note> </note>
- 
- 
  
 ===== Full data set of the namelist ===== ===== Full data set of the namelist =====
Ligne 30: Ligne 30:
    * The partial diagonalization method (Poisson_NumericalMethod = "Home-PartialDiagonalization") used for solving the Poisson equation is only permitted for separable problems.    * The partial diagonalization method (Poisson_NumericalMethod = "Home-PartialDiagonalization") used for solving the Poisson equation is only permitted for separable problems.
    * The HYPRE library solvers for solving the Poisson's equation are only available if the HYPRE library has been installed.    * The HYPRE library solvers for solving the Poisson's equation are only available if the HYPRE library has been installed.
 + 
  
 </note> </note>
Ligne 39: Ligne 40:
 ----- -----
 ====  NS_NumericalMethod  ==== ====  NS_NumericalMethod  ====
-(equivalent to "Numerical_Scheme" in the previous release)+(equivalent to "Numerical_Scheme" in the previous release, see [[Numerical_Methods_Setup_Namelist |Numerical_Methods (old version)]] )
    * Type: character string    * Type: character string
    * Selection of the numerical scheme for solving the conservation equations :    * Selection of the numerical scheme for solving the conservation equations :
Ligne 54: Ligne 55:
  
 ==== MomentumConvection_Scheme ==== ==== MomentumConvection_Scheme ====
-(equivalent to "Convective_Flux_Discretization_Type" in the previous release)+(equivalent to "Convective_Flux_Discretization_Type" in the previous release, see [[Numerical_Methods_Setup_Namelist |Numerical_Methods (old version)]] )
    * Type : character string    * Type : character string
    * Selection of the 2nd order spatial discretization for the convection flux in the momentum equations. The options are :     * Selection of the 2nd order spatial discretization for the convection flux in the momentum equations. The options are : 
Ligne 90: Ligne 91:
  
 ====  Poisson_NumericalMethod ==== ====  Poisson_NumericalMethod ====
-(equivalent to "Numerical_Method_Poisson_Equation " in the previous release)+(equivalent to "Numerical_Method_Poisson_Equation " in the previous release, see [[Numerical_Methods_Setup_Namelist |Numerical_Methods (old version)]] )
    * Type : Character string    * Type : Character string
    * Selection of the numerical method for solving the Poisson equation in accordance to the projection method. The solution is the pressure time increment ($\Phi= P^{n+1}-P^{n}$, Goda's method) used to update the velocity field according to the principle of the projection method (When the numerical method of Njam et al. is used to solve the Navier-Stokes equations, the pressure is solved in place of its time increment (Chorin's method). The options are :    * Selection of the numerical method for solving the Poisson equation in accordance to the projection method. The solution is the pressure time increment ($\Phi= P^{n+1}-P^{n}$, Goda's method) used to update the velocity field according to the principle of the projection method (When the numerical method of Njam et al. is used to solve the Navier-Stokes equations, the pressure is solved in place of its time increment (Chorin's method). The options are :
-     * __"Home-Multigrid-ConstantMatrixCoef"__ : Successive Over-Relaxed method (SOR) coupled with a nV-cycle multigrid method in order to accelerate the convergence. The matrix elements depend on the cell size only (constant elements). This method is directly implemented in the code ("homemade" development). No external library is required to use it. +     * __"Home-SORMultigrid-ConstantMatrixCoef"__ : Successive Over-Relaxed method (SOR) coupled with a nV-cycle multigrid method in order to accelerate the convergence. The matrix elements depend on the cell size only (constant elements). This method is directly implemented in the code ("homemade" development). No external library is required to use it. The associated parameters are set in the namelist [[HomeData_PoissonSolver_Namelist |HomeData_PoissonSolver]] .
      * __"Home-HelmholtzApproximation"__ : Poisson's operator (constant matrix elements) is approximated by a Helmholtz's operator (experimental method proposed by J.L. Guermond) - For incompressible flow only. This method is directly implemented in the code ("homemade" development). No external library is required to use it. No parameter setting is needed.      * __"Home-HelmholtzApproximation"__ : Poisson's operator (constant matrix elements) is approximated by a Helmholtz's operator (experimental method proposed by J.L. Guermond) - For incompressible flow only. This method is directly implemented in the code ("homemade" development). No external library is required to use it. No parameter setting is needed.
      * __"Home-PartialDiagonalization"__ : Partial diagonalisation of the Laplacian operator (constant elements). BEWARE : the problem must be separable. This method is directly implemented in the code ("homemade" development). No external library is required to use it. No parameter setting is needed.      * __"Home-PartialDiagonalization"__ : Partial diagonalisation of the Laplacian operator (constant elements). BEWARE : the problem must be separable. This method is directly implemented in the code ("homemade" development). No external library is required to use it. No parameter setting is needed.
-     * __"Home-Multigrid-VariableMatrixCoef"__ : SOR iterative method coupled with a multigrid method in order to accelerate the convergence. The matrix elements depend on the cell size and the density, the source term is defined from the divergence of the velocity. This method is directly implemented in the code ("homemade" development). No external library is required to use it. No parameter setting is needed.  +     * __"Home-SORMultigrid-VariableMatrixCoef"__ : SOR iterative method coupled with a multigrid method in order to accelerate the convergence. The matrix elements depend on the cell size and the density, the source term is defined from the divergence of the velocity. This method is directly implemented in the code ("homemade" development). No external library is required to use it. The associated parameters are set in the namelist [[HomeData_PoissonSolver_Namelist |HomeData_PoissonSolver]] 
-     * __"Hypre-ConstantMatrixCoef"__ : Poisson's equation is solved by the HYPRE library tools. The matrix elements are constants. The parameters of the HYPRE library are set in the namelist [[ | ]]. +     * __"Hypre-ConstantMatrixCoef"__ : Poisson's equation is solved by the HYPRE library tools. The matrix elements are constants. The parameters of the HYPRE library are set in the namelist [[HypreData_PoissonSolver_Namelist |HypreData_PoissonSolver]] . 
-     * __"Hypre-VariableMatrixCoef"__: Poisson's equation is solved by the HYPRE library tools. The matrix elements are non-constants. The parameters of the HYPRE library are set in the namelist [[ | ]].+     * __"Hypre-VariableMatrixCoef"__: Poisson's equation is solved by the HYPRE library tools. The matrix elements are non-constants. The parameters of the HYPRE library are set in the namelist [[HypreData_PoissonSolver_Namelist |HypreData_PoissonSolver]] .
      
 +==== Simulation control =====
 +
 +We here resort to a specific namelist named "Simulation_Management. It is also used in the next section "Data acquisition".
 +We specify here some parameters in order to define the numerical time step as well as stop criteria and recording rates related to backup and check files.
 +Two examples are given. 
 +The first one corresponds to a simulation starting at t= 0 with a variable time step. 
 +
 +
 +   &Simulation_Management Restart_Parameter= 0                             ,!--- Option value for starting the simulation from t=0.
 +         Steady_Flow_Stopping_Criterion_Enabled = .false. ,!--- Stop criterion for steady flows. When it is enabled, residues between two successive flow fields are computed
 +         Steady_Flow_Stopping_Criterion = 1.D-20          ,!--- convergence tolerance threshold for a steady flow solution (it works only when the previous parameter is enabled)
 +         Temporal_Iterations_Number = 10                  ,!--- maximum value of time iterations before stopping the computation
 +         Final_Time = 3.D+01                              ,!--- Maximum value of time before stopping the computation
 +         TimeStep_Type = 1 ,                              ,!--- Option value for specifying a variable time-step computed from a CFL criterion
 +         CFL_Min = 0.05                                   ,!--- Minimum value of the CFL criterion imposed by the user when the simulation starts
 +         CFL_Max = 0.4                                    ,!--- Maximum value of the CFL criterion imposed by the user after n time iterations (here n= 100, see the next parameter)
 +         Iterations_For_Timestep_Linear_Progress= 100     ,!--- Number of time iterations over which the CFL criterion increase linearly between CFL_Min and CFL_Max
 +         Simulation_Backup_Rate                 = 1000    ,!--- Recording rate (in time-iteration units) for generating backup files (save_fld_xxxxx_y.d , save_var_xxxxx_y.d)
 +         Simulation_Checking_Rate               = 200     /!--- Recording rate (in time-iteration units) for writing some relevant check data in a file checkcalc_xxxxx.d
 +                           
 +The second example corresponds to a restart of the previous simulation with a uniform time step.
 +
 +  &Simulation_Management Restart_Parameter= 3             ,!--- Option value for resuming the simulation from the end of a previous computation.
 +         Steady_Flow_Stopping_Criterion_Enabled = .false. ,!--- Stop criterion for steady flows. When it is enabled, residues between two successive flow fields are computed
 +         Steady_Flow_Stopping_Criterion = 1.D-20          ,!--- convergence tolerance threshold for a steady flow solution (it works only when the previous parameter is enabled)
 +         Temporal_Iterations_Number = 1000                ,!--- maximum value of time iterations before stopping the computation
 +         Final_Time = 6.D+01                              ,!--- Maximum value of time before stopping the computation
 +         TimeStep_Type = 0 ,                              ,!--- Option value for specifying a constant time-step
 +         Timestep_Max = 1.e-3,                            ,!--- Value of the time step
 +         Iterations_For_Timestep_Linear_Progress= 100     ,!--- Number of time iterations over which the CFL criterion increase linearly between CFL_Min and CFL_Max
 +         Simulation_Backup_Rate                 = 1000    ,!--- Recording rate (in time-iteration units) for generating backup files (save_fld_xxxxx_y.d , save_var_xxxxx_y.d)
 +         Simulation_Checking_Rate               = 200     /!--- Recording rate (in time-iteration units) for writing some relevant check data in a file checkcalc_xxxxx.d
 +                           Fields_Recording_Rate = 1.D+00 ,
 +                           Probe_Recording_Rate                   = 10     ,
 +                           Start_Time_For_Statistics= 1.D+2               , 
 +                           Time_Range_Statistic_Calculation = 1.D+00  /
 +
 +For more information on this data set, [[sunfluidh:simulation_management_setup_namelist|click here]].
 +
 +<note important>
 +Keep in mind the time step must be chosen with caution because it can generate numerical instabilities when it is too much large. The numerical stability depends on the property of the numerical methods used for solving the conservation equations It often relies on the CFL criterion which have not to exceeded a reference value. This value depends on the numerical scheme properties as well as the computational problem.
 +   * For semi-implicit schemes proposed here, a maximum CFL-value about 0.5 is generally prescribed for usual computations, but it could be smaller for problems with strong gradients.
 +   * For explicit schemes, the CFL criterion also depends on the viscous/diffusive time scales as well as the space dimension of the problem. As a consequence, the CFL value prescribed is generally between $0.5^{n-1}$ and $0.5^n$, where n is the dimension of the problem.
 +When the time-step value is constant, the user can verify if the CFL criterion is respected by checking regularly the file checkcalc_xxxxx.d
 +</note>
sunfluidh/new_numerical_methods_setup_namelist.txt · Dernière modification : 2018/05/29 15:06 de witko

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki