TrioCFD 1.9.9_beta
TrioCFD documentation
Loading...
Searching...
No Matches
Sch_CN_iteratif Class Reference

Time scheme alternating a half implicit Euler step and a half LeapFrog step. More...

#include <Sch_CN_iteratif.h>

Inheritance diagram for Sch_CN_iteratif:
[legend]
Collaboration diagram for Sch_CN_iteratif:
[legend]

Public Member Functions

int nb_valeurs_temporelles () const override
 Returns the number of time values to keep.
int nb_valeurs_futures () const override
 Returns the number of future time values.
double temps_futur (int i) const override
 Returns the time at the i-th future value.
double temps_defaut () const override
 Returns the time that fields should use when calling valeurs().
bool initTimeStep (double dt) override
bool iterateTimeStep (bool &converged) override
 Calculate the U(n+1) unknown for each equation (if solved) of the problem with the selected time scheme.
int faire_un_pas_de_temps_eqn_base (Equation_base &) override
void completer () override
void set_param (Param &titi) const override
Public Member Functions inherited from Schema_Temps_base
virtual void initialize ()
virtual void terminate ()
virtual double computeTimeStep (bool &stop) const
virtual void validateTimeStep ()
virtual bool isStationary () const
 Returns 1 if during the last time step, the problem has not evolved.
virtual void abortTimeStep ()
virtual void resetTime (double time)
int limpr () const
 Returns 1 if there is a need to perform a print (cf dt_impr) Returns 0 otherwise.
void nommer (const Nom &) override
 overrides Objet_U::nommer(const Nom&) Gives a name to the time scheme
const Nomle_nom () const override
 overrides Objet_U::le_nom() Returns the name of the time scheme
int sauvegarder (Sortie &) const override
 Saves the current time and the number of time steps to an output stream.
int reprendre (Entree &) override
 Restarts (reads) the current time and the number of time steps performed from an input stream.
virtual int mettre_a_jour ()
 Updates the current time (t+=dt) and the number of time steps performed (nb_pas_dt_++).
virtual void mettre_a_jour_dt (double toto)
virtual void mettre_a_jour_dt_stab ()
double pas_de_temps () const
 Returns the current time step (delta_t).
const DoubleTab & pas_de_temps_locaux () const
virtual bool corriger_dt_calcule (double &dt) const
 Corrects the computed time step passed as parameter and verifies it is not "too" small (< dt_min_).
virtual void imprimer (Sortie &os) const
 Prints the time step to an output stream if appropriate.
virtual int impr (Sortie &os) const
 Prints the time step number, the time step value, and the current time.
void imprimer (Sortie &os, Probleme_base &pb) const
 Prints the time step to an output stream if appropriate.
void imprimer (Sortie &os, const Probleme_base &pb) const
virtual int impr (Sortie &os, Probleme_base &pb) const
 Prints the time step number, the time step value, and the current time.
virtual int impr (Sortie &os, const Probleme_base &pb) const
void imprimer_temps_courant (SFichier &) const
double pas_temps_min () const
 Returns the minimum time step.
double & pas_temps_min ()
 Returns a reference to the minimum time step.
double pas_temps_max () const
 Returns the maximum time step.
double & pas_temps_max ()
 Returns a reference to the maximum time step.
int nb_impr () const
 Returns the number of outputs performed.
double temps_courant () const
 Returns the current time.
double temps_precedent () const
 Returns the previous time.
double temps_calcul () const
 Returns the elapsed computation time i.
virtual void changer_temps_courant (const double)
 Changes the current time.
void update_critere_statio (const DoubleTab &tab_critere, Equation_base &equation)
 Updates stationnaire_atteint_ and residu_ (criterion: residu_ < seuil_statio_).
double facteur_securite_pas () const
 Returns the safety factor or multiplier of delta_t.
double & facteur_securite_pas ()
 Returns a reference to the safety factor or multiplier of delta_t.
void notify_failed_timestep ()
virtual int stop () const
 Returns 1 if it is necessary to stop the computation for various reasons:
int lsauv () const
int temps_final_atteint () const
 Returns 1 if the final time has been reached (or exceeded).
int nb_pas_dt_max_atteint () const
 Returns 1 if (the number of time steps >= maximum number of time steps).
int temps_cpu_max_atteint () const
int stationnaire_atteint () const
int stationnaire_atteint_safe () const
int stop_lu () const
 Returns 1 if the .stop file contains a 1, returns 0 otherwise.
int diffusion_implicite () const
 Returns 1 if the time scheme has been read with diffusion_implicite.
double seuil_diffusion_implicite () const
int impr_diffusion_implicite () const
int impr_extremums () const
int niter_max_diffusion_implicite () const
int no_conv_subiteration_diffusion_implicite () const
int no_error_if_not_converged_diffusion_implicite () const
int lire_motcle_non_standard (const Motcle &, Entree &) override
 Reads non-simple-type parameters of an Objet_U from an input stream.
virtual Entreelire_nb_pas_dt_max (Entree &)
 Reads the maximum number of time steps.
virtual Entreelire_periode_sauvegarde_securite_en_heures (Entree &)
virtual Entreelire_temps_cpu_max (Entree &)
virtual Entreelire_residuals (Entree &)
double temps_init () const
 Returns the initial time.
double temps_max () const
 Returns a reference to the maximum time.
double temps_sauv () const
 Returns a reference to the checkpoint time interval.
int nb_sauv_max () const
 Returns the maximum number of checkpoints (estimate).
double temps_impr () const
 Returns a reference to the output time interval.
int precision_impr () const
int wcol () const
int gnuplot_header () const
double seuil_statio () const
 Returns a reference to the stationarity threshold.
int nb_pas_dt_max () const
 Returns a reference to the maximum number of time steps.
int nb_pas_dt () const
 Returns the number of time steps performed.
double mode_dt_start () const
int indice_tps_final_atteint () const
int indice_nb_pas_dt_max_atteint () const
int lu () const
int file_allocation () const
double & set_temps_init ()
double & set_temps_max ()
double & set_temps_courant ()
double & set_temps_precedent ()
int & set_nb_pas_dt ()
int & set_nb_pas_dt_max ()
double & set_dt_min ()
double & set_dt_max ()
double & set_dt_sauv ()
double & set_dt_impr ()
int & set_precision_impr ()
double & set_dt ()
double & set_facsec ()
double & set_seuil_statio ()
int & set_stationnaire_atteint ()
void set_stationnaires_atteints (bool flag)
int & set_diffusion_implicite ()
double & set_seuil_diffusion_implicite ()
int & set_niter_max_diffusion_implicite ()
double & set_mode_dt_start ()
bool & set_indice_tps_final_atteint ()
bool & set_indice_nb_pas_dt_max_atteint ()
bool & set_lu ()
const double & residu () const
double & residu ()
const Nomnorm_residu () const
int & schema_impr ()
const int & schema_impr () const
virtual void associer_pb (const Probleme_base &)
Probleme_basepb_base ()
const Probleme_basepb_base () const
virtual void modifier_second_membre (const Equation_base &eqn, DoubleTab &secmem)
virtual void ajouter_inertie (Matrice_Base &mat_morse, DoubleTab &secmem, const Equation_base &eqn) const
virtual void ajouter_blocs (matrices_t matrices, DoubleTab &secmem, const Equation_base &eqn, const tabs_t &semi_impl={}) const
bool disable_progress () const
void write_dt_ev (bool init)
void write_progress (bool init)
 Writes the .progress file (estimated remaining CPU time).
bool disable_dt_ev () const
void finir () const
 Closes the .dt_ev file.
Public Member Functions inherited from Objet_U
 ~Objet_U () override
 Destructor. Removes the object from the list of objects registered in "memory".
int numero () const
 Returns the index of the object in Memoire::data.
virtual int duplique () const =0
virtual SortieprintOn (Sortie &) const
 Writes the object to an output stream. Virtual method to override.
virtual EntreereadOn (Entree &)
 Reads an Objet_U from an input stream. Virtual method to override.
virtual unsigned taille_memoire () const =0
virtual int est_egal_a (const Objet_U &) const
 Returns 1 if x and *this are the same instance (same memory address).
int get_object_id () const
 Returns the unique identifier of the object (object_id_).
virtual const Type_infoget_info () const
 Returns type information for the Objet_U.
const Nomque_suis_je () const
 Returns the string identifying the class.
const char * le_type () const
 Returns the type name of the Objet_U.
virtual int change_num (const int *const)
 Changes the internal number of the Objet_U.
virtual int associer_ (Objet_U &)
 Associates the Objet_U with another Objet_U. Virtual method to override.
const Interpreteinterprete () const
Interpreteinterprete ()
Public Member Functions inherited from Process
virtual ~Process ()

Protected Types

enum  type_convergence {
  DIVERGENCE , NON_CONVERGENCE , CONVERGENCE_LENTE , CONVERGENCE_RAPIDE ,
  CONVERGENCE_OK
}

Protected Member Functions

virtual bool convergence (const DoubleTab &u0, const DoubleTab &up1, const DoubleTab &delta, int p) const
 Indicates whether the iterative computation has converged.
virtual bool divergence (const DoubleTab &u0, const DoubleTab &up1, const DoubleTab &delta, int p) const
 Indicates whether the iterative computation has diverged.
virtual void ajuster_facsec (type_convergence cv)
virtual bool iterateTimeStepOnEquation (int i, bool &converged)
 Computes one iteration of the resolution on equation i.
Protected Member Functions inherited from Schema_Temps_base
 OBS_PTR (Probleme_base) mon_probleme
Protected Member Functions inherited from Objet_U
 Objet_U ()
 Default constructor: assigns a unique identifier to the object (object_id_) and registers the object in "memory" by giving it a num_obj number.
 Objet_U (const Objet_U &)
 Copy constructor.
const Objet_Uoperator= (const Objet_U &)
 Assignment operator: does nothing (the number and identifier are preserved).

Protected Attributes

double seuil =1.e-3
int niter_min =2
int niter_max =6
int niter_avg =3
double facsec_max =2
int iteration = -1
double last_facsec = -100.
Protected Attributes inherited from Schema_Temps_base
Nom nom_
double dt_ = 0.0
 Computation time step.
DoubleTab dt_locaux_
 Local time steps: Vector of size nb faces of the mesh.
double temps_courant_ = -100.
double temps_precedent_ = -100.
double dt_failed_ = -100.
 Value of a time step if it failed.
double dt_gf_ = DMAXFLOAT
double tinit_ = -DMAXFLOAT
double tmax_ = 1.e30
double tcpumax_ = 1.e30
int nb_pas_dt_ = 0
int nb_pas_dt_max_ = std::numeric_limits<int>::max()
int nb_impr_ = 0
double dt_min_ = 1.e-16
 Minimum time step set by the user.
double dt_max_ = 1.e30
 Maximum time step set by the user.
Nom dt_max_str_
 setting of dt_max as a function of time
Parser_U dt_max_fn_
 Associated Parser_U.
double dt_stab_ =-100.
 Stability time step.
double facsec_ = 1.
double seuil_statio_ = 1.e-12
int seuil_statio_relatif_deconseille_ = 0
 Flag to specify whether seuil_statio_ is an absolute (default) or relative value.
Nom norm_residu_
double dt_sauv_ = 1.e30
int nb_sauv_ = 0
 how many checkpoints have we performed so far?
int nb_sauv_max_ = 10
 Max number of checkpoints that will be performed (useful for PDI backup file).
double limite_cpu_sans_sauvegarde_ = 23 * 3600
 Default 23 hours;.
double periode_cpu_sans_sauvegarde_ = 23 * 3600
 Default 23 hours;.
double temps_cpu_ecoule_ = 0
double dt_impr_ = 1.e30
 Output time interval.
int precision_impr_ = 8
 Number of significant digits for output.
double mode_dt_start_ = -2
 Mode for computing the initial time step - contains a double if dt_init option is used.
double residu_ = 0
double residu_old_slope_ = -1000
double cumul_slope_ = 1e-20
int gnuplot_header_ = 0
bool adapt_dt_tmax_ = false
bool ind_tps_final_atteint = false
bool ind_nb_pas_dt_max_atteint = false
bool ind_temps_cpu_max_atteint = false
bool lu_ = false
int ind_diff_impl_ = 0
double seuil_diff_impl_ = 1.e-6
 Threshold for implicit treatment of diffusion by CG.
int impr_diff_impl_ = 0
int impr_extremums_ = 0
int niter_max_diff_impl_ = 1000
 Maximum iterations for CG diffusion implicitation - Above 1000 iterations, diffusion implicit algorithm may be diverging.
int no_conv_subiteration_diff_impl_ = 0
int no_error_if_not_converged_diff_impl_ = 0
int schema_impr_ = -1
int file_allocation_ = 0
int max_length_cl_ = -10

Additional Inherited Members

Static Public Member Functions inherited from Objet_U
static const Nomnom_du_cas ()
 Returns a constant reference to the case name. This method is static.
static Nomget_set_nom_du_cas ()
 Returns a non-constant reference to the case name (to allow modification). This method is static.
static const Type_infoinfo ()
 Returns type information for the Objet_U (static version).
static const Objet_Uself_cast (const Objet_U &)
 Method added for casting in Python.
static Objet_Uself_cast (Objet_U &)
Static Public Member Functions inherited from Process
static int me ()
 Returns the rank of the local processor in the current communication group. See Comm_Group::rank() and PE_Groups::current_group().
static int nproc ()
 Returns the number of processors in the current group. See Comm_Group::nproc() and PE_Groups::current_group().
static bool is_parallel ()
static void exit (int exit_code=-1)
 Exit routine for TRUST within a Kokkos region.
static double mp_sum (double)
 Computes the sum of x over all processors in the current group.
static float mp_sum (float)
static trustIdType mp_sum (trustIdType)
 Computes the sum of x over all processors in the current group.
static double mp_max (double)
static double mp_min (double)
static int mp_max (int)
 Returns the maximum value of x across all processors in the current group.
static int mp_min (int)
 Returns the minimum value of x across all processors in the current group.
static double mp_sum_as_double (int v)
static trustIdType mppartial_sum (trustIdType i)
 Computes the partial sum of x over processors 0 to me()-1 (returns 0 on processor 0).
template<typename T>
static void mp_sum_for_each (T &arg1, T &arg2)
 C++14 compatible mp_sum_for_each: combine multiple mp_sum calls into one collective operation Usage: mp_sum_for_each(a, b); mp_sum_for_each(a, b, c); mp_sum_for_each(a, b, c, d); mp_sum_for_each(a, b, c, d, e); All arguments must be of the same type (double or int) and are modified in place. Supports 2-5 parameters.
template<typename T>
static void mp_sum_for_each (T &arg1, T &arg2, T &arg3)
template<typename T>
static void mp_sum_for_each (T &arg1, T &arg2, T &arg3, T &arg4)
template<typename T>
static void mp_sum_for_each (T &arg1, T &arg2, T &arg3, T &arg4, T &arg5)
template<typename T>
static void mp_max_for_each (T &arg1, T &arg2)
 C++14 compatible mp_max_for_each: combine multiple mp_max calls into one collective operation.
template<typename T>
static void mp_max_for_each (T &arg1, T &arg2, T &arg3)
template<typename T>
static void mp_max_for_each (T &arg1, T &arg2, T &arg3, T &arg4)
template<typename T>
static void mp_max_for_each (T &arg1, T &arg2, T &arg3, T &arg4, T &arg5)
template<typename T>
static void mp_min_for_each (T &arg1, T &arg2)
 C++14 compatible mp_min_for_each: combine multiple mp_min calls into one collective operation.
template<typename T>
static void mp_min_for_each (T &arg1, T &arg2, T &arg3)
template<typename T>
static void mp_min_for_each (T &arg1, T &arg2, T &arg3, T &arg4)
template<typename T>
static void mp_min_for_each (T &arg1, T &arg2, T &arg3, T &arg4, T &arg5)
template<typename _TYPE_>
static void mp_sum_for_each_item (TRUSTArray< _TYPE_ > &x, int n=-1)
template<typename _TYPE_>
static void mp_max_for_each_item (TRUSTArray< _TYPE_ > &x, int n=-1)
template<typename _TYPE_>
static void mp_min_for_each_item (TRUSTArray< _TYPE_ > &x, int n=-1)
static bool mp_and (bool)
 Computes the logical AND of b across all processors in the current group.
static bool mp_or (bool)
static int check_int_overflow (trustIdType)
static int je_suis_maitre ()
 Returns 1 if on the master processor of the current group (i.e. me() == 0), 0 otherwise.
static KOKKOS_INLINE_FUNCTION void Kokkos_exit (const char *)
 Exit routine for TRUST within a Kokkos region.
static int node_master ()
 Returns 1 if on the NUMA node master processor, 0 otherwise.
static void exit (const Nom &message, int exit_code=-1)
static bool is_sequential ()
static void barrier ()
 Synchronizes all processors in the current group (waits until all processors have reached the barrier).
static void abort ()
 Abort routine for TRUST on a fatal error.
static SortieJournal (int message_level=0)
 Returns a static Sortie object used as an event journal.
static double ram_processeur ()
static void imprimer_ram_totale (int all_process=0)
static bool force_single_file (const int ranks, const Nom &filename)
Static Public Attributes inherited from Objet_U
static double precision_geom = 1e-10
static constexpr bool HAS_POINTER = false
static int dimension =0
static int format_precision_geom =11
static int axi =0
static int bidim_axi =0
static int DEACTIVATE_SIGINT_CATCH =0
static Type_info info_obj
static bool disable_TU =false
 Flag to disable or not the writing of the .TU files.
static bool stat_per_proc_perf_log =false
 Flag to enable the writing of the statistics detailed per processor in _csv.TU file.
Static Public Attributes inherited from Process
static int exception_sur_exit =0
static int multiple_files =5120

Detailed Description

Time scheme alternating a half implicit Euler step and a half LeapFrog step.

The implicit solve is iterative (fixed-point).
The time step is computed as the product of the explicit stability time step by a facsec.
The facsec is adjusted automatically so that the solve converges in a predefined number of iterations.
Characteristics of each iteration are written to the file dt_CN.

The solve is governed by 4 parameters (default values in parentheses):
* seuil (1e-3) : convergence threshold. The lower, the more accurate the solve.
* facsec_max (2) : maximum facsec value (to avoid instabilities and capture physical phenomena).
* niter_min (2) : minimum number of iterations. Below this, iteration continues even if convergence seems reached.
* niter_avg (3) : target number of iterations to reach convergence.
* niter_max (6) : number of iterations beyond which a smaller facsec is retried.

Advice for choosing facsec adjustment parameters:
* Choose seuil based on desired precision.
* Choose niter_min: 2 guarantees a second-order time scheme.
* If seeking a steady state, choose seuil_statio >= seuil.
* Choose facsec_max based on the physical phenomena to capture.
* Start by testing with a large value of niter_avg. Observe the number of iterations.
  It will plateau at a maximum before dropping back.
* Choose niter_avg at 2/3 of this maximum, and niter_max at approximately 4/3 or double.
See also
Schema_Temps_base

Definition at line 48 of file Sch_CN_iteratif.h.

Member Enumeration Documentation

◆ type_convergence

Enumerator
DIVERGENCE 
NON_CONVERGENCE 
CONVERGENCE_LENTE 
CONVERGENCE_RAPIDE 
CONVERGENCE_OK 

Definition at line 81 of file Sch_CN_iteratif.h.

Member Function Documentation

◆ ajuster_facsec()

void Sch_CN_iteratif::ajuster_facsec ( type_convergence cv)
protectedvirtual

Reimplemented in Sch_CN_EX_iteratif.

Definition at line 41 of file Sch_CN_iteratif.cpp.

◆ completer()

void Sch_CN_iteratif::completer ( )
inlineoverridevirtual

Implements Schema_Temps_base.

Definition at line 76 of file Sch_CN_iteratif.h.

◆ convergence()

bool Sch_CN_iteratif::convergence ( const DoubleTab & u0,
const DoubleTab & up1,
const DoubleTab & delta,
int p ) const
protectedvirtual

Indicates whether the iterative computation has converged.

Convergence criterion used: || u(n+1,p+1) - u(n+1,p) || < seuil * || u(n+1/2,p+1) || This is equivalent to: || u(n+1,p) - u(n+1) || < seuil * || (Id-(dt/2).(df/du))^-1 || * || u(n+1/2,p+1) || where u(n+1) is the exact solution at n+1, df/du is the Jacobian of f(u), taken at u(n+1/2), and the norms are compatible between matrices and vectors (here the infinity norm).

Parameters
u0The unknown at the beginning of the time interval u(n). Also the first estimate u(n+1/2,0).
up1Estimate of the unknown at tn+1/2 at iteration p+1: u(n+1/2,p+1).
deltau(n+1/2,p+1) - u(n+1/2,p).
Returns
true if converged, false otherwise.

Definition at line 376 of file Sch_CN_iteratif.cpp.

◆ divergence()

bool Sch_CN_iteratif::divergence ( const DoubleTab & u0,
const DoubleTab & up1,
const DoubleTab & delta,
int p ) const
protectedvirtual

Indicates whether the iterative computation has diverged.

Parameters
u0The unknown at the beginning of the time interval u(n). Also the first estimate u(n+1/2,0).
up1Estimate of the unknown at tn+1/2 at iteration p+1: u(n+1/2,p+1).
deltau(n+1/2,p+1) - u(n+1/2,p).
Returns
true if diverged, false otherwise.

Definition at line 392 of file Sch_CN_iteratif.cpp.

◆ faire_un_pas_de_temps_eqn_base()

int Sch_CN_iteratif::faire_un_pas_de_temps_eqn_base ( Equation_base & )
overridevirtual

Implements Schema_Temps_base.

Definition at line 353 of file Sch_CN_iteratif.cpp.

◆ initTimeStep()

bool Sch_CN_iteratif::initTimeStep ( double dt)
overridevirtual

Reimplemented from Schema_Temps_base.

Definition at line 148 of file Sch_CN_iteratif.cpp.

◆ iterateTimeStep()

bool Sch_CN_iteratif::iterateTimeStep ( bool & converged)
overridevirtual

Calculate the U(n+1) unknown for each equation (if solved) of the problem with the selected time scheme.

Reimplemented from Schema_Temps_base.

Definition at line 165 of file Sch_CN_iteratif.cpp.

◆ iterateTimeStepOnEquation()

bool Sch_CN_iteratif::iterateTimeStepOnEquation ( int i,
bool & converged )
protectedvirtual

Computes one iteration of the resolution on equation i.

Computes u(n+1/2,p+1)=u(n)+f(u(n+1/2,p))*dt/2 and u(n+1,p+1)=u(n)+f(u(n+1/2,p))*dt where f gives du/dt as a function of u. Returns true in converged if no change between iterations, false otherwise. Returns true if OK to continue iterating, false otherwise (diverged or too many iterations).

Reimplemented in Sch_CN_EX_iteratif.

Definition at line 260 of file Sch_CN_iteratif.cpp.

◆ nb_valeurs_futures()

int Sch_CN_iteratif::nb_valeurs_futures ( ) const
overridevirtual

Returns the number of future time values.

Here: n+1/2 and n+1, so 2.

Implements Schema_Temps_base.

Definition at line 115 of file Sch_CN_iteratif.cpp.

◆ nb_valeurs_temporelles()

int Sch_CN_iteratif::nb_valeurs_temporelles ( ) const
overridevirtual

Returns the number of time values to keep.

Here: n, n+1/2 and n+1, so 3.

Implements Schema_Temps_base.

Definition at line 105 of file Sch_CN_iteratif.cpp.

◆ set_param()

void Sch_CN_iteratif::set_param ( Param & titi) const
overridevirtual

Reimplemented from Schema_Temps_base.

Definition at line 76 of file Sch_CN_iteratif.cpp.

◆ temps_defaut()

double Sch_CN_iteratif::temps_defaut ( ) const
overridevirtual

Returns the time that fields should use when calling valeurs().

Here: t(n+1/2).

Implements Schema_Temps_base.

Definition at line 137 of file Sch_CN_iteratif.cpp.

◆ temps_futur()

double Sch_CN_iteratif::temps_futur ( int i) const
overridevirtual

Returns the time at the i-th future value.

Implements Schema_Temps_base.

Definition at line 123 of file Sch_CN_iteratif.cpp.

Member Data Documentation

◆ facsec_max

double Sch_CN_iteratif::facsec_max =2
protected

Definition at line 93 of file Sch_CN_iteratif.h.

◆ iteration

int Sch_CN_iteratif::iteration = -1
protected

Definition at line 96 of file Sch_CN_iteratif.h.

◆ last_facsec

double Sch_CN_iteratif::last_facsec = -100.
protected

Definition at line 97 of file Sch_CN_iteratif.h.

◆ niter_avg

int Sch_CN_iteratif::niter_avg =3
protected

Definition at line 92 of file Sch_CN_iteratif.h.

◆ niter_max

int Sch_CN_iteratif::niter_max =6
protected

Definition at line 91 of file Sch_CN_iteratif.h.

◆ niter_min

int Sch_CN_iteratif::niter_min =2
protected

Definition at line 90 of file Sch_CN_iteratif.h.

◆ seuil

double Sch_CN_iteratif::seuil =1.e-3
protected

Definition at line 89 of file Sch_CN_iteratif.h.


The documentation for this class was generated from the following files: