ug4
ug::IElemAssembleFuncs< TLeaf, TDomain > Class Template Reference

This class encapsulates all functions related to error estimation. More...

#include <elem_disc_interface.h>

Public Types

typedef TDomain domain_type
 Domain type. More...
 
typedef TLeaf leaf_type
 Barton Nackman trick (TODO: needed?) More...
 

Public Member Functions

virtual void add_def_A_elem (LocalVector &d, const LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[])
 virtual Assembling of Defect (Stiffness part) More...
 
virtual void add_def_A_expl_elem (LocalVector &d, const LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[])
 defect for explicit terms More...
 
virtual void add_def_M_elem (LocalVector &d, const LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[])
 virtual Assembling of Defect (Mass part) More...
 
virtual void add_jac_A_elem (LocalMatrix &J, const LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[])
 Assembling of Jacobian (Stiffness part) More...
 
virtual void add_jac_M_elem (LocalMatrix &J, const LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[])
 Assembling of Jacobian (Mass part) More...
 
virtual void add_rhs_elem (LocalVector &rhs, GridObject *elem, const MathVector< dim > vCornerCoords[])
 virtual Assembling of Right-Hand Side More...
 
TLeaf & asLeaf ()
 
virtual void fsh_elem_loop ()
 virtual postprocesses the loop over all elements of one type More...
 
virtual void fsh_timestep (number time, VectorProxyBase *u)
 finish the time step More...
 
virtual void fsh_timestep_elem (const number time, const LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[])
 virtual finish the time step element-wise More...
 
 IElemAssembleFuncs ()
 constructor More...
 
virtual void post_assemble_loop ()
 virtual prepares the loop over all elements of one type More...
 
virtual void prep_assemble_loop ()
 virtual prepares the loop over all elements of one type More...
 
virtual void prep_elem (const LocalVector &u, GridObject *elem, const ReferenceObjectID roid, const MathVector< dim > vCornerCoords[])
 virtual prepare one elements for assembling More...
 
virtual void prep_elem_loop (const ReferenceObjectID roid, const int si)
 virtual prepares the loop over all elements of one type More...
 
virtual void prep_timestep (number future_time, number time, VectorProxyBase *u)
 prepare the time step More...
 
virtual void prep_timestep_elem (const number time, const LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[])
 prepare the time step element-wise More...
 
virtual ~IElemAssembleFuncs ()
 Virtual destructor. More...
 

Static Public Attributes

static const int dim = TDomain::dim
 World dimension. More...
 
typedef IElemAssembleFuncs< TLeaf, TDomain > T
 current Geometric Object More...
 
typedef void(T::* PrepareTimestepFct) (number, number, VectorProxyBase *)
 current Geometric Object More...
 
typedef void(T::* PrepareTimestepElemFct) (number, const LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[])
 current Geometric Object More...
 
typedef void(T::* FinishTimestepFct) (number, VectorProxyBase *)
 current Geometric Object More...
 
typedef void(T::* FinishTimestepElemFct) (number, const LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[])
 current Geometric Object More...
 
typedef void(T::* PrepareElemLoopFct) (ReferenceObjectID roid, int si)
 current Geometric Object More...
 
typedef void(T::* PrepareElemFct) (const LocalVector &u, GridObject *elem, const ReferenceObjectID roid, const MathVector< dim > vCornerCoords[])
 current Geometric Object More...
 
typedef void(T::* FinishElemLoopFct) ()
 current Geometric Object More...
 
typedef void(T::* ElemJAFct) (LocalMatrix &J, const LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[])
 current Geometric Object More...
 
typedef void(T::* ElemJMFct) (LocalMatrix &J, const LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[])
 current Geometric Object More...
 
typedef void(T::* ElemdAFct) (LocalVector &d, const LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[])
 current Geometric Object More...
 
typedef void(T::* ElemdMFct) (LocalVector &d, const LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[])
 current Geometric Object More...
 
typedef void(T::* ElemRHSFct) (LocalVector &rhs, GridObject *elem, const MathVector< dim > vCornerCoords[])
 current Geometric Object More...
 
PrepareTimestepFct m_vPrepareTimestepFct [bridge::NUM_ALGEBRA_TYPES]
 current Geometric Object More...
 
PrepareTimestepElemFct m_vPrepareTimestepElemFct [NUM_REFERENCE_OBJECTS]
 current Geometric Object More...
 
FinishTimestepFct m_vFinishTimestepFct [bridge::NUM_ALGEBRA_TYPES]
 current Geometric Object More...
 
FinishTimestepElemFct m_vFinishTimestepElemFct [NUM_REFERENCE_OBJECTS]
 current Geometric Object More...
 
PrepareElemLoopFct m_vPrepareElemLoopFct [NUM_REFERENCE_OBJECTS]
 current Geometric Object More...
 
PrepareElemFct m_vPrepareElemFct [NUM_REFERENCE_OBJECTS]
 current Geometric Object More...
 
FinishElemLoopFct m_vFinishElemLoopFct [NUM_REFERENCE_OBJECTS]
 current Geometric Object More...
 
ElemJAFct m_vElemJAFct [NUM_REFERENCE_OBJECTS]
 current Geometric Object More...
 
ElemJMFct m_vElemJMFct [NUM_REFERENCE_OBJECTS]
 current Geometric Object More...
 
ElemdAFct m_vElemdAFct [NUM_REFERENCE_OBJECTS]
 current Geometric Object More...
 
ElemdAFct m_vElemdAExplFct [NUM_REFERENCE_OBJECTS]
 current Geometric Object More...
 
ElemdMFct m_vElemdMFct [NUM_REFERENCE_OBJECTS]
 current Geometric Object More...
 
ElemRHSFct m_vElemRHSFct [NUM_REFERENCE_OBJECTS]
 current Geometric Object More...
 
ReferenceObjectID m_roid
 current Geometric Object More...
 
void do_prep_timestep (number future_time, const number time, VectorProxyBase *u, size_t algebra_id)
 
void do_prep_timestep_elem (const number time, LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[])
 current Geometric Object More...
 
void do_prep_elem_loop (const ReferenceObjectID roid, const int si)
 current Geometric Object More...
 
void do_prep_elem (LocalVector &u, GridObject *elem, const ReferenceObjectID roid, const MathVector< dim > vCornerCoords[])
 current Geometric Object More...
 
void do_fsh_elem_loop ()
 current Geometric Object More...
 
void do_fsh_timestep (const number time, VectorProxyBase *u, size_t algebra_id)
 current Geometric Object More...
 
void do_fsh_timestep_elem (const number time, LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[])
 current Geometric Object More...
 
void do_add_jac_A_elem (LocalMatrix &J, LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[])
 current Geometric Object More...
 
void do_add_jac_M_elem (LocalMatrix &J, LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[])
 current Geometric Object More...
 
void do_add_def_A_elem (LocalVector &d, LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[])
 current Geometric Object More...
 
void do_add_def_A_expl_elem (LocalVector &d, LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[])
 current Geometric Object More...
 
void do_add_def_M_elem (LocalVector &d, LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[])
 current Geometric Object More...
 
void do_add_rhs_elem (LocalVector &rhs, GridObject *elem, const MathVector< dim > vCornerCoords[])
 current Geometric Object More...
 
void set_roid (ReferenceObjectID id, int discType)
 sets the geometric object type More...
 
void check_roid (ReferenceObjectID roid, int discType)
 check, if all inputs have been set More...
 
template<typename TAssFunc >
void set_prep_timestep_fct (size_t algebra_id, TAssFunc func)
 current Geometric Object More...
 
template<typename TAssFunc >
void set_prep_timestep_elem_fct (ReferenceObjectID id, TAssFunc func)
 current Geometric Object More...
 
template<typename TAssFunc >
void set_fsh_timestep_fct (size_t algebra_id, TAssFunc func)
 current Geometric Object More...
 
template<typename TAssFunc >
void set_fsh_timestep_elem_fct (ReferenceObjectID id, TAssFunc func)
 current Geometric Object More...
 
template<typename TAssFunc >
void set_prep_elem_loop_fct (ReferenceObjectID id, TAssFunc func)
 current Geometric Object More...
 
template<typename TAssFunc >
void set_prep_elem_fct (ReferenceObjectID id, TAssFunc func)
 current Geometric Object More...
 
template<typename TAssFunc >
void set_fsh_elem_loop_fct (ReferenceObjectID id, TAssFunc func)
 current Geometric Object More...
 
template<typename TAssFunc >
void set_add_jac_A_elem_fct (ReferenceObjectID id, TAssFunc func)
 current Geometric Object More...
 
template<typename TAssFunc >
void set_add_jac_M_elem_fct (ReferenceObjectID id, TAssFunc func)
 current Geometric Object More...
 
template<typename TAssFunc >
void set_add_def_A_elem_fct (ReferenceObjectID id, TAssFunc func)
 current Geometric Object More...
 
template<typename TAssFunc >
void set_add_def_A_expl_elem_fct (ReferenceObjectID id, TAssFunc func)
 current Geometric Object More...
 
template<typename TAssFunc >
void set_add_def_M_elem_fct (ReferenceObjectID id, TAssFunc func)
 current Geometric Object More...
 
template<typename TAssFunc >
void set_add_rhs_elem_fct (ReferenceObjectID id, TAssFunc func)
 current Geometric Object More...
 
void remove_prep_timestep_fct (size_t algebra_id)
 current Geometric Object More...
 
void remove_prep_timestep_elem_fct (ReferenceObjectID id)
 current Geometric Object More...
 
void remove_fsh_timestep_fct (size_t algebra_id)
 current Geometric Object More...
 
void remove_fsh_timestep_elem_fct (ReferenceObjectID id)
 current Geometric Object More...
 
void remove_prep_elem_loop_fct (ReferenceObjectID id)
 current Geometric Object More...
 
void remove_prep_elem_fct (ReferenceObjectID id)
 current Geometric Object More...
 
void remove_fsh_elem_loop_fct (ReferenceObjectID id)
 current Geometric Object More...
 
void remove_add_jac_A_elem_fct (ReferenceObjectID id)
 current Geometric Object More...
 
void remove_add_jac_M_elem_fct (ReferenceObjectID id)
 current Geometric Object More...
 
void remove_add_def_A_elem_fct (ReferenceObjectID id)
 current Geometric Object More...
 
void remove_add_def_A_expl_elem_fct (ReferenceObjectID id)
 current Geometric Object More...
 
void remove_add_def_M_elem_fct (ReferenceObjectID id)
 current Geometric Object More...
 
void remove_add_rhs_elem_fct (ReferenceObjectID id)
 current Geometric Object More...
 
void set_default_add_fct ()
 sets all assemble functions to the corresponding virtual ones More...
 
void clear_add_fct (ReferenceObjectID id)
 sets all assemble functions to NULL for a given ReferenceObjectID More...
 
void clear_add_fct ()
 sets all assemble functions to NULL (for all ReferenceObjectID's) More...
 

Detailed Description

template<typename TLeaf, typename TDomain>
class ug::IElemAssembleFuncs< TLeaf, TDomain >

This class encapsulates all functions related to error estimation.

Member Typedef Documentation

◆ domain_type

template<typename TLeaf , typename TDomain >
typedef TDomain ug::IElemAssembleFuncs< TLeaf, TDomain >::domain_type

Domain type.

◆ ElemdAFct

template<typename TLeaf , typename TDomain >
typedef void(T::* ug::IElemAssembleFuncs< TLeaf, TDomain >::ElemdAFct) (LocalVector &d, const LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[])
private

current Geometric Object

◆ ElemdMFct

template<typename TLeaf , typename TDomain >
typedef void(T::* ug::IElemAssembleFuncs< TLeaf, TDomain >::ElemdMFct) (LocalVector &d, const LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[])
private

current Geometric Object

◆ ElemJAFct

template<typename TLeaf , typename TDomain >
typedef void(T::* ug::IElemAssembleFuncs< TLeaf, TDomain >::ElemJAFct) (LocalMatrix &J, const LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[])
private

current Geometric Object

◆ ElemJMFct

template<typename TLeaf , typename TDomain >
typedef void(T::* ug::IElemAssembleFuncs< TLeaf, TDomain >::ElemJMFct) (LocalMatrix &J, const LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[])
private

current Geometric Object

◆ ElemRHSFct

template<typename TLeaf , typename TDomain >
typedef void(T::* ug::IElemAssembleFuncs< TLeaf, TDomain >::ElemRHSFct) (LocalVector &rhs, GridObject *elem, const MathVector< dim > vCornerCoords[])
private

current Geometric Object

◆ FinishElemLoopFct

template<typename TLeaf , typename TDomain >
typedef void(T::* ug::IElemAssembleFuncs< TLeaf, TDomain >::FinishElemLoopFct) ()
private

current Geometric Object

◆ FinishTimestepElemFct

template<typename TLeaf , typename TDomain >
typedef void(T::* ug::IElemAssembleFuncs< TLeaf, TDomain >::FinishTimestepElemFct) (number, const LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[])
private

current Geometric Object

◆ FinishTimestepFct

template<typename TLeaf , typename TDomain >
typedef void(T::* ug::IElemAssembleFuncs< TLeaf, TDomain >::FinishTimestepFct) (number, VectorProxyBase *)
private

current Geometric Object

◆ leaf_type

template<typename TLeaf , typename TDomain >
typedef TLeaf ug::IElemAssembleFuncs< TLeaf, TDomain >::leaf_type

Barton Nackman trick (TODO: needed?)

◆ PrepareElemFct

template<typename TLeaf , typename TDomain >
typedef void(T::* ug::IElemAssembleFuncs< TLeaf, TDomain >::PrepareElemFct) (const LocalVector &u, GridObject *elem, const ReferenceObjectID roid, const MathVector< dim > vCornerCoords[])
private

current Geometric Object

◆ PrepareElemLoopFct

template<typename TLeaf , typename TDomain >
typedef void(T::* ug::IElemAssembleFuncs< TLeaf, TDomain >::PrepareElemLoopFct) (ReferenceObjectID roid, int si)
private

current Geometric Object

◆ PrepareTimestepElemFct

template<typename TLeaf , typename TDomain >
typedef void(T::* ug::IElemAssembleFuncs< TLeaf, TDomain >::PrepareTimestepElemFct) (number, const LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[])
private

current Geometric Object

◆ PrepareTimestepFct

template<typename TLeaf , typename TDomain >
typedef void(T::* ug::IElemAssembleFuncs< TLeaf, TDomain >::PrepareTimestepFct) (number, number, VectorProxyBase *)
private

current Geometric Object

◆ T

template<typename TLeaf , typename TDomain >
typedef IElemAssembleFuncs<TLeaf, TDomain> ug::IElemAssembleFuncs< TLeaf, TDomain >::T
private

current Geometric Object

Constructor & Destructor Documentation

◆ IElemAssembleFuncs()

template<typename TLeaf , typename TDomain >
ug::IElemAssembleFuncs< TLeaf, TDomain >::IElemAssembleFuncs ( )
inline

◆ ~IElemAssembleFuncs()

template<typename TLeaf , typename TDomain >
virtual ug::IElemAssembleFuncs< TLeaf, TDomain >::~IElemAssembleFuncs ( )
inlinevirtual

Virtual destructor.

Member Function Documentation

◆ add_def_A_elem()

◆ add_def_A_expl_elem()

template<typename TLeaf , typename TDomain >
void ug::IElemAssembleFuncs< TLeaf, TDomain >::add_def_A_expl_elem ( LocalVector d,
const LocalVector u,
GridObject elem,
const MathVector< dim vCornerCoords[] 
)
virtual

defect for explicit terms

Reimplemented in ug::ConvectionDiffusionPlugin::ConvectionDiffusionFV1< class >.

◆ add_def_M_elem()

template<typename TLeaf , typename TDomain >
void ug::IElemAssembleFuncs< TLeaf, TDomain >::add_def_M_elem ( LocalVector d,
const LocalVector u,
GridObject elem,
const MathVector< dim vCornerCoords[] 
)
virtual

◆ add_jac_A_elem()

◆ add_jac_M_elem()

template<typename TLeaf , typename TDomain >
void ug::IElemAssembleFuncs< TLeaf, TDomain >::add_jac_M_elem ( LocalMatrix J,
const LocalVector u,
GridObject elem,
const MathVector< dim vCornerCoords[] 
)
virtual

◆ add_rhs_elem()

template<typename TLeaf , typename TDomain >
void ug::IElemAssembleFuncs< TLeaf, TDomain >::add_rhs_elem ( LocalVector rhs,
GridObject elem,
const MathVector< dim vCornerCoords[] 
)
virtual

◆ asLeaf()

template<typename TLeaf , typename TDomain >
TLeaf& ug::IElemAssembleFuncs< TLeaf, TDomain >::asLeaf ( )
inline

◆ check_roid()

template<typename TLeaf , typename TDomain >
void ug::IElemAssembleFuncs< TLeaf, TDomain >::check_roid ( ReferenceObjectID  roid,
int  discType 
)

check, if all inputs have been set

References dim, ug::MASS, ug::RHS, ug::STIFF, and UG_THROW.

◆ clear_add_fct() [1/2]

template<typename TLeaf , typename TDomain >
void ug::IElemAssembleFuncs< TLeaf, TDomain >::clear_add_fct
protected

sets all assemble functions to NULL (for all ReferenceObjectID's)

◆ clear_add_fct() [2/2]

template<typename TLeaf , typename TDomain >
void ug::IElemAssembleFuncs< TLeaf, TDomain >::clear_add_fct ( ReferenceObjectID  id)
protected

sets all assemble functions to NULL for a given ReferenceObjectID

◆ do_add_def_A_elem()

template<typename TLeaf , typename TDomain >
void ug::IElemAssembleFuncs< TLeaf, TDomain >::do_add_def_A_elem ( LocalVector d,
LocalVector u,
GridObject elem,
const MathVector< dim vCornerCoords[] 
)

current Geometric Object

References ug::LocalVector::access_by_map(), and UG_ASSERT.

◆ do_add_def_A_expl_elem()

template<typename TLeaf , typename TDomain >
void ug::IElemAssembleFuncs< TLeaf, TDomain >::do_add_def_A_expl_elem ( LocalVector d,
LocalVector u,
GridObject elem,
const MathVector< dim vCornerCoords[] 
)

current Geometric Object

References ug::LocalVector::access_by_map().

◆ do_add_def_M_elem()

template<typename TLeaf , typename TDomain >
void ug::IElemAssembleFuncs< TLeaf, TDomain >::do_add_def_M_elem ( LocalVector d,
LocalVector u,
GridObject elem,
const MathVector< dim vCornerCoords[] 
)

current Geometric Object

References ug::LocalVector::access_by_map(), and UG_ASSERT.

◆ do_add_jac_A_elem()

template<typename TLeaf , typename TDomain >
void ug::IElemAssembleFuncs< TLeaf, TDomain >::do_add_jac_A_elem ( LocalMatrix J,
LocalVector u,
GridObject elem,
const MathVector< dim vCornerCoords[] 
)

◆ do_add_jac_M_elem()

template<typename TLeaf , typename TDomain >
void ug::IElemAssembleFuncs< TLeaf, TDomain >::do_add_jac_M_elem ( LocalMatrix J,
LocalVector u,
GridObject elem,
const MathVector< dim vCornerCoords[] 
)

◆ do_add_rhs_elem()

template<typename TLeaf , typename TDomain >
void ug::IElemAssembleFuncs< TLeaf, TDomain >::do_add_rhs_elem ( LocalVector rhs,
GridObject elem,
const MathVector< dim vCornerCoords[] 
)

current Geometric Object

References ug::LocalVector::access_by_map(), and UG_ASSERT.

◆ do_fsh_elem_loop()

template<typename TLeaf , typename TDomain >
void ug::IElemAssembleFuncs< TLeaf, TDomain >::do_fsh_elem_loop

current Geometric Object

References UG_ASSERT.

◆ do_fsh_timestep()

template<typename TLeaf , typename TDomain >
void ug::IElemAssembleFuncs< TLeaf, TDomain >::do_fsh_timestep ( const number  time,
VectorProxyBase u,
size_t  algebra_id 
)

current Geometric Object

◆ do_fsh_timestep_elem()

template<typename TLeaf , typename TDomain >
void ug::IElemAssembleFuncs< TLeaf, TDomain >::do_fsh_timestep_elem ( const number  time,
LocalVector u,
GridObject elem,
const MathVector< dim vCornerCoords[] 
)

current Geometric Object

References ug::LocalVector::access_by_map().

◆ do_prep_elem()

template<typename TLeaf , typename TDomain >
void ug::IElemAssembleFuncs< TLeaf, TDomain >::do_prep_elem ( LocalVector u,
GridObject elem,
const ReferenceObjectID  roid,
const MathVector< dim vCornerCoords[] 
)

current Geometric Object

References ug::LocalVector::access_by_map(), and UG_ASSERT.

◆ do_prep_elem_loop()

template<typename TLeaf , typename TDomain >
void ug::IElemAssembleFuncs< TLeaf, TDomain >::do_prep_elem_loop ( const ReferenceObjectID  roid,
const int  si 
)

current Geometric Object

References UG_ASSERT.

◆ do_prep_timestep()

template<typename TLeaf , typename TDomain >
void ug::IElemAssembleFuncs< TLeaf, TDomain >::do_prep_timestep ( number  future_time,
const number  time,
VectorProxyBase u,
size_t  algebra_id 
)

function dispatching call to implementation

◆ do_prep_timestep_elem()

template<typename TLeaf , typename TDomain >
void ug::IElemAssembleFuncs< TLeaf, TDomain >::do_prep_timestep_elem ( const number  time,
LocalVector u,
GridObject elem,
const MathVector< dim vCornerCoords[] 
)

current Geometric Object

References ug::LocalVector::access_by_map().

◆ fsh_elem_loop()

◆ fsh_timestep()

template<typename TLeaf , typename TDomain >
void ug::IElemAssembleFuncs< TLeaf, TDomain >::fsh_timestep ( number  time,
VectorProxyBase u 
)
virtual

finish the time step

◆ fsh_timestep_elem()

template<typename TLeaf , typename TDomain >
void ug::IElemAssembleFuncs< TLeaf, TDomain >::fsh_timestep_elem ( const number  time,
const LocalVector u,
GridObject elem,
const MathVector< dim vCornerCoords[] 
)
virtual

virtual finish the time step element-wise

Reimplemented in ug::SmallStrainMechanics::SmallStrainMechanicsElemDisc< class >.

◆ post_assemble_loop()

template<typename TLeaf , typename TDomain >
virtual void ug::IElemAssembleFuncs< TLeaf, TDomain >::post_assemble_loop ( )
inlinevirtual

virtual prepares the loop over all elements of one type

◆ prep_assemble_loop()

template<typename TLeaf , typename TDomain >
virtual void ug::IElemAssembleFuncs< TLeaf, TDomain >::prep_assemble_loop ( )
inlinevirtual

virtual prepares the loop over all elements of one type

Reimplemented in ug::ConvectionDiffusionPlugin::ConvectionDiffusionFV1< class >.

◆ prep_elem()

template<typename TLeaf , typename TDomain >
void ug::IElemAssembleFuncs< TLeaf, TDomain >::prep_elem ( const LocalVector u,
GridObject elem,
const ReferenceObjectID  roid,
const MathVector< dim vCornerCoords[] 
)
virtual

◆ prep_elem_loop()

◆ prep_timestep()

template<typename TLeaf , typename TDomain >
void ug::IElemAssembleFuncs< TLeaf, TDomain >::prep_timestep ( number  future_time,
number  time,
VectorProxyBase u 
)
virtual

prepare the time step

Reimplemented in ug::FV1InnerBoundaryElemDisc< TImpl, TDomain >.

◆ prep_timestep_elem()

template<typename TLeaf , typename TDomain >
void ug::IElemAssembleFuncs< TLeaf, TDomain >::prep_timestep_elem ( const number  time,
const LocalVector u,
GridObject elem,
const MathVector< dim vCornerCoords[] 
)
virtual

◆ remove_add_def_A_elem_fct()

template<typename TLeaf , typename TDomain >
void ug::IElemAssembleFuncs< TLeaf, TDomain >::remove_add_def_A_elem_fct ( ReferenceObjectID  id)
protected

current Geometric Object

◆ remove_add_def_A_expl_elem_fct()

template<typename TLeaf , typename TDomain >
void ug::IElemAssembleFuncs< TLeaf, TDomain >::remove_add_def_A_expl_elem_fct ( ReferenceObjectID  id)
protected

current Geometric Object

◆ remove_add_def_M_elem_fct()

template<typename TLeaf , typename TDomain >
void ug::IElemAssembleFuncs< TLeaf, TDomain >::remove_add_def_M_elem_fct ( ReferenceObjectID  id)
protected

current Geometric Object

◆ remove_add_jac_A_elem_fct()

template<typename TLeaf , typename TDomain >
void ug::IElemAssembleFuncs< TLeaf, TDomain >::remove_add_jac_A_elem_fct ( ReferenceObjectID  id)
protected

current Geometric Object

◆ remove_add_jac_M_elem_fct()

template<typename TLeaf , typename TDomain >
void ug::IElemAssembleFuncs< TLeaf, TDomain >::remove_add_jac_M_elem_fct ( ReferenceObjectID  id)
protected

current Geometric Object

◆ remove_add_rhs_elem_fct()

template<typename TLeaf , typename TDomain >
void ug::IElemAssembleFuncs< TLeaf, TDomain >::remove_add_rhs_elem_fct ( ReferenceObjectID  id)
protected

current Geometric Object

◆ remove_fsh_elem_loop_fct()

template<typename TLeaf , typename TDomain >
void ug::IElemAssembleFuncs< TLeaf, TDomain >::remove_fsh_elem_loop_fct ( ReferenceObjectID  id)
protected

current Geometric Object

◆ remove_fsh_timestep_elem_fct()

template<typename TLeaf , typename TDomain >
void ug::IElemAssembleFuncs< TLeaf, TDomain >::remove_fsh_timestep_elem_fct ( ReferenceObjectID  id)
protected

current Geometric Object

◆ remove_fsh_timestep_fct()

template<typename TLeaf , typename TDomain >
void ug::IElemAssembleFuncs< TLeaf, TDomain >::remove_fsh_timestep_fct ( size_t  algebra_id)
protected

current Geometric Object

◆ remove_prep_elem_fct()

template<typename TLeaf , typename TDomain >
void ug::IElemAssembleFuncs< TLeaf, TDomain >::remove_prep_elem_fct ( ReferenceObjectID  id)
protected

current Geometric Object

◆ remove_prep_elem_loop_fct()

template<typename TLeaf , typename TDomain >
void ug::IElemAssembleFuncs< TLeaf, TDomain >::remove_prep_elem_loop_fct ( ReferenceObjectID  id)
protected

current Geometric Object

◆ remove_prep_timestep_elem_fct()

template<typename TLeaf , typename TDomain >
void ug::IElemAssembleFuncs< TLeaf, TDomain >::remove_prep_timestep_elem_fct ( ReferenceObjectID  id)
protected

current Geometric Object

◆ remove_prep_timestep_fct()

template<typename TLeaf , typename TDomain >
void ug::IElemAssembleFuncs< TLeaf, TDomain >::remove_prep_timestep_fct ( size_t  algebra_id)
protected

current Geometric Object

◆ set_add_def_A_elem_fct()

template<typename TLeaf , typename TDomain >
template<typename TAssFunc >
void ug::IElemAssembleFuncs< TLeaf, TDomain >::set_add_def_A_elem_fct ( ReferenceObjectID  id,
TAssFunc  func 
)
protected

current Geometric Object

References func().

◆ set_add_def_A_expl_elem_fct()

template<typename TLeaf , typename TDomain >
template<typename TAssFunc >
void ug::IElemAssembleFuncs< TLeaf, TDomain >::set_add_def_A_expl_elem_fct ( ReferenceObjectID  id,
TAssFunc  func 
)
protected

current Geometric Object

References func().

◆ set_add_def_M_elem_fct()

template<typename TLeaf , typename TDomain >
template<typename TAssFunc >
void ug::IElemAssembleFuncs< TLeaf, TDomain >::set_add_def_M_elem_fct ( ReferenceObjectID  id,
TAssFunc  func 
)
protected

current Geometric Object

References func().

◆ set_add_jac_A_elem_fct()

template<typename TLeaf , typename TDomain >
template<typename TAssFunc >
void ug::IElemAssembleFuncs< TLeaf, TDomain >::set_add_jac_A_elem_fct ( ReferenceObjectID  id,
TAssFunc  func 
)
protected

current Geometric Object

References func().

◆ set_add_jac_M_elem_fct()

template<typename TLeaf , typename TDomain >
template<typename TAssFunc >
void ug::IElemAssembleFuncs< TLeaf, TDomain >::set_add_jac_M_elem_fct ( ReferenceObjectID  id,
TAssFunc  func 
)
protected

current Geometric Object

References func().

◆ set_add_rhs_elem_fct()

template<typename TLeaf , typename TDomain >
template<typename TAssFunc >
void ug::IElemAssembleFuncs< TLeaf, TDomain >::set_add_rhs_elem_fct ( ReferenceObjectID  id,
TAssFunc  func 
)
protected

current Geometric Object

References func().

◆ set_default_add_fct()

template<typename TLeaf , typename TDomain >
void ug::IElemAssembleFuncs< TLeaf, TDomain >::set_default_add_fct
protected

sets all assemble functions to the corresponding virtual ones

Referenced by ug::IElemAssembleFuncs< TLeaf, TDomain >::IElemAssembleFuncs().

◆ set_fsh_elem_loop_fct()

template<typename TLeaf , typename TDomain >
template<typename TAssFunc >
void ug::IElemAssembleFuncs< TLeaf, TDomain >::set_fsh_elem_loop_fct ( ReferenceObjectID  id,
TAssFunc  func 
)
protected

current Geometric Object

References func().

◆ set_fsh_timestep_elem_fct()

template<typename TLeaf , typename TDomain >
template<typename TAssFunc >
void ug::IElemAssembleFuncs< TLeaf, TDomain >::set_fsh_timestep_elem_fct ( ReferenceObjectID  id,
TAssFunc  func 
)
protected

current Geometric Object

References func().

◆ set_fsh_timestep_fct()

template<typename TLeaf , typename TDomain >
template<typename TAssFunc >
void ug::IElemAssembleFuncs< TLeaf, TDomain >::set_fsh_timestep_fct ( size_t  algebra_id,
TAssFunc  func 
)
protected

current Geometric Object

References func().

◆ set_prep_elem_fct()

template<typename TLeaf , typename TDomain >
template<typename TAssFunc >
void ug::IElemAssembleFuncs< TLeaf, TDomain >::set_prep_elem_fct ( ReferenceObjectID  id,
TAssFunc  func 
)
protected

current Geometric Object

References func().

◆ set_prep_elem_loop_fct()

template<typename TLeaf , typename TDomain >
template<typename TAssFunc >
void ug::IElemAssembleFuncs< TLeaf, TDomain >::set_prep_elem_loop_fct ( ReferenceObjectID  id,
TAssFunc  func 
)
protected

current Geometric Object

References func().

◆ set_prep_timestep_elem_fct()

template<typename TLeaf , typename TDomain >
template<typename TAssFunc >
void ug::IElemAssembleFuncs< TLeaf, TDomain >::set_prep_timestep_elem_fct ( ReferenceObjectID  id,
TAssFunc  func 
)
protected

current Geometric Object

References func().

◆ set_prep_timestep_fct()

template<typename TLeaf , typename TDomain >
template<typename TAssFunc >
void ug::IElemAssembleFuncs< TLeaf, TDomain >::set_prep_timestep_fct ( size_t  algebra_id,
TAssFunc  func 
)
protected

current Geometric Object

References func().

◆ set_roid()

template<typename TLeaf , typename TDomain >
void ug::IElemAssembleFuncs< TLeaf, TDomain >::set_roid ( ReferenceObjectID  id,
int  discType 
)

sets the geometric object type

This functions set the geometric object type of the object, that is assembled next. The user has to call this function before most of the assembling routines can be called. Keep in mind, that the elements are looped type by type, thus this function has to be called very few times.

References ug::ROID_UNKNOWN, and UG_THROW.

Member Data Documentation

◆ dim

template<typename TLeaf , typename TDomain >
const int ug::IElemAssembleFuncs< TLeaf, TDomain >::dim = TDomain::dim
static

World dimension.

◆ m_roid

template<typename TLeaf , typename TDomain >
ReferenceObjectID ug::IElemAssembleFuncs< TLeaf, TDomain >::m_roid
protected

current Geometric Object

◆ m_vElemdAExplFct

template<typename TLeaf , typename TDomain >
ElemdAFct ug::IElemAssembleFuncs< TLeaf, TDomain >::m_vElemdAExplFct[NUM_REFERENCE_OBJECTS]
private

current Geometric Object

◆ m_vElemdAFct

template<typename TLeaf , typename TDomain >
ElemdAFct ug::IElemAssembleFuncs< TLeaf, TDomain >::m_vElemdAFct[NUM_REFERENCE_OBJECTS]
private

current Geometric Object

◆ m_vElemdMFct

template<typename TLeaf , typename TDomain >
ElemdMFct ug::IElemAssembleFuncs< TLeaf, TDomain >::m_vElemdMFct[NUM_REFERENCE_OBJECTS]
private

current Geometric Object

◆ m_vElemJAFct

template<typename TLeaf , typename TDomain >
ElemJAFct ug::IElemAssembleFuncs< TLeaf, TDomain >::m_vElemJAFct[NUM_REFERENCE_OBJECTS]
private

current Geometric Object

◆ m_vElemJMFct

template<typename TLeaf , typename TDomain >
ElemJMFct ug::IElemAssembleFuncs< TLeaf, TDomain >::m_vElemJMFct[NUM_REFERENCE_OBJECTS]
private

current Geometric Object

◆ m_vElemRHSFct

template<typename TLeaf , typename TDomain >
ElemRHSFct ug::IElemAssembleFuncs< TLeaf, TDomain >::m_vElemRHSFct[NUM_REFERENCE_OBJECTS]
private

current Geometric Object

◆ m_vFinishElemLoopFct

template<typename TLeaf , typename TDomain >
FinishElemLoopFct ug::IElemAssembleFuncs< TLeaf, TDomain >::m_vFinishElemLoopFct[NUM_REFERENCE_OBJECTS]
private

current Geometric Object

◆ m_vFinishTimestepElemFct

template<typename TLeaf , typename TDomain >
FinishTimestepElemFct ug::IElemAssembleFuncs< TLeaf, TDomain >::m_vFinishTimestepElemFct[NUM_REFERENCE_OBJECTS]
private

current Geometric Object

◆ m_vFinishTimestepFct

template<typename TLeaf , typename TDomain >
FinishTimestepFct ug::IElemAssembleFuncs< TLeaf, TDomain >::m_vFinishTimestepFct[bridge::NUM_ALGEBRA_TYPES]
private

current Geometric Object

◆ m_vPrepareElemFct

template<typename TLeaf , typename TDomain >
PrepareElemFct ug::IElemAssembleFuncs< TLeaf, TDomain >::m_vPrepareElemFct[NUM_REFERENCE_OBJECTS]
private

current Geometric Object

◆ m_vPrepareElemLoopFct

template<typename TLeaf , typename TDomain >
PrepareElemLoopFct ug::IElemAssembleFuncs< TLeaf, TDomain >::m_vPrepareElemLoopFct[NUM_REFERENCE_OBJECTS]
private

current Geometric Object

◆ m_vPrepareTimestepElemFct

template<typename TLeaf , typename TDomain >
PrepareTimestepElemFct ug::IElemAssembleFuncs< TLeaf, TDomain >::m_vPrepareTimestepElemFct[NUM_REFERENCE_OBJECTS]
private

current Geometric Object

◆ m_vPrepareTimestepFct

template<typename TLeaf , typename TDomain >
PrepareTimestepFct ug::IElemAssembleFuncs< TLeaf, TDomain >::m_vPrepareTimestepFct[bridge::NUM_ALGEBRA_TYPES]
private

current Geometric Object


The documentation for this class was generated from the following files: