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__
48 #include <boost/function.hpp>
70 template<
typename TDomain>
85 static const int _C_ = 0;
105 DiracSourceDisc(
const std::vector<std::string>& functions,
const std::vector<std::string>& subsets)
133 virtual void prepare_setting(
const std::vector<LFEID>& vLfeID,
bool bNonRegularGrid);
147 template<
typename TElem,
typename TFVGeom>
157 template<
typename TElem,
typename TFVGeom>
162 template<
typename TElem,
typename TFVGeom>
167 template<
typename TElem,
typename TFVGeom>
171 template<
typename TElem,
typename TFVGeom>
176 template<
typename TElem,
typename TFVGeom>
180 template<
typename TElem,
typename TFVGeom>
185 template<
typename TElem,
typename TFVGeom>
191 template <
typename TElem,
typename TFVGeom>
196 template <
typename TElem,
typename TFVGeom>
201 template <
typename TElem,
typename TFVGeom>
206 template <
typename TElem,
typename TFVGeom>
218 template <
typename TElem,
typename TFVGeom>
Definition: smart_pointer.h:108
Definition: lagrange_dirac_source.h:73
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:202
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:172
SmartPtr< UserData< number, dim > > m_snkTransportData
Definition: lagrange_dirac_source.h:212
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:181
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:158
virtual ~DiracSourceDisc()
Destructor.
Definition: lagrange_dirac_source.h:112
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:192
void prep_elem_loop(const ReferenceObjectID roid, const int si)
prepares the loop over all elements
Definition: lagrange_dirac_source.h:148
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:83
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:85
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:213
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:211
void register_func()
Definition: lagrange_dirac_source_impl.h:187
base_type::domain_type domain_type
Domain type.
Definition: lagrange_dirac_source.h:80
DiracSourceDisc< TDomain > this_type
own type
Definition: lagrange_dirac_source.h:92
IElemDisc< TDomain > base_type
Base class type.
Definition: lagrange_dirac_source.h:77
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:207
DiracSourceDisc(const char *functions="", const char *subsets="")
Constructor with c-strings.
Definition: lagrange_dirac_source.h:98
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:225
SmartPtr< CplUserData< number, dim > > NumberExport
Definition: lagrange_dirac_source.h:221
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:197
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:105
base_type::position_type position_type
Position type.
Definition: lagrange_dirac_source.h:88
void fsh_elem_loop()
finishes the loop over all elements
Definition: lagrange_dirac_source.h:163
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:228
The base class for all geometric objects, such as vertices, edges, faces, volumes,...
Definition: grid_base_objects.h:157
TDomain::position_type position_type
Position type.
Definition: elem_disc_interface.h:479
Definition: elem_disc_interface.h:800
static const int dim
Definition: elem_disc_interface.h:803
TDomain domain_type
Definition: elem_disc_interface.h:802
Definition: local_algebra.h:422
Definition: local_algebra.h:198
Type based UserData.
Definition: user_data.h:143
#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