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;
classe Cond_lim Classe generique servant a representer n'importe quelle classe
classe Dirichlet_entree_fluide Cette classe represente une condition aux limite imposant une grandeur
classe Dirichlet_paroi_defilante Impose la vitesse de paroi dnas une equation de type Navier_Stokes.
classe Dirichlet_paroi_fixe Represente une paroi immobile dans une equation de type Navier_Stokes.
classe Domaine_Cl_dis_base Les objets Domaine_Cl_dis_base representent les conditions aux limites
classe Domaine_dis_base Cette classe est la base de la hierarchie des domaines discretisees.
Classe Echange_externe_impose: Cette classe represente le cas particulier de la classe.
Classe Echange_global_impose Cette classe represente le cas particulier de la classe.
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
Classe Matrice_Morse Represente une matrice M (creuse), non necessairement carree.
Classe Neumann_paroi_adiabatique Cette condition limite correspond a une paroi adiabatique dans une.
Classe Neumann_paroi Cette condition limite correspond a un flux impose pour l'equation de.
classe Neumann_sortie_libre Cette classe represente une frontiere ouverte sans vitesse imposee
Objet_U()
Constructeur par defaut : attribue un numero d'identifiant unique a l'objet (object_id_),...
classe Operateur_base Classe est la base de la hierarchie des objets representant un
classe Periodique Cette classe represente une condition aux limites periodique.
classe Scalaire_impose_paroi Impose un scalaire a la paroi dans une equation de type Convection-Difus...
classe Symetrie Sur les faces de symetrie on a les proprietes suivantes: