# Documentation du code de simulation numérique SUNFLUIDH

### Outils du site

sunfluidh:new_numerical_methods_setup_namelist

# Différences

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

 sunfluidh:new_numerical_methods_setup_namelist [2017/09/25 16:44]yann [Namelist Numerical_Methods (new version)] sunfluidh:new_numerical_methods_setup_namelist [2017/09/28 18:13]yann [Simulation control] Les deux révisions précédentes Révision précédente 2018/05/29 15:06 witko [Poisson_NumericalMethod] 2017/09/28 18:20 yann 2017/09/28 18:13 yann [Simulation control] 2017/09/28 18:13 yann [Simulation control] 2017/09/28 18:13 yann [Poisson_NumericalMethod] 2017/09/27 15:04 yann [Poisson_NumericalMethod] 2017/09/25 16:44 yann [Namelist Numerical_Methods (new version)] 2017/09/25 16:43 yann 2017/09/25 16:43 yann [Namelist Numerical_Methods (new version)] 2017/09/25 16:39 yann [Namelist Numerical_Methods (new version)] 2017/09/25 15:05 yann 2017/09/25 14:33 yann [Full data set of the namelist] 2017/09/25 14:10 yann 2017/09/25 14:07 yann [Namelist Numerical_Methods (new version)] 2017/09/25 14:06 yann [Namelist Numerical_Methods (new version)] 2017/09/25 13:58 yann [Poisson_NumericalMethod] 2017/09/25 13:53 yann [Namelist Numerical_Methods (new version)] 2017/09/25 12:46 yann [Namelist Numerical_Methods (new version)] 2017/09/25 12:44 yann [Namelist Numerical_Methods (new version)] 2017/09/25 12:42 yann [Full data set of the namelist] 2017/09/25 12:41 yann [Namelist Numerical_Methods (new version)] 2017/09/25 12:40 yann 2017/09/25 10:42 yann [Poisson_NumericalMethod] 2017/09/25 10:25 yann [Poisson_NumericalMethod] 2017/09/25 10:24 yann 2017/09/25 10:11 yann 2017/09/25 10:08 yann [Full data set of the namelist] 2017/09/25 10:05 yann 2017/09/22 18:08 yann 2017/09/22 18:06 yann 2017/09/22 18:03 yann [Poisson_NumericalMethod] 2017/09/22 18:01 yann Prochaine révision Révision précédente 2018/05/29 15:06 witko [Poisson_NumericalMethod] 2017/09/28 18:20 yann 2017/09/28 18:13 yann [Simulation control] 2017/09/28 18:13 yann [Simulation control] 2017/09/28 18:13 yann [Poisson_NumericalMethod] 2017/09/27 15:04 yann [Poisson_NumericalMethod] 2017/09/25 16:44 yann [Namelist Numerical_Methods (new version)] 2017/09/25 16:43 yann 2017/09/25 16:43 yann [Namelist Numerical_Methods (new version)] 2017/09/25 16:39 yann [Namelist Numerical_Methods (new version)] 2017/09/25 15:05 yann 2017/09/25 14:33 yann [Full data set of the namelist] 2017/09/25 14:10 yann 2017/09/25 14:07 yann [Namelist Numerical_Methods (new version)] 2017/09/25 14:06 yann [Namelist Numerical_Methods (new version)] 2017/09/25 13:58 yann [Poisson_NumericalMethod] 2017/09/25 13:53 yann [Namelist Numerical_Methods (new version)] 2017/09/25 12:46 yann [Namelist Numerical_Methods (new version)] 2017/09/25 12:44 yann [Namelist Numerical_Methods (new version)] 2017/09/25 12:42 yann [Full data set of the namelist] 2017/09/25 12:41 yann [Namelist Numerical_Methods (new version)] 2017/09/25 12:40 yann 2017/09/25 10:42 yann [Poisson_NumericalMethod] 2017/09/25 10:25 yann [Poisson_NumericalMethod] 2017/09/25 10:24 yann 2017/09/25 10:11 yann 2017/09/25 10:08 yann [Full data set of the namelist] 2017/09/25 10:05 yann 2017/09/22 18:08 yann 2017/09/22 18:06 yann 2017/09/22 18:03 yann [Poisson_NumericalMethod] 2017/09/22 18:01 yann 2017/09/22 17:44 yann créée Prochaine révision Les deux révisions suivantes Ligne 94: Ligne 94: * 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. The associated parameters are set in the namelist [[HomeData_PoissonSolver_Namelist |HomeData_PoissonSolver]] . + * __"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. The associated parameters are set in the namelist [[HomeData_PoissonSolver_Namelist |HomeData_PoissonSolver]] . + * __"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 [[HypreData_PoissonSolver_Namelist |HypreData_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 [[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 [[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 [[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]]. + + + 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 +
sunfluidh/new_numerical_methods_setup_namelist.txt · Dernière modification: 2018/05/29 15:06 de witko