16#ifndef Iterateur_PolyMAC_CDO_base_included
17#define Iterateur_PolyMAC_CDO_base_included
19#include <Dirichlet_entree_fluide_leaves.h>
20#include <Dirichlet_paroi_defilante.h>
21#include <Neumann_paroi_adiabatique.h>
22#include <Echange_externe_impose.h>
23#include <Echange_global_impose.h>
24#include <Scalaire_impose_paroi.h>
25#include <Neumann_sortie_libre.h>
26#include <Dirichlet_paroi_fixe.h>
27#include <Evaluateur_PolyMAC_CDO.h>
28#include <Domaine_Cl_PolyMAC_family.h>
29#include <Domaine_PolyMAC_CDO.h>
31#include <Neumann_paroi.h>
32#include <TRUST_Deriv.h>
33#include <Periodique.h>
40enum Type_Cl_PolyMAC_CDO
49 , echange_externe_impose
50 , echange_global_impose
52 , scalaire_impose_paroi
53 , nouvelle_Cl_PolyMAC_CDO
64 virtual DoubleTab&
ajouter(
const DoubleTab&, DoubleTab&)
const =0;
66 virtual DoubleTab&
calculer(
const DoubleTab&, DoubleTab&)
const =0;
87 Type_Cl_PolyMAC_CDO retour = nouvelle_Cl_PolyMAC_CDO;
88 if (sub_type(
Symetrie, la_cl.valeur()))
91 retour = sortie_libre;
93 retour = entree_fluide;
97 retour = paroi_defilante;
99 retour = paroi_adiabatique;
103 retour = echange_externe_impose;
105 retour = echange_global_impose;
106 else if (sub_type(
Periodique, la_cl.valeur()))
109 retour = scalaire_impose_paroi;
class Cond_lim Generic class used to represent any class
Dirichlet_entree_fluide This class represents a boundary condition imposing a quantity.
Dirichlet_paroi_defilante Imposes the wall velocity in an equation of type Navier_Stokes.
Dirichlet_paroi_fixe Represents a fixed wall in a Navier-Stokes type equation.
class Domaine_Cl_dis_base Domaine_Cl_dis_base objects represent discretized boundary conditions
class Domaine_dis_base This class is the base of the hierarchy of discretized domains.
Classe Echange_externe_impose: This class represents the special case of the class.
Classe Echange_global_impose This class represents the special case of the class.
class Evaluateur_PolyMAC_CDO
virtual void ajouter_contribution_vitesse(const DoubleTab &, Matrice_Morse &) const =0
const Domaine_PolyMAC_CDO & domaine() const
virtual const Evaluateur_PolyMAC_CDO & evaluateur() const =0
virtual void ajouter_contribution(const DoubleTab &, Matrice_Morse &) const =0
virtual void contribuer_au_second_membre(DoubleTab &) const =0
virtual DoubleTab & calculer(const DoubleTab &, DoubleTab &) const =0
OBS_PTR(Domaine_PolyMAC_CDO) le_domaine
virtual int impr(Sortie &os) const =0
virtual DoubleTab & ajouter(const DoubleTab &, DoubleTab &) const =0
void associer(const Domaine_PolyMAC_CDO &, const Domaine_Cl_PolyMAC_family &, const Operateur_base &)
virtual void calculer_flux_bord(const DoubleTab &) const
void associer_domaine_cl_dis(const Domaine_Cl_dis_base &)
virtual void completer_()=0
Type_Cl_PolyMAC_CDO type_cl(const Cond_lim &) const
const Domaine_Cl_PolyMAC_family & domaine_Cl() const
OBS_PTR(Operateur_base) op_base
virtual Evaluateur_PolyMAC_CDO & evaluateur()=0
OBS_PTR(Domaine_Cl_PolyMAC_family) la_zcl
Matrice_Morse class - Represents a (sparse) matrix M, not necessarily square,.
Classe Neumann_paroi_adiabatique This boundary condition corresponds to an adiabatic wall in a.
Classe Neumann_paroi This boundary condition corresponds to an imposed flux for the.
Neumann_sortie_libre This class represents an open boundary without imposed velocity.
Objet_U()
Default constructor: assigns a unique identifier to the object (object_id_) and registers the object ...
class Operateur_base This class is the base of the hierarchy of objects representing an
class Periodique This class represents a periodic boundary condition.
Scalaire_impose_paroi Imposes a scalar at the wall in a Convection-Diffusion equation for a scalar.
Symetrie On symmetry faces, the following properties hold: