16#ifndef Domaine_VEF_included
17#define Domaine_VEF_included
19#include <TRUSTArray_kokkos.tpp>
20#include <Elem_VEF_base.h>
21#include <TRUST_Deriv.h>
22#include <Domaine_VF.h>
67 void swap(
int,
int,
int);
90 inline int get_P1Bulle()
const { assert(P1Bulle != -1);
return P1Bulle; }
91 inline int get_alphaE()
const { assert(alphaE != -1);
return alphaE; }
92 inline int get_alphaS()
const { assert(alphaS != -1);
return alphaS; }
93 inline int get_alphaA()
const { assert(alphaA != -1);
return alphaA; }
94 inline int get_alphaRT()
const { assert(alphaRT != -1);
return alphaRT; }
111 double h_carre = 1.e30;
116 BigDoubleTab facette_normales_;
118 DoubleTab facette_normales_;
120 DoubleTab vecteur_face_facette_;
121 IntVect orientation_;
124 DoubleVect volumes_som_, volumes_aretes;
125 ArrOfInt renum_arete_perio;
128 int P1Bulle = -1, alphaE = -1, alphaS = -1, alphaA = -1;
130 int modif_div_face_dirichlet = -1;
131 int cl_pression_sommet_faible = -1;
139KOKKOS_INLINE_FUNCTION
int oriente_normale(
int face_opp,
int elem2, CIntTabView face_voisins)
141 return (face_voisins(face_opp, 0) == elem2) ? 1 : -1;
145void exemple_champ_non_homogene(
const Domaine_VEF&, DoubleTab&);
167 else if (!alphaE && !alphaS)
169 else if (!alphaE && alphaS)
171 else if (!alphaS && alphaE)
Empty class used as a base for all the arrays.
class Conds_lim This class represents a vector of boundary conditions.
virtual void creer_tableau_p1bulle(Array_base &, RESIZE_OPTIONS opt=RESIZE_OPTIONS::COPY_INIT) const
const auto & facette_normales() const
void verifie_ok_arete(int) const
int numero_premiere_arete() const
void construire_ok_arete()
const IntVect & get_ok_arete() const
int nb_faces_joint() const
IntVect & rang_elem_non_std()
void modifier_pour_Cl(const Conds_lim &) override
double dist_face_elem1(int num_face, int n1) const override
int numero_premier_sommet() const
double dist_face_elem0(int num_face, int n0) const override
DoubleTab & vecteur_face_facette()
int premiere_face_std() const
void calculer_volumes_entrelaces()
int numero_premier_element() const
int nb_faces_non_std() const
double carre_pas_du_maillage() const
const DoubleVect & get_volumes_aretes() const
int get_modif_div_face_dirichlet() const
void typer_elem(Domaine &) override
int get_cl_pression_sommet_faible() const
const Elem_VEF_base & type_elem() const
const IntVect & rang_elem_non_std() const
const ArrOfInt & get_renum_arete_perio() const
virtual void discretiser_suite(const VEF_discretisation &)
virtual const MD_Vector & md_vector_p1b() const
const DoubleVect & volume_aux_sommets() const
const DoubleVect & carre_pas_maille() const
void construire_renum_arete_perio(const Conds_lim &)
auto & facette_normales()
void discretiser() override
double volume_au_sommet(int som) const
IntVect rang_elem_non_std_
virtual const DoubleVect & face_surfaces() const
int nb_faces() const
Returns the total number of faces.
double dot(const double *a, const double *b, const double *ma=nullptr, const double *mb=nullptr) const
: This class is an OWN_PTR but the pointed object is shared among multiple
Base class for output streams.