17#ifndef Op_Diff_VEFP1NCP1B_Face_included
18#define Op_Diff_VEFP1NCP1B_Face_included
20#include <Operateur_Diff_base.h>
21#include <Matrice_Morse.h>
22#include <Op_Diff_VEF_Face.h>
23#include <Domaine_VEF.h>
24#include <Domaine_Cl_VEF.h>
25#include <TRUSTLists.h>
26#include <SolveurSys.h>
48 DoubleTab&
ajouter(
const DoubleTab& , DoubleTab& )
const override;
49 DoubleTab&
calculer(
const DoubleTab& , DoubleTab& )
const override;
95 void coeff_matrice_som(
const int,IntVect&,DoubleTab&,DoubleTab&,
const DoubleVect&,
const DoubleTab&,
97 void coeff_matrice_som_CL(
const int,IntVect&,DoubleTab&,DoubleTab&,
const DoubleVect&,
const DoubleTab&,
102 const DoubleVect&,
const DoubleTab&,
const DoubleTab&,
Matrice_Morse&)
const;
105 void gradient_som(
const int face,
const int,
const int,
const int,
const int,
const int,DoubleTab&)
const;
106 void gradient_som(
const int,
int&,IntVect&,DoubleTab&)
const;
109 void isInStencil(
int,
int,
int&,
int&,
int&,
int&)
const;
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 Matrice_Morse Represente une matrice M (creuse), non necessairement carree.
void coeff_matrice_som(const int, IntVect &, DoubleTab &, DoubleTab &, const DoubleVect &, const DoubleTab &, const DoubleTab &, Matrice_Morse &) const
void associer(const Domaine_dis_base &, const Domaine_Cl_dis_base &, const Champ_Inc_base &) override
DoubleTab & corriger_pour_diffusivite(const DoubleTab &, DoubleTab &) const
void liste_face(IntLists &, int &) const
void coeff_matrice_som_symetrie(const int, IntVect &, DoubleTab &, DoubleTab &, const DoubleVect &, const DoubleTab &, const DoubleTab &, Matrice_Morse &) const
void ajouter_contribution_elem(const DoubleTab &, const DoubleVect &, const DoubleTab &, Matrice_Morse &) const
void contribuer_a_avec(const DoubleTab &, Matrice_Morse &) const override
on assemble la matrice.
void coeff_matrice_som_CL(const int, IntVect &, DoubleTab &, DoubleTab &, const DoubleVect &, const DoubleTab &, const DoubleTab &, Matrice_Morse &) const
void calculer_dt_stab_som(const DoubleTab &, DoubleTab &) const
DoubleVect & calculer_divergence_aretes(DoubleVect &) const
void calculer_laplacien_som(const DoubleTab &) const
void gradient_som_CL(const int, int &, IntVect &, DoubleTab &) const
void remplir_nu_pA(const DoubleTab &, DoubleTab &) const
void dimensionner(Matrice_Morse &) const override
on dimensionne notre matrice.
void calculer_flux_bords_elem(const DoubleVect &) const
void isInStencil(int, int, int &, int &, int &, int &) const
DoubleVect & calculer_divergence_som(DoubleVect &) const
const Domaine_VEF & domaine_vef() const
void ajouter_contribution_som(const DoubleTab &, const DoubleVect &, const DoubleTab &, Matrice_Morse &) const
void contribuer_au_second_membre(DoubleTab &) const override
on ajoute la contribution du second membre.
DoubleVect & calculer_gradient_elem(const DoubleVect &) const
void calculer_dt_stab_aretes(const DoubleTab &, DoubleTab &) const
double calculer_dt_stab() const override
Calcul dt_stab.
const Domaine_Cl_VEF & domaine_Cl_VEFPreP1B() const
void ajouter_contribution(const DoubleTab &, Matrice_Morse &) const
DoubleTab & calculer(const DoubleTab &, DoubleTab &) const override
DoubleTab & ajouter(const DoubleTab &, DoubleTab &) const override
void remplir_nu_p1(const DoubleTab &, DoubleTab &) const
Calcule la diffusivite "nu_p1" aux sommets du maillage en fonction de la diffusivite "nu_elem" aux el...
void calculer_flux_bords_som(const DoubleVect &) const
DoubleVect & calculer_gradient_som(const DoubleVect &) const
void ajouter_contribution_aretes(const DoubleTab &, const DoubleVect &, const DoubleTab &, Matrice_Morse &) const
void coeff_matrice_som_perio(const int, const int, IntVect &, DoubleTab &, DoubleTab &, const DoubleVect &, const DoubleTab &, const DoubleTab &, Matrice_Morse &) const
void corriger_Cl_test(DoubleTab &) const
DoubleVect & calculer_gradient_aretes(const DoubleVect &) const
void calculer_dt_stab_elem(const DoubleTab &, DoubleTab &) const
DoubleVect & corriger_div_pour_Cl(const DoubleVect &, const DoubleTab &, DoubleVect &) const
void gradient_som(const int face, const int, const int, const int, const int, const int, DoubleTab &) const
void calculer_flux_bords_aretes(const DoubleVect &) const
DoubleVect & calculer_divergence_elem(DoubleVect &) const
void isFaceOfSymetry(ArrOfBit &, int &) const
Op_Diff_VEFP1NCP1B_Face()
Matrice_Morse laplacien_p1_
void completer() override
Associe l'operateur au domaine_dis, le domaine_Cl_dis, et a l'inconnue de son equation.
void contribue_au_second_membre(DoubleTab &) const