16#ifndef Op_Diff_VEF_Anisotrope_Face_included
17#define Op_Diff_VEF_Anisotrope_Face_included
19#include <Op_Diff_VEF_base.h>
20#include <Champ_base.h>
34 DoubleTab&
ajouter(
const DoubleTab& , DoubleTab& )
const override;
35 DoubleTab&
calculer(
const DoubleTab& , DoubleTab& )
const override;
99 if (nature_champ!=multi_scalaire)
class Champ_base This class is the base of the fields hierarchy.
virtual const Champ_Inc_base & inconnue() const =0
virtual Nature_du_champ nature_du_champ() const
Matrice_Morse class - Represents a (sparse) matrix M, not necessarily square,.
const Equation_base & equation() const
Returns the reference to the equation pointed to by MorEqn::mon_equation.
void ajouter_cas_multi_scalaire(const DoubleTab &inconnue, DoubleTab &resu, DoubleTab &flux_bords, DoubleTab &nu, const Domaine_Cl_VEF &domaine_Cl_VEF, const Domaine_VEF &domaine_VEF, int nb_comp) const
void modifier_pour_Cl(Matrice_Morse &, DoubleTab &) const override
DOES NOTHING - to override in derived classes.
OBS_PTR(Champ_base) diffusivite_
DoubleTab & ajouter(const DoubleTab &, DoubleTab &) const override
void associer_diffusivite(const Champ_base &) override
Associate the diffusivity field.
void ajouter_contribution(const DoubleTab &, Matrice_Morse &) const
void dimensionner(Matrice_Morse &) const override
Size/initialize the matrix.
void ajouter_cas_scalaire(const DoubleTab &inconnue, DoubleTab &resu, DoubleTab &flux_bords, DoubleTab &nu, const Domaine_Cl_VEF &domaine_Cl_VEF, const Domaine_VEF &domaine_VEF) const
void contribuer_a_avec(const DoubleTab &, Matrice_Morse &) const override
Assemble the matrix.
void contribuer_au_second_membre(DoubleTab &) const override
Add the contribution to the right-hand side.
const Champ_base & diffusivite() const override
void ajouter_cas_vectoriel(const DoubleTab &inconnue, DoubleTab &resu, DoubleTab &flux_bords, DoubleTab &nu, const Domaine_Cl_VEF &domaine_Cl_VEF, const Domaine_VEF &domaine_VEF, int nb_comp) const
void completer() override
Associates the operator with the domaine_dis, the domaine_Cl_dis, and the unknown of its equation.
DoubleTab & calculer(const DoubleTab &, DoubleTab &) const override
void ajouter_contribution_multi_scalaire(const DoubleTab &, Matrice_Morse &) const
void contribue_au_second_membre(DoubleTab &) const
void dimensionner(const Domaine_VEF &, const Domaine_Cl_VEF &, Matrice_Morse &) const
Dimensioning of the matrix that will receive the coefficients from convection and diffusion for the f...
void modifier_pour_Cl(const Domaine_VEF &, const Domaine_Cl_VEF &, Matrice_Morse &, DoubleTab &) const
Modify the matrix coefficients and the right-hand side for Dirichlet boundary conditions.