33 #ifndef __H__UG__LIB_DISC__CONVECTION_DIFFUSION__CONVECTION_DIFFUSION_STAB_FE__
34 #define __H__UG__LIB_DISC__CONVECTION_DIFFUSION__CONVECTION_DIFFUSION_STAB_FE__
37 #include "../convection_diffusion_base.h"
41 namespace ConvectionDiffusionPlugin{
54 template<
typename TDomain>
87 template <
typename TElem,
typename TFEGeom>
96 template <
typename TElem,
typename TFEGeom>
100 template <
typename TElem,
typename TFEGeom>
103 template <
typename TElem,
typename TFEGeom>
107 template <
typename TElem,
typename TFEGeom>
111 template <
typename TElem,
typename TFEGeom>
115 template <
typename TElem,
typename TFEGeom>
119 template <
typename TElem,
typename TFEGeom>
123 template <
typename TElem,
typename TFEGeom>
127 template <
typename TElem,
typename TFEGeom>
131 template <
typename TElem,
typename TFEGeom>
135 template <
typename TElem,
typename TFEGeom>
139 template <
typename TElem,
typename TFEGeom>
143 template <
typename TElem,
typename TFEGeom>
147 template <
typename TElem,
typename TFEGeom>
152 static const size_t _C_ = 0;
158 virtual void prepare_setting(
const std::vector<LFEID>& vLfeID,
bool bNonRegularGrid);
174 template <
typename TElem,
typename TFEGeom>
void register_func();
Discretization for the Convection-Diffusion Equation.
Definition: convection_diffusion_stab_fe.h:56
LFEID m_lfeID
current shape function set
Definition: convection_diffusion_stab_fe.h:169
virtual void prepare_setting(const std::vector< LFEID > &vLfeID, bool bNonRegularGrid)
type of trial space for each function used
Definition: convection_diffusion_stab_fe.cpp:90
void add_jac_X_elem(LocalMatrix &J, const LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[], double stab)
Definition: convection_diffusion_stab_fe.cpp:213
void prep_elem(const LocalVector &u, GridObject *elem, const ReferenceObjectID roid, const MathVector< dim > vCornerCoords[])
prepares the element for assembling
Definition: convection_diffusion_stab_fe.cpp:149
void add_def_A_elem(LocalVector &d, const LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[])
assembles the stiffness part of the local defect
Definition: convection_diffusion_stab_fe.h:112
void set_quad_order(size_t order)
sets the quad order
Definition: convection_diffusion_stab_fe.cpp:82
void prep_err_est_elem(const LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[])
prepares the element for assembling the error estimator
Definition: convection_diffusion_stab_fe.h:132
static const int dim
World dimension.
Definition: convection_diffusion_stab_fe.h:66
int m_quadOrder
Definition: convection_diffusion_stab_fe.h:166
bool m_bQuadOrderUserDef
current integration order
Definition: convection_diffusion_stab_fe.h:165
void prep_elem_loop(const ReferenceObjectID roid, const int si)
prepares the loop over all elements
Definition: convection_diffusion_stab_fe.cpp:122
double m_stabParamM
struct holding values of shape functions in IPs
Definition: convection_diffusion_stab_fe.h:201
void add_def_M_elem(LocalVector &d, const LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[])
assembles the mass part of the local defect
Definition: convection_diffusion_stab_fe.cpp:172
void prep_err_est_elem_loop(const ReferenceObjectID roid, const int si)
prepares the loop over all elements of one type for the computation of the error estimator
Definition: convection_diffusion_stab_fe.h:128
void add_jac_A_elem(LocalMatrix &J, const LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[])
assembles the local stiffness matrix using a finite volume scheme
Definition: convection_diffusion_stab_fe.cpp:256
void register_func()
Definition: convection_diffusion_stab_fe.cpp:388
void fsh_err_est_elem_loop()
postprocesses the loop over all elements of one type in the computation of the error estimator
Definition: convection_diffusion_stab_fe.h:148
void compute_err_est_rhs_elem(GridObject *elem, const MathVector< dim > vCornerCoords[], const number &scale)
computes the error estimator contribution for one element
Definition: convection_diffusion_stab_fe.h:144
void add_rhs_elem(LocalVector &d, GridObject *elem, const MathVector< dim > vCornerCoords[])
assembles the local right hand side
Definition: convection_diffusion_stab_fe.h:124
double m_stabParamA
Definition: convection_diffusion_stab_fe.h:202
virtual ~ConvectionDiffusionStabFE()
Destructor.
Definition: convection_diffusion_stab_fe.h:75
virtual bool use_hanging() const
returns if hanging nodes are needed
Definition: convection_diffusion_stab_fe.cpp:110
void register_all_funcs(const LFEID &lfeid, const int quadOrder)
ConvectionDiffusionStabFE< TDomain > this_type
Own type.
Definition: convection_diffusion_stab_fe.h:62
static const size_t _C_
abbreviation for the local solution
Definition: convection_diffusion_stab_fe.h:152
void compute_err_est_M_elem(const LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[], const number &scale)
computes the error estimator contribution for one element
Definition: convection_diffusion_stab_fe.h:140
void fsh_elem_loop()
finishes the loop over all elements
Definition: convection_diffusion_stab_fe.cpp:143
IElemDisc< TDomain > base_type
Base class type.
Definition: convection_diffusion_stab_fe.h:59
void add_jac_M_elem(LocalMatrix &J, const LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[])
assembles the local mass matrix using a finite volume scheme
Definition: convection_diffusion_stab_fe.cpp:248
void compute_err_est_A_elem(const LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[], const number &scale)
computes the error estimator contribution for one element
Definition: convection_diffusion_stab_fe.h:136
ConvectionDiffusionStabFE(const char *functions, const char *subsets)
Constructor.
Definition: convection_diffusion_stab_fe.cpp:53