45#ifndef __H__UG__LIB_DISC__SPACIAL_DISCRETIZATION__ELEM_DISC__DIRAC_SOURCE__LAGRANGE_DIRAC_SOURCE_H__
46#define __H__UG__LIB_DISC__SPACIAL_DISCRETIZATION__ELEM_DISC__DIRAC_SOURCE__LAGRANGE_DIRAC_SOURCE_H__
69template<
typename TDomain>
82 static const int dim = base_type::dim;
84 static const int _C_ = 0;
104 DiracSourceDisc(
const std::vector<std::string>& functions,
const std::vector<std::string>& subsets)
132 virtual void prepare_setting(
const std::vector<LFEID>& vLfeID,
bool bNonRegularGrid);
146 template<
typename TElem,
typename TFVGeom>
156 template<
typename TElem,
typename TFVGeom>
161 template<
typename TElem,
typename TFVGeom>
166 template<
typename TElem,
typename TFVGeom>
170 template<
typename TElem,
typename TFVGeom>
175 template<
typename TElem,
typename TFVGeom>
179 template<
typename TElem,
typename TFVGeom>
184 template<
typename TElem,
typename TFVGeom>
190 template <
typename TElem,
typename TFVGeom>
195 template <
typename TElem,
typename TFVGeom>
200 template <
typename TElem,
typename TFVGeom>
205 template <
typename TElem,
typename TFVGeom>
217 template <
typename TElem,
typename TFVGeom>
Definition smart_pointer.h:107
Definition lagrange_dirac_source.h:72
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 lagrange_dirac_source.h:201
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 lagrange_dirac_source.h:171
SmartPtr< UserData< number, dim > > m_snkTransportData
Definition lagrange_dirac_source.h:211
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 lagrange_dirac_source.h:180
void prep_elem(const LocalVector &u, GridObject *elem, const ReferenceObjectID roid, const MathVector< dim > vCornerCoords[])
prepares the element for assembling
Definition lagrange_dirac_source.h:157
virtual ~DiracSourceDisc()
Destructor.
Definition lagrange_dirac_source.h:111
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 lagrange_dirac_source.h:191
void prep_elem_loop(const ReferenceObjectID roid, const int si)
prepares the loop over all elements
Definition lagrange_dirac_source.h:147
virtual void prepare_setting(const std::vector< LFEID > &vLfeID, bool bNonRegularGrid)
type of trial space for each function used
Definition lagrange_dirac_source_impl.h:94
static const int dim
World dimension.
Definition lagrange_dirac_source.h:82
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 lagrange_dirac_source_impl.h:117
static const int _C_
Definition lagrange_dirac_source.h:84
void add_source(number scale, MathVector< dim > &srcCoord)
Setting a scaling factor for the flux.
Definition lagrange_dirac_source_impl.h:47
MathVector< dim > m_srcCoord
Definition lagrange_dirac_source.h:212
virtual bool use_hanging() const
returns if hanging nodes are used
Definition lagrange_dirac_source_impl.h:108
SmartPtr< UserData< number, dim > > m_srcData
Definition lagrange_dirac_source.h:210
void register_func()
Definition lagrange_dirac_source_impl.h:187
base_type::domain_type domain_type
Domain type.
Definition lagrange_dirac_source.h:79
DiracSourceDisc< TDomain > this_type
own type
Definition lagrange_dirac_source.h:91
IElemDisc< TDomain > base_type
Base class type.
Definition lagrange_dirac_source.h:76
void fsh_err_est_elem_loop()
postprocesses the loop over all elements of one type in the computation of the error estimator
Definition lagrange_dirac_source.h:206
DiracSourceDisc(const char *functions="", const char *subsets="")
Constructor with c-strings.
Definition lagrange_dirac_source.h:97
void add_transport_sink(SmartPtr< UserData< number, dim > > snkData)
Setting a scaling factor for the flux.
Definition lagrange_dirac_source_impl.h:74
SmartPtr< DataExport< number, dim > > m_exRate
Export for the concentration.
Definition lagrange_dirac_source.h:224
SmartPtr< CplUserData< number, dim > > NumberExport
Definition lagrange_dirac_source.h:220
void prep_err_est_elem(const LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[])
prepares the element for assembling the error estimator
Definition lagrange_dirac_source.h:196
void register_all_funcs()
Definition lagrange_dirac_source_impl.h:175
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 lagrange_dirac_source_impl.h:133
DiracSourceDisc(const std::vector< std::string > &functions, const std::vector< std::string > &subsets)
Constructor with functions.
Definition lagrange_dirac_source.h:104
base_type::position_type position_type
Position type.
Definition lagrange_dirac_source.h:87
void fsh_elem_loop()
finishes the loop over all elements
Definition lagrange_dirac_source.h:162
void add_rhs_elem(LocalVector &rhs, GridObject *elem, const MathVector< dim > vCornerCoords[])
assembles the local right hand side
Definition lagrange_dirac_source_impl.h:147
bool m_bNonRegularGrid
Definition lagrange_dirac_source.h:227
The base class for all geometric objects, such as vertices, edges, faces, volumes,...
Definition grid_base_objects.h:157
Definition elem_disc_interface.h:800
Definition local_algebra.h:422
Definition local_algebra.h:198
a mathematical Vector with N entries.
Definition math_vector.h:97
Type based UserData.
Definition user_data.h:144
#define UG_THROW(msg)
Definition error.h:57
double number
Definition types.h:124
ReferenceObjectID
these ids are used to identify the shape of a geometric object.
Definition grid_base_objects.h:74