16#include <Terme_Source_Qdm_Elem_DG.h>
17#include <Neumann_sortie_libre.h>
18#include <Domaine_Cl_DG.h>
19#include <Neumann_homogene.h>
20#include <Domaine_DG.h>
21#include <Champ_Uniforme.h>
22#include <BasisFunction.h>
23#include <Equation_base.h>
24#include <Milieu_base.h>
26#include <Field_base.h>
44 const int nb_comp = la_source->nb_comp();
48 noms.add(
"Terme_Source_DG");
49 unites.add(
"kg.m.s^-1");
52 la_source_DG->valeurs() = 0.;
53 la_source_DG->affecter(la_source);
85 const int nb_bfunc = bfunc.
nb_bfunc();
90 DoubleTab product(nb_pts_integ_max);
92 DoubleTab fbase(nb_bfunc, nb_pts_integ_max);
96 for (
int elem = 0; elem < dom.
nb_elem(); elem++)
99 for (
int d = 0; d < dim; d++)
100 for (
int fb = 0; fb < nb_bfunc; fb++)
103 product(k) = la_source_DG->valeurs()(sub_type(
Champ_Uniforme,la_source.valeur()) ? 0 : elem, k + d*nb_pts_integ_max) * fbase(fb, k);
112 la_source->mettre_a_jour(temps);
Manages the local polynomial basis functions for Discontinuous Galerkin elements.
void eval_bfunc(const Quadrature_base &quad, const int &nelem, DoubleTab &fbasis) const
Evaluates all basis functions at the element quadrature points.
const int & nb_bfunc() const
void discretiser_champ(const Motcle &directive, const Domaine_dis_base &z, const Nom &nom, const Nom &unite, int nb_comp, int nb_pas_dt, double temps, OWN_PTR(Champ_Inc_base)&champ, const Nom &sous_type=NOM_VIDE) const
class Domaine_Cl_dis_base Domaine_Cl_dis_base objects represent discretized boundary conditions
const Quadrature_base & get_quadrature(int order) const
const BasisFunction & get_basisFunction(int order) const
class Domaine_dis_base This class is the base of the hierarchy of discretized domains.
Class defining operators and methods for all reading operation in an input flow (file,...
Probleme_base & probleme()
Returns the problem associated with the equation.
const Equation_base & equation() const
Returns the reference to the equation pointed to by MorEqn::mon_equation.
const Nom & que_suis_je() const
Returns the string identifying the class.
virtual Entree & readOn(Entree &)
Reads an Objet_U from an input stream. Virtual method to override.
virtual Sortie & printOn(Sortie &) const
Writes the object to an output stream. Virtual method to override.
static int Get_order_for(const Nom &n)
const Discretisation_base & discretisation() const
Returns the discretization associated with the problem.
int nb_pts_integ(int e) const
int nb_pts_integ_max() const
double compute_integral_on_elem(int num_elem, Parser_U &parser) const
Compute the integral of a function on one triangle.
Base class for output streams.
Source_base A Source_base object is a term appearing on the right-hand side of an.
DG momentum source term for element-based velocity unknowns.
void mettre_a_jour(double) override
DOES NOTHING - to override in derived classes.
void associer_domaines(const Domaine_dis_base &, const Domaine_Cl_dis_base &) override
void ajouter_blocs(matrices_t matrices, DoubleTab &secmem, const tabs_t &semi_impl={}) const override
Assembles the momentum source contribution into the right-hand side.