|
TrioCFD 1.9.9_beta
TrioCFD documentation
|
Navier_Stokes_std This class carries the terms of the momentum equation. More...
#include <Navier_Stokes_std.h>
Public Member Functions | |
| Navier_Stokes_std () | |
| void | set_param (Param &titi) const override |
| int | lire_motcle_non_standard (const Motcle &, Entree &) override |
| Reads non-simple-type parameters of an Objet_U from an input stream. | |
| void | associer_pb_base (const Probleme_base &) override |
| Associates with the problem: calls Equation_base::associer_pb_base(const Probleme_base&). | |
| void | associer_fluide (const Fluide_base &un_fluide) |
| const Milieu_base & | milieu () const override |
| Returns the physical medium of the equation (Fluide_base upcast to Milieu_base). | |
| Milieu_base & | milieu () override |
| Returns the physical medium of the equation (Fluide_base upcast to Milieu_base). | |
| const Fluide_base & | fluide () const |
| Returns the incompressible fluid (physical medium of the equation) associated with the equation. | |
| Fluide_base & | fluide () |
| Returns the incompressible fluid (physical medium of the equation) associated with the equation. | |
| void | associer_milieu_base (const Milieu_base &) override |
| Associates a physical medium with the equation by dynamically constructing (casting) an object of type Fluide_base. | |
| int | nombre_d_operateurs () const override |
| Returns the number of operators in the equation: 2 for the standard Navier-Stokes equations. | |
| int | nombre_d_operateurs_tot () const override |
| const Operateur & | operateur (int) const override |
| Returns the i-th operator of the equation: - terme_diffusif if i = 0. | |
| Operateur & | operateur (int) override |
| Returns the i-th operator of the equation: - terme_diffusif if i = 0. | |
| const Operateur & | operateur_fonctionnel (int) const override |
| Operateur & | operateur_fonctionnel (int) override |
| Operateur_Div & | operateur_divergence () |
| Returns the divergence operator associated with the equation. | |
| const Operateur_Div & | operateur_divergence () const |
| Returns the divergence operator associated with the equation. | |
| Operateur_Grad & | operateur_gradient () |
| Returns the gradient operator associated with the equation. | |
| const Operateur_Grad & | operateur_gradient () const |
| Returns the gradient operator associated with the equation. | |
| Operateur_Diff & | operateur_diff () |
| const Operateur_Diff & | operateur_diff () const |
| const Champ_Inc_base & | inconnue () const override |
| Returns the velocity (unknown field of the equation) (const version). | |
| Champ_Inc_base & | inconnue () override |
| Returns the velocity (unknown field of the equation). | |
| SolveurSys & | solveur_pression () |
| Returns the pressure solver (const version). | |
| void | discretiser () override |
| Discretizes the equation. | |
| virtual void | discretiser_vitesse () |
| virtual void | discretiser_grad_p () |
| void | completer () override |
| Completes the base equation, associates the pressure with the equation,. | |
| Entree & | lire_cond_init (Entree &) override |
| Reading of initial conditions in an input stream. | |
| bool | initTimeStep (double dt) override |
| Allocation and initialization of the unknown and boundary conditions until present+dt. | |
| void | mettre_a_jour (double temps) override |
| Performs a time update of the equation. | |
| void | abortTimeStep () override |
| Reinitialize what must be. | |
| void | resetTime (double time) override |
| Reset current time of the equation. Used from ICoCo. See documentation of Problem_base::resetTime(). | |
| int | impr (Sortie &os) const override |
| Prints some information to an output stream: - maximum of div U. | |
| void | dimensionner_matrice_sans_mem (Matrice_Morse &matrice) override |
| int | has_interface_blocs () const override |
| void | dimensionner_blocs (matrices_t matrices, const tabs_t &semi_impl={}) const override |
| void | assembler_blocs (matrices_t matrices, DoubleTab &secmem, const tabs_t &semi_impl={}) const override |
| std::vector< YAML_data > | data_a_sauvegarder () const override |
| for PDI IO: retrieve name, type and dimensions of the fields to save/restore | |
| int | sauvegarder (Sortie &) const override |
| Calls Equation_base::sauvegarder(Sortie&) and saves the pressure to an output stream. | |
| int | reprendre (Entree &) override |
| Performs a restart from an input stream. | |
| DoubleTab & | derivee_en_temps_inco (DoubleTab &) override |
| Returns the time derivative of the unknown I of the equation: dI/dt = M-1*(sum(operators(I) + sources)). | |
| DoubleTab & | corriger_derivee_expl (DoubleTab &) override |
| Add a specific term for Navier Stokes (-gradP(n)) if necessary. | |
| DoubleTab & | corriger_derivee_impl (DoubleTab &) override |
| Resolution de la pression, inconnue implicitee de Navier Stokes. | |
| int | preparer_calcul () override |
| cf Equation_base::preparer_calcul() Assembly of the pressure solver and | |
| Matrice & | matrice_pression () |
| OWN_PTR (Assembleur_base) &assembleur_pression() | |
| bool | has_grad_P () const |
| Champ_Inc_base & | grad_P () |
| const Champ_Inc_base & | grad_P () const |
| Champ_Inc_base & | pression () |
| const Champ_Inc_base & | pression () const |
| Champ_Inc_base & | pression_pa () |
| const Champ_Inc_base & | pression_pa () const |
| Champ_Inc_base & | div () |
| const Champ_Inc_base & | div () const |
| virtual const Champ_Don_base & | diffusivite_pour_transport () const |
| virtual const Champ_base & | diffusivite_pour_pas_de_temps () const |
| virtual const Champ_base & | vitesse_pour_transport () const |
| void | creer_champ (const Motcle &motlu) override |
| const Champ_base & | get_champ (const Motcle &nom) const override |
| bool | has_champ (const Motcle &nom, OBS_PTR(Champ_base) &ref_champ) const override |
| bool | has_champ (const Motcle &nom) const override |
| void | get_noms_champs_postraitables (Noms &nom, Option opt=NONE) const override |
| const Motcle & | domaine_application () const override |
| Returns the name of the application domain: "Hydraulique". | |
| virtual const Champ_Inc_base & | vitesse () const |
| virtual Champ_Inc_base & | vitesse () |
| virtual void | projeter () |
| Computes the solution U of the equations: | M(U-V)/dt + BtP = 0. | |
| virtual int | projection_a_faire () |
| virtual void | sauver () const |
| virtual void | calculer_la_pression_en_pa () |
| Computes "la_pression_en_pa" from "la_pression". | |
| virtual void | calculer_pression_hydrostatique (Champ_base &pression_hydro) const |
| int | verif_Cl () const override |
| Verifies the compatibility of boundary conditions with the equation. | |
| virtual const Champ_Inc_base & | rho_la_vitesse () const |
| Operateur_Conv & | get_terme_convectif () |
| virtual void | updateFluidForce (DoubleTab &) |
| virtual bool | getCouplingInfoForFiltering () const |
| DoubleTab | getPressureTimeN () |
| void | setPressureTimeN () |
| void | update_y_plus (const DoubleTab &tab) |
| void | reassembler_pression_si_necessaire () |
| Public Member Functions inherited from Equation_base | |
| void | nommer (const Nom &nom) override |
| Method called when the object instance is created in the data file (Interprete::ajouter). | |
| virtual void | avancer (int i=1) |
| virtual void | reculer (int i=1) |
| Nom | create_polymacfamily_syno (const Nom &field_tag) const |
| Create a synonym of a field name in order to ensure backward compatibility with old names of the PolyMAC discretisation family. | |
| virtual void | init_save_file () |
| virtual void | close_save_file () |
| int | limpr () const |
| Ask the time scheme if an output is needed. | |
| virtual void | imprimer (Sortie &os) const |
| Prints the equation operators if the time scheme indicates it is necessary. | |
| virtual void | associer_milieu_equation () |
| virtual DoubleTab & | derivee_en_temps_inco_transport (DoubleTab &derivee) |
| virtual void | valider_iteration () |
| virtual method to correct the unknown during implicit iterations for example K-eps must remain positive | |
| virtual bool | updateGivenFields () |
| virtual double | calculer_pas_de_temps () const |
| Calculation of the next time step. | |
| void | calculer_pas_de_temps_locaux (DoubleTab &) const |
| Sources & | sources () |
| Returns the source terms associated with the equation. | |
| const Sources & | sources () const |
| Returns the source terms associated with the equation (const version). | |
| Solveur_Masse_base & | solv_masse () |
| Returns the mass solver associated with the equation. | |
| const Solveur_Masse_base & | solv_masse () const |
| Returns the mass solver associated with the equation (const version). | |
| Probleme_base & | probleme () |
| Returns the problem associated with the equation. | |
| const Probleme_base & | probleme () const |
| Returns the problem associated with the equation. | |
| Schema_Temps_base & | schema_temps () |
| Returns the time scheme associated with the equation. | |
| const Schema_Temps_base & | schema_temps () const |
| Returns the time scheme associated with the equation. | |
| virtual void | associer_sch_tps_base (const Schema_Temps_base &) |
| Associates the time scheme with the equation. | |
| virtual void | associer_domaine_dis (const Domaine_dis_base &) |
| Associates the discretized domain with the equation. | |
| const Discretisation_base & | discretisation () const |
| Returns the discretization associated with the equation. | |
| virtual Domaine_Cl_dis_base & | domaine_Cl_dis () |
| Returns the discretized boundary condition domain associated with the equation. | |
| virtual const Domaine_Cl_dis_base & | domaine_Cl_dis () const |
| Returns the discretized boundary condition domain associated with the equation (const version). | |
| Domaine_dis_base & | domaine_dis () |
| Returns the discretized domain associated with the equation. | |
| const Domaine_dis_base & | domaine_dis () const |
| Returns the discretized domain associated with the equation. | |
| const Nom & | le_nom () const override |
| Returns the name of the equation. | |
| DoubleVect & | get_residu () |
| DoubleVect & | residu_initial () |
| void | initialise_residu (int=0) |
| virtual void | imprime_residu (SFichier &) |
| virtual Nom | expression_residu () |
| virtual void | dimensionner_matrice (Matrice_Morse &mat_morse) |
| virtual void | assembler (Matrice_Morse &mat_morse, const DoubleTab &present, DoubleTab &secmem) |
| virtual void | modifier_pour_Cl (Matrice_Morse &mat_morse, DoubleTab &secmem) const |
| virtual void | assembler_avec_inertie (Matrice_Morse &mat_morse, const DoubleTab &present, DoubleTab &secmem) |
| virtual void | dimensionner_termes_croises (Matrice_Morse &matrice, const Probleme_base &autre_pb, int nl, int nc) |
| virtual void | ajouter_termes_croises (const DoubleTab &inco, const Probleme_base &autre_pb, const DoubleTab &autre_inco, DoubleTab &resu) const |
| virtual void | contribuer_termes_croises (const DoubleTab &inco, const Probleme_base &autre_pb, const DoubleTab &autre_inco, Matrice_Morse &matrice) const |
| virtual double | get_time_factor () const |
| virtual void | assembler_blocs_avec_inertie (matrices_t matrices, DoubleTab &secmem, const tabs_t &semi_impl={}) |
| Champ_Inc_base & | champ_conserve () const |
| int | has_champ_conserve () const |
| void | init_champ_conserve () const |
| virtual std::pair< std::string, fonc_calc_t > | get_fonc_champ_conserve () const |
| virtual Champ_Inc_base & | champ_convecte () const |
| virtual int | has_champ_convecte () const |
| virtual void | init_champ_convecte () const |
| virtual void | mettre_a_jour_champs_conserves (double temps, int reset=0) |
| bool | has_champ (const Motcle &nom, OBS_PTR(Champ_base) &ref_champ) const override |
| virtual void | verifie_ch_init_nb_comp (const Champ_Inc_base &ch_ref, const int nb_comp) const |
| Verification of the number of components read for the specification of a field. | |
| virtual void | verifie_ch_init_nb_comp_cl (const Champ_Inc_base &ch_ref, const int nb_comp, const Cond_lim_base &cl) const |
| DoubleTab & | derivee_en_temps_conv (DoubleTab &, const DoubleTab &) |
| Add convection term In: solution is the unknown I. | |
| void | Gradient_conjugue_diff_impl (DoubleTrav &secmem, DoubleTab &solution) |
| void | Gradient_conjugue_diff_impl (DoubleTrav &secmem, DoubleTab &solution, const DoubleTab &terme_mul) |
| OWN_PTR (Parametre_equation_base) ¶metre_equation() | |
| const | OWN_PTR (Parametre_equation_base) ¶metre_equation() const |
| virtual const RefObjU & | get_modele (Type_modele type) const |
| virtual int | equation_non_resolue () const |
| int | disable_equation_residual () const |
| virtual const Champ_Inc_base & | derivee_en_temps () const |
| virtual Champ_Inc_base & | derivee_en_temps () |
| void | set_calculate_time_derivative (int i) |
| int | calculate_time_derivative () const |
| void | set_residuals (const DoubleTab &residual) |
| virtual bool | positive_unkown () |
| void | add_champs_compris (const Champ_base &ch) |
| void | set_diffusion_multi_scalaire (bool flg=true) |
| const bool & | diffusion_multi_scalaire () const |
| public_for_cuda void | Gradient_conjugue_diff_impl (DoubleTrav &secmem, DoubleTab &solution, int size_terme_mul, const DoubleTab &term_mul) |
| Solve: (1/dt + M-1*L)*dI = M-1 * secmem with a Conjugate Gradient matrix-free algorithm by default. | |
| 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 Sortie & | printOn (Sortie &) const |
| Writes the object to an output stream. Virtual method to override. | |
| virtual Entree & | readOn (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_info * | get_info () const |
| Returns type information for the Objet_U. | |
| const Nom & | que_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 Interprete & | interprete () const |
| Interprete & | interprete () |
| Public Member Functions inherited from Process | |
| virtual | ~Process () |
Protected Member Functions | |
| virtual void | discretiser_assembleur_pression () |
| Types the pressure assembler. | |
| virtual void | modify_initial_variable () |
| virtual void | modify_initial_gradP (DoubleTrav &) |
| OBS_PTR (Fluide_base) le_fluide | |
| OWN_PTR (Champ_Inc_base) la_vitesse | |
| OWN_PTR (Champ_Fonc_base) la_vorticite | |
| OWN_PTR (Champ_Fonc_base) distance_paroi_globale | |
| OWN_PTR (Assembleur_base) assembleur_pression_ | |
| OWN_PTR (Traitement_particulier_NS_base) le_traitement_particulier | |
| void | uzawa (const DoubleTab &, const Matrice_Base &, SolveurSys &, DoubleTab &, DoubleTab &) |
| Protected Member Functions inherited from Equation_base | |
| OWN_PTR (Solveur_Masse_base) solveur_masse | |
| OBS_PTR (Schema_Temps_base) le_schema_en_temps | |
| OBS_PTR (Domaine_dis_base) le_dom_dis | |
| OWN_PTR (Domaine_Cl_dis_base) le_dom_Cl_dis | |
| OBS_PTR (Probleme_base) mon_probleme | |
| virtual Entree & | lire_sources (Entree &) |
| Reading of source terms in an input stream. | |
| virtual Entree & | lire_cl (Entree &) |
| Reading of boundary conditions in an input stream. | |
| virtual void | lire () |
| OWN_PTR (Parametre_equation_base) parametre_equation_ | |
| LIST (RefObjU) liste_modeles_ | |
| OWN_PTR (Champ_Inc_base) champ_conserve_ | |
| OWN_PTR (Champ_Inc_base) champ_convecte_ | |
| OWN_PTR (Champ_Inc_base) derivee_en_temps_ | |
| 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_U & | operator= (const Objet_U &) |
| Assignment operator: does nothing (the number and identifier are preserved). | |
Additional Inherited Members | |
| Static Public Member Functions inherited from Equation_base | |
| static void | calculer_champ_conserve (const Objet_U &obj, DoubleTab &val, DoubleTab &bval, tabs_t &deriv) |
| Static Public Member Functions inherited from Objet_U | |
| static const Nom & | nom_du_cas () |
| Returns a constant reference to the case name. This method is static. | |
| static Nom & | get_set_nom_du_cas () |
| Returns a non-constant reference to the case name (to allow modification). This method is static. | |
| static const Type_info * | info () |
| Returns type information for the Objet_U (static version). | |
| static const Objet_U & | self_cast (const Objet_U &) |
| Method added for casting in Python. | |
| static Objet_U & | self_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 Sortie & | Journal (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) |
| Public Attributes inherited from Equation_base | |
| Matrice_Morse_Diag | diag_ |
| 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 |
Navier_Stokes_std This class carries the terms of the momentum equation.
for a fluid without turbulence modelling. The incompressible fluid hypothesis is assumed: div U = 0. The density is considered constant (equal to rho_0) except in the gravity force term (Boussinesq hypothesis). Under these hypotheses, the following form of the Navier-Stokes equations is used: DU/dt = div(viscous term) - gradP/rho_0 + Bt(T-T0)g + other sources/rho_0 div U = 0 where DU/dt : material derivative of velocity rho_0 : reference density T0 : reference temperature Bt : thermal expansion coefficient of the fluid g : gravity vector Note: the class implementation allows neglecting certain terms of the equation (viscous term, convective term, any given source term). The unknown is the velocity field.
For handling special cases: addition of Traitement_particulier example: THI, channel (CA)
Definition at line 54 of file Navier_Stokes_std.h.
| Navier_Stokes_std::Navier_Stokes_std | ( | ) |
Definition at line 45 of file Navier_Stokes_std.cpp.
|
overridevirtual |
Reinitialize what must be.
This method is called when a time step is abandoned, for example because the calculation has diverged. So you must clean up what could pollute the new resolution.
| WrongContext |
Reimplemented from Equation_base.
Reimplemented in QDM_Multiphase.
Definition at line 1097 of file Navier_Stokes_std.cpp.
|
overridevirtual |
Reimplemented from Equation_base.
Definition at line 1765 of file Navier_Stokes_std.cpp.
|
inline |
Definition at line 64 of file Navier_Stokes_std.h.
|
overridevirtual |
Associates a physical medium with the equation by dynamically constructing (casting) an object of type Fluide_base.
from the Milieu_base object passed as parameter.
| (Milieu_base& | un_milieu) the medium to associate with the equation |
Implements Equation_base.
Definition at line 1235 of file Navier_Stokes_std.cpp.
|
overridevirtual |
Associates with the problem: calls Equation_base::associer_pb_base(const Probleme_base&).
and associates with the divergence and gradient operators.
| (Probleme_base& | pb) the problem to associate with |
Reimplemented from Equation_base.
Definition at line 284 of file Navier_Stokes_std.cpp.
|
virtual |
Computes "la_pression_en_pa" from "la_pression".
If the field milieu().masse_volumique() is uniform, it is assumed that la_pression is P* = P/rho, and the value is multiplied by rho. Otherwise, la_pression is already in Pa. This method is overridden in front-tracking.
Reimplemented in Navier_Stokes_FT_Disc, and Navier_Stokes_Variable_Density.
Definition at line 1146 of file Navier_Stokes_std.cpp.
|
virtual |
Definition at line 1373 of file Navier_Stokes_std.cpp.
|
overridevirtual |
Completes the base equation, associates the pressure with the equation,.
completes the divergence, gradient and pressure solver. Adds 2 source terms: one representing the centrifugal force in the axisymmetric case, the other involved in the resolution in 2D axisymmetric. Associates an interface transport equation with the set of tracked points if the fluid is marked.
Reimplemented from Equation_base.
Reimplemented in Navier_Stokes_Turbulent, Navier_Stokes_Turbulent_QC, Navier_Stokes_WC, and QDM_Multiphase.
Definition at line 301 of file Navier_Stokes_std.cpp.
|
overridevirtual |
Add a specific term for Navier Stokes (-gradP(n)) if necessary.
Reimplemented from Equation_base.
Definition at line 691 of file Navier_Stokes_std.cpp.
|
overridevirtual |
Resolution de la pression, inconnue implicitee de Navier Stokes.
Reimplemented from Equation_base.
Definition at line 710 of file Navier_Stokes_std.cpp.
|
overridevirtual |
Reimplemented from Equation_base.
Reimplemented in Navier_Stokes_Turbulent, and QDM_Multiphase.
Definition at line 1279 of file Navier_Stokes_std.cpp.
|
overridevirtual |
for PDI IO: retrieve name, type and dimensions of the fields to save/restore
Reimplemented from Equation_base.
Reimplemented in Navier_Stokes_Turbulent.
Definition at line 1168 of file Navier_Stokes_std.cpp.
|
overridevirtual |
Returns the time derivative of the unknown I of the equation: dI/dt = M-1*(sum(operators(I) + sources)).
In : derivee contains I (but immediatly set to 0) Out: derivee contains dI/dt
Reimplemented from Equation_base.
Reimplemented in Navier_Stokes_Turbulent_QC, and Navier_Stokes_Variable_Density.
Definition at line 1771 of file Navier_Stokes_std.cpp.
|
virtual |
Reimplemented in Momentum_Euler, Navier_Stokes_Fluide_Dilatable_base, Navier_Stokes_IBM_Turbulent, Navier_Stokes_Turbulent, and QDM_Multiphase.
Definition at line 267 of file Navier_Stokes_std.cpp.
|
virtual |
Reimplemented in Momentum_Euler, Navier_Stokes_Fluide_Dilatable_base, Navier_Stokes_FT_Disc, Navier_Stokes_IBM_Turbulent, Navier_Stokes_phase_field, Navier_Stokes_Turbulent, Navier_Stokes_Turbulent_QC, Navier_Stokes_Variable_Density, and QDM_Multiphase.
Definition at line 262 of file Navier_Stokes_std.cpp.
|
overridevirtual |
Reimplemented from Equation_base.
Reimplemented in QDM_Multiphase.
Definition at line 1759 of file Navier_Stokes_std.cpp.
|
overridevirtual |
Reimplemented from Equation_base.
Reimplemented in QDM_Multiphase.
Definition at line 1746 of file Navier_Stokes_std.cpp.
|
overridevirtual |
Discretizes the equation.
Reimplemented from Equation_base.
Reimplemented in Navier_Stokes_Turbulent_QC, and Navier_Stokes_Variable_Density.
Definition at line 360 of file Navier_Stokes_std.cpp.
|
protectedvirtual |
Types the pressure assembler.
The assembler name is built as: "Assembleur_P_xxx" where "xxx" is the name of the discretization. This method is virtual and overridden in front-tracking. It is called by Navier_Stokes_std::discretiser()
Reimplemented in Navier_Stokes_FT_Disc.
Definition at line 417 of file Navier_Stokes_std.cpp.
|
virtual |
Reimplemented in Momentum_Euler, and QDM_Multiphase.
Definition at line 401 of file Navier_Stokes_std.cpp.
|
virtual |
Reimplemented in Momentum_Euler, and QDM_Multiphase.
Definition at line 395 of file Navier_Stokes_std.cpp.
|
inline |
Definition at line 126 of file Navier_Stokes_std.h.
|
inline |
Definition at line 127 of file Navier_Stokes_std.h.
|
overridevirtual |
Returns the name of the application domain: "Hydraulique".
Reimplemented from Equation_base.
Definition at line 1706 of file Navier_Stokes_std.cpp.
| Fluide_base & Navier_Stokes_std::fluide | ( | ) |
Returns the incompressible fluid (physical medium of the equation) associated with the equation.
Definition at line 636 of file Navier_Stokes_std.cpp.
| const Fluide_base & Navier_Stokes_std::fluide | ( | ) | const |
Returns the incompressible fluid (physical medium of the equation) associated with the equation.
(const version)
Definition at line 626 of file Navier_Stokes_std.cpp.
|
overridevirtual |
Reimplemented from Equation_base.
Reimplemented in Navier_Stokes_Turbulent, and Navier_Stokes_Turbulent_QC.
Definition at line 1508 of file Navier_Stokes_std.cpp.
|
overridevirtual |
Reimplemented from Equation_base.
Reimplemented in Navier_Stokes_Turbulent, and QDM_Multiphase.
Definition at line 1617 of file Navier_Stokes_std.cpp.
|
inline |
Definition at line 155 of file Navier_Stokes_std.h.
|
virtual |
Definition at line 1988 of file Navier_Stokes_std.cpp.
|
inline |
Definition at line 161 of file Navier_Stokes_std.h.
|
inline |
Definition at line 120 of file Navier_Stokes_std.h.
|
inline |
Definition at line 121 of file Navier_Stokes_std.h.
|
overridevirtual |
Reimplemented from Equation_base.
Reimplemented in Navier_Stokes_Turbulent, and Navier_Stokes_Turbulent_QC.
Definition at line 1469 of file Navier_Stokes_std.cpp.
|
override |
|
inline |
Definition at line 119 of file Navier_Stokes_std.h.
|
overridevirtual |
Reimplemented from Equation_base.
Reimplemented in QDM_Multiphase.
Definition at line 1753 of file Navier_Stokes_std.cpp.
|
overridevirtual |
Prints some information to an output stream: - maximum of div U.
- convective term - diffusive term - divergence - gradient
| (Sortie& | os) output stream |
Reimplemented from Equation_base.
Reimplemented in Navier_Stokes_Turbulent_QC, Navier_Stokes_WC, and QDM_Multiphase.
Definition at line 1650 of file Navier_Stokes_std.cpp.
|
overridevirtual |
Returns the velocity (unknown field of the equation) (const version).
Implements Equation_base.
Definition at line 597 of file Navier_Stokes_std.cpp.
|
overridevirtual |
Returns the velocity (unknown field of the equation).
Implements Equation_base.
Definition at line 606 of file Navier_Stokes_std.cpp.
|
overridevirtual |
Allocation and initialization of the unknown and boundary conditions until present+dt.
Reimplemented from Equation_base.
Reimplemented in Navier_Stokes_Turbulent, Navier_Stokes_Turbulent_QC, and QDM_Multiphase.
Definition at line 1115 of file Navier_Stokes_std.cpp.
Reading of initial conditions in an input stream.
The reading format is as follows: { Name [MUST BE THE NAME OF THE UNKNOWN] [READ A GIVEN FIELD] }
| (Entree& | is) input stream |
| format | error, opening brace expected |
| bad | name for the unknown |
| format | error, closing brace expected |
Reimplemented from Equation_base.
Reimplemented in QDM_Multiphase.
Definition at line 641 of file Navier_Stokes_std.cpp.
|
overridevirtual |
Reads non-simple-type parameters of an Objet_U from an input stream.
| motlu | The name of the keyword to read. |
| is | An input stream. |
Reimplemented from Equation_base.
Reimplemented in Navier_Stokes_std_sensibility, Navier_Stokes_Turbulent, and QDM_Multiphase.
Definition at line 130 of file Navier_Stokes_std.cpp.
|
inline |
Definition at line 116 of file Navier_Stokes_std.h.
|
overridevirtual |
Performs a time update of the equation.
Calls Equation_base::mettre_a_jour(double) and updates the pressure. Integrates tracked points if the fluid is marked. Updates the corresponding post-processable field.
| (double | temps) the update time |
Reimplemented from Equation_base.
Reimplemented in Navier_Stokes_std_sensibility, Navier_Stokes_Turbulent, Navier_Stokes_Turbulent_QC, and QDM_Multiphase.
Definition at line 1031 of file Navier_Stokes_std.cpp.
|
overridevirtual |
Returns the physical medium of the equation (Fluide_base upcast to Milieu_base).
Implements Equation_base.
Definition at line 1253 of file Navier_Stokes_std.cpp.
|
overridevirtual |
Returns the physical medium of the equation (Fluide_base upcast to Milieu_base).
(const version)
Implements Equation_base.
Definition at line 1269 of file Navier_Stokes_std.cpp.
|
inlineprotectedvirtual |
Reimplemented in Navier_Stokes_IBM, and Navier_Stokes_Variable_Density.
Definition at line 169 of file Navier_Stokes_std.h.
|
inlineprotectedvirtual |
Reimplemented in Navier_Stokes_IBM.
Definition at line 168 of file Navier_Stokes_std.h.
|
overridevirtual |
Returns the number of operators in the equation: 2 for the standard Navier-Stokes equations.
Implements Equation_base.
Definition at line 442 of file Navier_Stokes_std.cpp.
|
overridevirtual |
Reimplemented from Equation_base.
Definition at line 447 of file Navier_Stokes_std.cpp.
|
protected |
|
overridevirtual |
Returns the i-th operator of the equation: - terme_diffusif if i = 0.
- terme_convectif if i = 1 exits if i > 1 (const version)
| (int | i) the index of the operator to return |
Implements Equation_base.
Definition at line 461 of file Navier_Stokes_std.cpp.
|
overridevirtual |
Returns the i-th operator of the equation: - terme_diffusif if i = 0.
- terme_convectif if i = 1 exits if i > 1
| (int | i) the index of the operator to return |
Implements Equation_base.
Definition at line 487 of file Navier_Stokes_std.cpp.
| Operateur_Diff & Navier_Stokes_std::operateur_diff | ( | ) |
Definition at line 571 of file Navier_Stokes_std.cpp.
| const Operateur_Diff & Navier_Stokes_std::operateur_diff | ( | ) | const |
Definition at line 576 of file Navier_Stokes_std.cpp.
| Operateur_Div & Navier_Stokes_std::operateur_divergence | ( | ) |
Returns the divergence operator associated with the equation.
Definition at line 546 of file Navier_Stokes_std.cpp.
| const Operateur_Div & Navier_Stokes_std::operateur_divergence | ( | ) | const |
Returns the divergence operator associated with the equation.
(const version)
Definition at line 557 of file Navier_Stokes_std.cpp.
|
overridevirtual |
Reimplemented from Equation_base.
Definition at line 505 of file Navier_Stokes_std.cpp.
|
overridevirtual |
Reimplemented from Equation_base.
Definition at line 523 of file Navier_Stokes_std.cpp.
| Operateur_Grad & Navier_Stokes_std::operateur_gradient | ( | ) |
Returns the gradient operator associated with the equation.
Definition at line 566 of file Navier_Stokes_std.cpp.
| const Operateur_Grad & Navier_Stokes_std::operateur_gradient | ( | ) | const |
Returns the gradient operator associated with the equation.
(const version)
Definition at line 587 of file Navier_Stokes_std.cpp.
|
inline |
Definition at line 117 of file Navier_Stokes_std.h.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
overridevirtual |
cf Equation_base::preparer_calcul() Assembly of the pressure solver and
initialization of the pressure. Assembly of the pressure system.
Reimplemented from Equation_base.
Reimplemented in Navier_Stokes_Turbulent, Navier_Stokes_Turbulent_QC, Navier_Stokes_Variable_Density, and QDM_Multiphase.
Definition at line 931 of file Navier_Stokes_std.cpp.
|
inline |
Definition at line 122 of file Navier_Stokes_std.h.
|
inline |
Definition at line 123 of file Navier_Stokes_std.h.
|
inline |
Definition at line 124 of file Navier_Stokes_std.h.
|
inline |
Definition at line 125 of file Navier_Stokes_std.h.
|
virtual |
Definition at line 903 of file Navier_Stokes_std.cpp.
|
virtual |
Computes the solution U of the equations: | M(U-V)/dt + BtP = 0.
|-BU=0
The pressure problem is solved: -BM-1BtP = -BV/dt where -BV represents the divergence of V. The velocity problem is solved by applying the mass solver to the gradient of P: U=V - dt*M-1BtP
| time | step too small |
Reimplemented in Navier_Stokes_FT_Disc.
Definition at line 815 of file Navier_Stokes_std.cpp.
| void Navier_Stokes_std::reassembler_pression_si_necessaire | ( | ) |
Definition at line 426 of file Navier_Stokes_std.cpp.
|
overridevirtual |
Performs a restart from an input stream.
Calls Equation_base::reprendre() and restores the pressure.
| (Entree& | is) input stream |
| restart | failed, pressure identifier not found |
Reimplemented from Equation_base.
Reimplemented in Navier_Stokes_Turbulent.
Definition at line 1202 of file Navier_Stokes_std.cpp.
|
overridevirtual |
Reset current time of the equation. Used from ICoCo. See documentation of Problem_base::resetTime().
Reimplemented from Equation_base.
Definition at line 1109 of file Navier_Stokes_std.cpp.
|
virtual |
Reimplemented in Navier_Stokes_Fluide_Dilatable_base, and Navier_Stokes_Turbulent_QC.
Definition at line 1960 of file Navier_Stokes_std.cpp.
|
overridevirtual |
Calls Equation_base::sauvegarder(Sortie&) and saves the pressure to an output stream.
| (Sortie& | os) output stream to save to |
Reimplemented from Equation_base.
Reimplemented in Navier_Stokes_Turbulent.
Definition at line 1181 of file Navier_Stokes_std.cpp.
|
virtual |
Definition at line 1954 of file Navier_Stokes_std.cpp.
|
overridevirtual |
Reimplemented from Equation_base.
Reimplemented in Navier_Stokes_std_sensibility, Navier_Stokes_Turbulent, and QDM_Multiphase.
Definition at line 95 of file Navier_Stokes_std.cpp.
| void Navier_Stokes_std::setPressureTimeN | ( | ) |
Definition at line 1980 of file Navier_Stokes_std.cpp.
| SolveurSys & Navier_Stokes_std::solveur_pression | ( | ) |
Returns the pressure solver (const version).
Definition at line 615 of file Navier_Stokes_std.cpp.
| void Navier_Stokes_std::update_y_plus | ( | const DoubleTab & | tab | ) |
Definition at line 1968 of file Navier_Stokes_std.cpp.
|
virtual |
Definition at line 1993 of file Navier_Stokes_std.cpp.
|
protected |
Definition at line 1842 of file Navier_Stokes_std.cpp.
|
overridevirtual |
Verifies the compatibility of boundary conditions with the equation.
see Conds_lim::compatible_avec_eqn().
Reimplemented from Equation_base.
Definition at line 352 of file Navier_Stokes_std.cpp.
|
inlinevirtual |
Reimplemented in Momentum_Euler.
Definition at line 145 of file Navier_Stokes_std.h.
|
inlinevirtual |
Reimplemented in Momentum_Euler.
Definition at line 144 of file Navier_Stokes_std.h.
|
virtual |
Reimplemented in Navier_Stokes_Fluide_Dilatable_base, and QDM_Multiphase.
Definition at line 272 of file Navier_Stokes_std.cpp.
|
protected |
Definition at line 192 of file Navier_Stokes_std.h.
|
protected |
Definition at line 174 of file Navier_Stokes_std.h.
|
protected |
Definition at line 175 of file Navier_Stokes_std.h.
|
protected |
Definition at line 174 of file Navier_Stokes_std.h.
|
mutableprotected |
Definition at line 187 of file Navier_Stokes_std.h.
|
protected |
Definition at line 197 of file Navier_Stokes_std.h.
|
protected |
Definition at line 179 of file Navier_Stokes_std.h.
|
protected |
Definition at line 173 of file Navier_Stokes_std.h.
|
protected |
Definition at line 186 of file Navier_Stokes_std.h.
|
protected |
Definition at line 174 of file Navier_Stokes_std.h.
|
protected |
Definition at line 180 of file Navier_Stokes_std.h.
|
protected |
Definition at line 173 of file Navier_Stokes_std.h.
|
protected |
Definition at line 173 of file Navier_Stokes_std.h.
|
protected |
Definition at line 173 of file Navier_Stokes_std.h.
|
protected |
Definition at line 181 of file Navier_Stokes_std.h.
|
protected |
Definition at line 186 of file Navier_Stokes_std.h.
|
protected |
Definition at line 193 of file Navier_Stokes_std.h.
|
protected |
Definition at line 194 of file Navier_Stokes_std.h.
|
protected |
Definition at line 174 of file Navier_Stokes_std.h.
|
protected |
Definition at line 185 of file Navier_Stokes_std.h.
|
protected |
Definition at line 186 of file Navier_Stokes_std.h.
|
protected |
Definition at line 175 of file Navier_Stokes_std.h.
|
protected |
Definition at line 186 of file Navier_Stokes_std.h.
|
protected |
Definition at line 186 of file Navier_Stokes_std.h.
|
protected |
Definition at line 186 of file Navier_Stokes_std.h.
|
protected |
Definition at line 183 of file Navier_Stokes_std.h.
|
protected |
Definition at line 175 of file Navier_Stokes_std.h.
|
protected |
Definition at line 177 of file Navier_Stokes_std.h.
|
protected |
Definition at line 178 of file Navier_Stokes_std.h.
|
protected |
Definition at line 175 of file Navier_Stokes_std.h.