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

Base class for domains description. This class holds all the data shared by all domains and not sensitive to the 32/64 bits configuration. More...

#include <Domaine_base.h>

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

Public Member Functions

const Nomle_nom () const override
 Returns the name of the Objet_U. Virtual method to override: returns "neant" in this implementation.
void nommer (const Nom &nom) override
 Assigns a name to the Objet_U. Virtual method to override.
double epsilon () const
void creer_champ (const Motcle &motlu) override
virtual void creer_champ (const Motcle &, const Probleme_base &)
void get_noms_champs_postraitables (Noms &nom, Option opt=NONE) const override
const Champ_baseget_champ (const Motcle &) const override
bool has_champ (const Motcle &nom, OBS_PTR(Champ_base) &ref_champ) const override
bool has_champ (const Motcle &nom) const override
virtual void initialiser (double temps, Domaine_dis_base &, Probleme_base &)
virtual void set_dt (double &dt_)
virtual void mettre_a_jour (double temps, Domaine_dis_base &, Probleme_base &)
virtual void update_after_post (double temps)
virtual bool getUpdateTheGrid ()
virtual void setUpdateTheGrid (bool)
virtual bool getCouplingMethod () const
int mesh_update_required () const
virtual void validateTimeStep ()
void associer_bords_a_imprimer (LIST(Nom) liste)
void associer_bords_a_imprimer_sum (LIST(Nom) liste)
Entreelire_bords_a_imprimer (Entree &s)
Entreelire_bords_a_imprimer_sum (Entree &s)
const LIST (Nom) &bords_a_imprimer() const
const LIST (Nom) &bords_a_imprimer_sum() const
int moments_a_imprimer () const
int & moments_a_imprimer ()
bool axi1d () const
void fixer_epsilon (double eps)
bool deformable () const
bool & deformable ()
void set_fichier_lu (Nom &nom)
const Nomget_fichier_lu () const
virtual const DoubleVect & old_volumes_entrelaces () const
virtual const DoubleVect & old_volumes () const
virtual void apply_old_to_new_volume_scaling (DoubleTab &tab, const Domaine_dis_base &dvf) const
virtual void ajouter_correctif_volumique (const DoubleTab &, const DoubleTab &, double, DoubleTab &) const
virtual int save_additional_state (Sortie &, const Probleme_base &) const
virtual int restore_additional_state (Entree &, Probleme_base &)
virtual std::vector< YAML_datadata_a_sauvegarder (const Probleme_base &pb) const
Public Member Functions inherited from Champs_compris_interface
virtual ~Champs_compris_interface ()
virtual bool has_champ (const Motcle &nom, OBS_PTR(Champ_base)&ref_champ) const =0
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).
virtual int reprendre (Entree &)
 Restores an Objet_U from an input stream. Virtual method to override.
virtual int sauvegarder (Sortie &) const
 Saves an Objet_U to an output stream. Virtual method to override.
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 lire_motcle_non_standard (const Motcle &motlu, Entree &is)
 Reads non-simple-type parameters of an Objet_U from an input stream.
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 Member Functions

 LIST (Nom) bords_a_imprimer_
 LIST (Nom) bords_a_imprimer_sum_
void duplique_bords_internes ()
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).
virtual void set_param (Param &) const

Protected Attributes

Nom nom_
 Domaine name.
int moments_a_imprimer_
double epsilon_
bool deformable_ = false
Nom fichier_lu_
double volume_total_
 Total volume of the domain (sum over all processors).
Champs_compris champs_compris_
bool mesh_update_required_ = false

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

Base class for domains description. This class holds all the data shared by all domains and not sensitive to the 32/64 bits configuration.

See also
Domaine class which inherits from Domaine_base and is templatized on entity index size (32 / 64b)

Definition at line 45 of file Domaine_base.h.

Member Function Documentation

◆ ajouter_correctif_volumique()

virtual void Domaine_base::ajouter_correctif_volumique ( const DoubleTab & ,
const DoubleTab & ,
double ,
DoubleTab &  ) const
inlinevirtual

Reimplemented in Domaine_ALE.

Definition at line 100 of file Domaine_base.h.

◆ apply_old_to_new_volume_scaling()

virtual void Domaine_base::apply_old_to_new_volume_scaling ( DoubleTab & tab,
const Domaine_dis_base & dvf ) const
inlinevirtual

Reimplemented in Domaine_ALE.

Definition at line 99 of file Domaine_base.h.

◆ associer_bords_a_imprimer()

void Domaine_base::associer_bords_a_imprimer ( LIST(Nom) liste)
inline

Definition at line 79 of file Domaine_base.h.

◆ associer_bords_a_imprimer_sum()

void Domaine_base::associer_bords_a_imprimer_sum ( LIST(Nom) liste)
inline

Definition at line 80 of file Domaine_base.h.

◆ axi1d()

bool Domaine_base::axi1d ( ) const
inline

Definition at line 91 of file Domaine_base.h.

◆ creer_champ() [1/2]

virtual void Domaine_base::creer_champ ( const Motcle & ,
const Probleme_base &  )
inlinevirtual

Reimplemented in Domaine_ALE.

Definition at line 57 of file Domaine_base.h.

◆ creer_champ() [2/2]

void Domaine_base::creer_champ ( const Motcle & motlu)
inlineoverridevirtual

Implements Champs_compris_interface.

Definition at line 56 of file Domaine_base.h.

◆ data_a_sauvegarder()

virtual std::vector< YAML_data > Domaine_base::data_a_sauvegarder ( const Probleme_base & pb) const
inlinevirtual

Reimplemented in Domaine_ALE.

Definition at line 106 of file Domaine_base.h.

◆ deformable() [1/2]

bool & Domaine_base::deformable ( )
inline

Definition at line 94 of file Domaine_base.h.

◆ deformable() [2/2]

bool Domaine_base::deformable ( ) const
inline

Definition at line 93 of file Domaine_base.h.

◆ duplique_bords_internes()

void Domaine_base::duplique_bords_internes ( )
protected

◆ epsilon()

double Domaine_base::epsilon ( ) const
inline

Definition at line 55 of file Domaine_base.h.

◆ fixer_epsilon()

void Domaine_base::fixer_epsilon ( double eps)
inline

Definition at line 92 of file Domaine_base.h.

◆ get_champ()

const Champ_base & Domaine_base::get_champ ( const Motcle & ) const
inlineoverridevirtual

Implements Champs_compris_interface.

Definition at line 59 of file Domaine_base.h.

◆ get_fichier_lu()

const Nom & Domaine_base::get_fichier_lu ( ) const
inline

Definition at line 96 of file Domaine_base.h.

◆ get_noms_champs_postraitables()

void Domaine_base::get_noms_champs_postraitables ( Noms & nom,
Option opt = NONE ) const
inlineoverridevirtual

Implements Champs_compris_interface.

Definition at line 58 of file Domaine_base.h.

◆ getCouplingMethod()

virtual bool Domaine_base::getCouplingMethod ( ) const
inlinevirtual

Reimplemented in Domaine_ALE.

Definition at line 72 of file Domaine_base.h.

◆ getUpdateTheGrid()

virtual bool Domaine_base::getUpdateTheGrid ( )
inlinevirtual

Reimplemented in Domaine_ALE.

Definition at line 70 of file Domaine_base.h.

◆ has_champ() [1/2]

bool Domaine_base::has_champ ( const Motcle & nom) const
inlineoverridevirtual

Implements Champs_compris_interface.

Definition at line 61 of file Domaine_base.h.

◆ has_champ() [2/2]

bool Domaine_base::has_champ ( const Motcle & nom,
OBS_PTR(Champ_base) & ref_champ ) const
inlineoverride

Definition at line 60 of file Domaine_base.h.

◆ initialiser()

virtual void Domaine_base::initialiser ( double temps,
Domaine_dis_base & ,
Probleme_base &  )
inlinevirtual

Reimplemented in Domaine_ALE.

Definition at line 66 of file Domaine_base.h.

◆ le_nom()

const Nom & Domaine_base::le_nom ( ) const
inlineoverridevirtual

Returns the name of the Objet_U. Virtual method to override: returns "neant" in this implementation.

Returns
The name of the Objet_U.

Reimplemented from Objet_U.

Definition at line 53 of file Domaine_base.h.

◆ lire_bords_a_imprimer()

Entree & Domaine_base::lire_bords_a_imprimer ( Entree & s)

Definition at line 35 of file Domaine_base.cpp.

◆ lire_bords_a_imprimer_sum()

Entree & Domaine_base::lire_bords_a_imprimer_sum ( Entree & s)

Definition at line 58 of file Domaine_base.cpp.

◆ LIST() [1/4]

const Domaine_base::LIST ( Nom ) const &
inline

Definition at line 83 of file Domaine_base.h.

◆ LIST() [2/4]

const Domaine_base::LIST ( Nom ) const &
inline

Definition at line 84 of file Domaine_base.h.

◆ LIST() [3/4]

Domaine_base::LIST ( Nom )
protected

◆ LIST() [4/4]

Domaine_base::LIST ( Nom )
protected

◆ mesh_update_required()

int Domaine_base::mesh_update_required ( ) const
inline

Definition at line 73 of file Domaine_base.h.

◆ mettre_a_jour()

virtual void Domaine_base::mettre_a_jour ( double temps,
Domaine_dis_base & ,
Probleme_base &  )
inlinevirtual

Reimplemented in Domaine_ALE.

Definition at line 68 of file Domaine_base.h.

◆ moments_a_imprimer() [1/2]

int & Domaine_base::moments_a_imprimer ( )
inline

Definition at line 86 of file Domaine_base.h.

◆ moments_a_imprimer() [2/2]

int Domaine_base::moments_a_imprimer ( ) const
inline

Definition at line 85 of file Domaine_base.h.

◆ nommer()

void Domaine_base::nommer ( const Nom & nom)
inlineoverridevirtual

Assigns a name to the Objet_U. Virtual method to override.

Parameters
nomThe name to assign to the Objet_U.

Reimplemented from Objet_U.

Definition at line 54 of file Domaine_base.h.

◆ old_volumes()

virtual const DoubleVect & Domaine_base::old_volumes ( ) const
inlinevirtual

Reimplemented in Domaine_ALE.

Definition at line 98 of file Domaine_base.h.

◆ old_volumes_entrelaces()

virtual const DoubleVect & Domaine_base::old_volumes_entrelaces ( ) const
inlinevirtual

Reimplemented in Domaine_ALE.

Definition at line 97 of file Domaine_base.h.

◆ restore_additional_state()

virtual int Domaine_base::restore_additional_state ( Entree & ,
Probleme_base &  )
inlinevirtual

Reimplemented in Domaine_ALE.

Definition at line 104 of file Domaine_base.h.

◆ save_additional_state()

virtual int Domaine_base::save_additional_state ( Sortie & ,
const Probleme_base &  ) const
inlinevirtual

Reimplemented in Domaine_ALE.

Definition at line 102 of file Domaine_base.h.

◆ set_dt()

virtual void Domaine_base::set_dt ( double & dt_)
inlinevirtual

Reimplemented in Domaine_ALE.

Definition at line 67 of file Domaine_base.h.

◆ set_fichier_lu()

void Domaine_base::set_fichier_lu ( Nom & nom)
inline

Definition at line 95 of file Domaine_base.h.

◆ setUpdateTheGrid()

virtual void Domaine_base::setUpdateTheGrid ( bool )
inlinevirtual

Reimplemented in Domaine_ALE.

Definition at line 71 of file Domaine_base.h.

◆ update_after_post()

virtual void Domaine_base::update_after_post ( double temps)
inlinevirtual

Reimplemented in Domaine_ALE.

Definition at line 69 of file Domaine_base.h.

◆ validateTimeStep()

virtual void Domaine_base::validateTimeStep ( )
inlinevirtual

Reimplemented in Domaine_ALE.

Definition at line 74 of file Domaine_base.h.

Member Data Documentation

◆ champs_compris_

Champs_compris Domaine_base::champs_compris_
protected

Definition at line 123 of file Domaine_base.h.

◆ deformable_

bool Domaine_base::deformable_ = false
protected

Definition at line 116 of file Domaine_base.h.

◆ epsilon_

double Domaine_base::epsilon_
protected

Definition at line 115 of file Domaine_base.h.

◆ fichier_lu_

Nom Domaine_base::fichier_lu_
protected

Definition at line 117 of file Domaine_base.h.

◆ mesh_update_required_

bool Domaine_base::mesh_update_required_ = false
protected

Definition at line 124 of file Domaine_base.h.

◆ moments_a_imprimer_

int Domaine_base::moments_a_imprimer_
protected

Definition at line 111 of file Domaine_base.h.

◆ nom_

Nom Domaine_base::nom_
protected

Domaine name.

Definition at line 109 of file Domaine_base.h.

◆ volume_total_

double Domaine_base::volume_total_
protected

Total volume of the domain (sum over all processors).

Definition at line 122 of file Domaine_base.h.


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