Plugins
|
Discretization for the Convection-Diffusion Equation. More...
#include <convection_diffusion_fe.h>
Classes | |
struct | ShapeValues |
struct holding values of shape functions in IPs More... | |
Public Member Functions | |
ConvectionDiffusionFE (const char *functions, const char *subsets) | |
Constructor. | |
virtual void | prepare_setting (const std::vector< LFEID > &vLfeID, bool bNonRegularGrid) |
type of trial space for each function used | |
void | set_quad_order (size_t order) |
sets the quad order | |
virtual bool | use_hanging () const |
returns if hanging nodes are needed | |
![]() | |
ConvectionDiffusionBase (const char *functions, const char *subsets) | |
Constructor. | |
virtual SmartPtr< CplUserData< MathVector< dim >, dim > > | gradient () |
returns the export of the gradient of associated unknown function | |
void | set_reaction_explicit (number val) |
void | set_reaction_explicit (SmartPtr< CplUserData< number, dim > > user) |
void | set_reaction_rate_explicit (number val) |
void | set_reaction_rate_explicit (SmartPtr< CplUserData< number, dim > > user) |
void | set_source_explicit (number val) |
void | set_source_explicit (SmartPtr< CplUserData< number, dim > > user) |
virtual SmartPtr< CplUserData< number, dim > > | value () |
returns the export of the value of associated unknown function | |
void | set_diffusion (SmartPtr< CplUserData< MathMatrix< dim, dim >, dim > > user) |
sets the diffusion tensor | |
void | set_diffusion (number val) |
sets the diffusion tensor | |
void | set_velocity (SmartPtr< CplUserData< MathVector< dim >, dim > > user) |
sets the velocity field | |
void | set_velocity (const std::vector< number > &vVel) |
sets the velocity field | |
void | set_flux (SmartPtr< CplUserData< MathVector< dim >, dim > > user) |
sets the flux | |
void | set_flux (const std::vector< number > &vVel) |
sets the flux | |
void | set_reaction_rate (SmartPtr< CplUserData< number, dim > > user) |
sets the reaction rate | |
void | set_reaction_rate (number val) |
sets the reaction rate | |
void | set_reaction (SmartPtr< CplUserData< number, dim > > user) |
sets the reaction | |
void | set_reaction (number val) |
sets the reaction | |
void | set_source (SmartPtr< CplUserData< number, dim > > user) |
sets the source / sink term | |
void | set_source (number val) |
sets the source / sink term | |
void | set_vector_source (SmartPtr< CplUserData< MathVector< dim >, dim > > user) |
sets the vector source term | |
void | set_vector_source (const std::vector< number > &vVel) |
sets the vector source term | |
void | set_mass_scale (SmartPtr< CplUserData< number, dim > > user) |
sets mass scale | |
void | set_mass_scale (number val) |
sets mass scale | |
void | set_mass (SmartPtr< CplUserData< number, dim > > user) |
sets mass | |
void | set_mass (number val) |
sets mass | |
![]() | |
void | add_elem_modifier (SmartPtr< IElemDiscModifier< TDomain > > elemModifier) |
std::vector< SmartPtr< IElemDiscModifier< TDomain > > > & | get_elem_modifier () |
IElemDisc (const char *functions, const char *subsets) | |
IElemDisc (const std::vector< std::string > &vFct, const std::vector< std::string > &vSubset) | |
![]() | |
virtual void | add_def_A_expl_elem (LocalVector &d, const LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[]) |
TLeaf & | asLeaf () |
void | check_roid (ReferenceObjectID roid, int discType) |
void | do_add_def_A_elem (LocalVector &d, LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[]) |
void | do_add_def_A_expl_elem (LocalVector &d, LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[]) |
void | do_add_def_M_elem (LocalVector &d, LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[]) |
void | do_add_jac_A_elem (LocalMatrix &J, LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[]) |
void | do_add_jac_M_elem (LocalMatrix &J, LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[]) |
void | do_add_rhs_elem (LocalVector &rhs, GridObject *elem, const MathVector< dim > vCornerCoords[]) |
void | do_fsh_elem_loop () |
void | do_fsh_timestep (const number time, VectorProxyBase *u, size_t algebra_id) |
void | do_fsh_timestep_elem (const number time, LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[]) |
void | do_prep_elem (LocalVector &u, GridObject *elem, const ReferenceObjectID roid, const MathVector< dim > vCornerCoords[]) |
void | do_prep_elem_loop (const ReferenceObjectID roid, const int si) |
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[]) |
virtual void | fsh_timestep (number time, VectorProxyBase *u) |
virtual void | fsh_timestep_elem (const number time, const LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[]) |
IElemAssembleFuncs () | |
virtual void | post_assemble_loop () |
virtual void | prep_assemble_loop () |
virtual void | prep_timestep (number future_time, number time, VectorProxyBase *u) |
virtual void | prep_timestep_elem (const number time, const LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[]) |
void | set_roid (ReferenceObjectID id, int discType) |
virtual | ~IElemAssembleFuncs () |
![]() | |
IElemError (const char *functions, const char *subsets) | |
IElemError (const std::vector< std::string > &vFct, const std::vector< std::string > &vSubset) | |
![]() | |
SmartPtr< ApproximationSpace< TDomain > > | approx_space () |
ConstSmartPtr< ApproximationSpace< TDomain > > | approx_space () const |
void | check_setup (bool bNonRegularGrid) |
void | clear_imports () |
SmartPtr< TDomain > | domain () |
ConstSmartPtr< TDomain > | domain () const |
const FunctionGroup & | function_group () const |
ConstSmartPtr< FunctionPattern > | function_pattern () const |
IDataImport< dim > & | get_import (size_t i) |
IElemDiscBase (const char *functions="", const char *subsets="") | |
IElemDiscBase (const std::vector< std::string > &vFct, const std::vector< std::string > &vSubset) | |
bool | is_time_dependent () const |
bool | local_time_series_needed () |
const LocalVectorTimeSeries * | local_time_solutions () const |
const FunctionIndexMapping & | map () const |
number | mass_scale () const |
number | mass_scale () const |
number | mass_scale (const size_t timePoint) const |
number | mass_scale (const size_t timePoint) const |
const std::vector< number > & | mass_scales () const |
const std::vector< number > & | mass_scales () const |
size_t | num_fct () const |
size_t | num_imports () const |
size_t | num_subsets () const |
void | register_import (IDataImport< dim > &Imp) |
void | set_approximation_space (SmartPtr< ApproximationSpace< TDomain > > approxSpace) |
void | set_functions (const std::string &functions) |
void | set_functions (const std::vector< std::string > &functions) |
void | set_stationary () |
void | set_stationary (bool bStationaryForced=true) |
void | set_subsets (const std::string &subsets) |
void | set_subsets (const std::vector< std::string > &subsets) |
void | set_time_dependent (LocalVectorTimeSeries &locTimeSeries, const std::vector< number > &vScaleMass, const std::vector< number > &vScaleStiff) |
void | set_time_independent () |
void | set_time_point (const size_t timePoint) |
number | stiff_scale () const |
number | stiff_scale () const |
number | stiff_scale (const size_t timePoint) const |
number | stiff_scale (const size_t timePoint) const |
const std::vector< number > & | stiff_scales () const |
const std::vector< number > & | stiff_scales () const |
TDomain::subset_handler_type & | subset_handler () |
const TDomain::subset_handler_type & | subset_handler () const |
const std::vector< std::string > & | symb_fcts () const |
const std::vector< std::string > & | symb_subsets () const |
number | time () const |
size_t | time_point () const |
virtual int | type () const |
virtual | ~IElemDiscBase () |
![]() | |
TLeaf & | asLeaf () |
void | check_roid (ReferenceObjectID roid, int discType) |
void | do_compute_err_est_A_elem (LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[], const number &scale) |
void | do_compute_err_est_M_elem (LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[], const number &scale) |
void | do_compute_err_est_rhs_elem (GridObject *elem, const MathVector< dim > vCornerCoords[], const number &scale) |
void | do_fsh_err_est_elem_loop () |
void | do_prep_err_est_elem (LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[]) |
void | do_prep_err_est_elem_loop (const ReferenceObjectID roid, const int si) |
virtual SmartPtr< IErrEstData< TDomain > > | err_est_data () |
bool | err_est_enabled () const |
IElemEstimatorFuncs () | |
void | set_error_estimator (SmartPtr< IErrEstData< TDomain > > ee) |
void | set_roid (ReferenceObjectID id, int discType) |
virtual | ~IElemEstimatorFuncs () |
Static Public Attributes | |
static const int | dim = base_type::dim |
World dimension. | |
![]() | |
static const int | dim = base_type::dim |
World dimension. | |
![]() | |
static const int | dim |
![]() | |
static const int | dim |
![]() | |
static const int | dim |
![]() | |
static const int | dim |
![]() | |
static const int | dim |
Protected Member Functions | |
template<typename TElem , typename TFEGeom > | |
void | ex_grad (MathVector< dim > vValue[], const MathVector< dim > vGlobIP[], number time, int si, const LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[], const MathVector< TFEGeom::dim > vLocIP[], const size_t nip, bool bDeriv, std::vector< std::vector< MathVector< dim > > > vvvDeriv[]) |
computes the gradient of the concentration | |
template<typename TElem , typename TFEGeom > | |
void | ex_value (number vValue[], const MathVector< dim > vGlobIP[], number time, int si, const LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[], const MathVector< TFEGeom::dim > vLocIP[], const size_t nip, bool bDeriv, std::vector< std::vector< number > > vvvDeriv[]) |
computes the concentration | |
template<typename TElem , typename TFEGeom > | |
void | lin_def_diffusion (const LocalVector &u, std::vector< std::vector< MathMatrix< dim, dim > > > vvvLinDef[], const size_t nip) |
computes the linearized defect w.r.t to the velocity | |
template<typename TElem , typename TFEGeom > | |
void | lin_def_flux (const LocalVector &u, std::vector< std::vector< MathVector< dim > > > vvvLinDef[], const size_t nip) |
computes the linearized defect w.r.t to the flux | |
template<typename TElem , typename TFEGeom > | |
void | lin_def_mass (const LocalVector &u, std::vector< std::vector< number > > vvvLinDef[], const size_t nip) |
computes the linearized defect w.r.t to the mass scale term | |
template<typename TElem , typename TFEGeom > | |
void | lin_def_mass_scale (const LocalVector &u, std::vector< std::vector< number > > vvvLinDef[], const size_t nip) |
computes the linearized defect w.r.t to the mass scale term | |
template<typename TElem , typename TFEGeom > | |
void | lin_def_reaction (const LocalVector &u, std::vector< std::vector< number > > vvvLinDef[], const size_t nip) |
computes the linearized defect w.r.t to the reaction | |
template<typename TElem , typename TFEGeom > | |
void | lin_def_reaction_rate (const LocalVector &u, std::vector< std::vector< number > > vvvLinDef[], const size_t nip) |
computes the linearized defect w.r.t to the reaction | |
template<typename TElem , typename TFEGeom > | |
void | lin_def_source (const LocalVector &u, std::vector< std::vector< number > > vvvLinDef[], const size_t nip) |
computes the linearized defect w.r.t to the source term | |
template<typename TElem , typename TFEGeom > | |
void | lin_def_vector_source (const LocalVector &u, std::vector< std::vector< MathVector< dim > > > vvvLinDef[], const size_t nip) |
computes the linearized defect w.r.t to the vector source term | |
template<typename TElem , typename TFEGeom > | |
void | lin_def_velocity (const LocalVector &u, std::vector< std::vector< MathVector< dim > > > vvvLinDef[], const size_t nip) |
computes the linearized defect w.r.t to the velocity | |
void | register_all_funcs (const LFEID &lfeid, const int quadOrder) |
template<typename TElem , typename TFEGeom > | |
void | register_func () |
![]() | |
void | init_imports () |
![]() | |
void | clear_add_fct () |
void | clear_add_fct (ReferenceObjectID id) |
void | set_default_add_fct () |
![]() | |
void | clear_add_fct () |
void | clear_add_fct (ReferenceObjectID id) |
void | remove_add_def_A_elem_fct (ReferenceObjectID id) |
void | remove_add_def_A_expl_elem_fct (ReferenceObjectID id) |
void | remove_add_def_M_elem_fct (ReferenceObjectID id) |
void | remove_add_jac_A_elem_fct (ReferenceObjectID id) |
void | remove_add_jac_M_elem_fct (ReferenceObjectID id) |
void | remove_add_rhs_elem_fct (ReferenceObjectID id) |
void | remove_fsh_elem_loop_fct (ReferenceObjectID id) |
void | remove_fsh_timestep_elem_fct (ReferenceObjectID id) |
void | remove_fsh_timestep_fct (size_t algebra_id) |
void | remove_prep_elem_fct (ReferenceObjectID id) |
void | remove_prep_elem_loop_fct (ReferenceObjectID id) |
void | remove_prep_timestep_elem_fct (ReferenceObjectID id) |
void | remove_prep_timestep_fct (size_t algebra_id) |
void | set_add_def_A_elem_fct (ReferenceObjectID id, TAssFunc func) |
void | set_add_def_A_expl_elem_fct (ReferenceObjectID id, TAssFunc func) |
void | set_add_def_M_elem_fct (ReferenceObjectID id, TAssFunc func) |
void | set_add_jac_A_elem_fct (ReferenceObjectID id, TAssFunc func) |
void | set_add_jac_M_elem_fct (ReferenceObjectID id, TAssFunc func) |
void | set_add_rhs_elem_fct (ReferenceObjectID id, TAssFunc func) |
void | set_default_add_fct () |
void | set_fsh_elem_loop_fct (ReferenceObjectID id, TAssFunc func) |
void | set_fsh_timestep_elem_fct (ReferenceObjectID id, TAssFunc func) |
void | set_fsh_timestep_fct (size_t algebra_id, TAssFunc func) |
void | set_prep_elem_fct (ReferenceObjectID id, TAssFunc func) |
void | set_prep_elem_loop_fct (ReferenceObjectID id, TAssFunc func) |
void | set_prep_timestep_elem_fct (ReferenceObjectID id, TAssFunc func) |
void | set_prep_timestep_fct (size_t algebra_id, TAssFunc func) |
![]() | |
void | clear_add_fct () |
void | clear_add_fct (ReferenceObjectID id) |
![]() | |
virtual void | approximation_space_changed () |
void | set_function_pattern (ConstSmartPtr< FunctionPattern > fctPatt) |
void | update_function_index_mapping () |
![]() | |
void | clear_add_fct () |
void | clear_add_fct (ReferenceObjectID id) |
void | remove_compute_err_est_A_elem (ReferenceObjectID id) |
void | remove_compute_err_est_M_elem (ReferenceObjectID id) |
void | remove_compute_err_est_rhs_elem (ReferenceObjectID id) |
void | remove_fsh_err_est_elem_loop (ReferenceObjectID id) |
void | remove_prep_err_est_elem (ReferenceObjectID id) |
void | remove_prep_err_est_elem_loop (ReferenceObjectID id) |
void | set_compute_err_est_A_elem (ReferenceObjectID id, TAssFunc func) |
void | set_compute_err_est_M_elem (ReferenceObjectID id, TAssFunc func) |
void | set_compute_err_est_rhs_elem (ReferenceObjectID id, TAssFunc func) |
void | set_default_add_fct () |
void | set_fsh_err_est_elem_loop (ReferenceObjectID id, TAssFunc func) |
void | set_prep_err_est_elem (ReferenceObjectID id, TAssFunc func) |
void | set_prep_err_est_elem_loop (ReferenceObjectID id, TAssFunc func) |
Private Types | |
typedef ConvectionDiffusionBase< TDomain > | base_type |
Base class type. | |
typedef SideAndElemErrEstData< TDomain > | err_est_type |
error estimator type | |
typedef ConvectionDiffusionFE< TDomain > | this_type |
Own type. | |
Private Member Functions | |
template<typename TElem , typename TFEGeom > | |
void | add_def_A_elem (LocalVector &d, const LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[]) |
assembles the stiffness part of the local defect | |
template<typename TElem , typename TFEGeom > | |
void | add_def_M_elem (LocalVector &d, const LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[]) |
assembles the mass part of the local defect | |
template<typename TElem , typename TFEGeom > | |
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 | |
template<typename TElem , typename TFEGeom > | |
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 | |
template<typename TElem , typename TFEGeom > | |
void | add_rhs_elem (LocalVector &d, GridObject *elem, const MathVector< dim > vCornerCoords[]) |
assembles the local right hand side | |
template<typename TElem , typename TFEGeom > | |
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 | |
template<typename TElem , typename TFEGeom > | |
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 | |
template<typename TElem , typename TFEGeom > | |
void | compute_err_est_rhs_elem (GridObject *elem, const MathVector< dim > vCornerCoords[], const number &scale) |
computes the error estimator contribution for one element | |
template<typename TElem , typename TFEGeom > | |
void | fsh_elem_loop () |
finishes the loop over all elements | |
template<typename TElem , typename TFEGeom > | |
void | fsh_err_est_elem_loop () |
postprocesses the loop over all elements of one type in the computation of the error estimator | |
template<typename TElem , typename TFEGeom > | |
void | prep_elem (const LocalVector &u, GridObject *elem, const ReferenceObjectID roid, const MathVector< dim > vCornerCoords[]) |
prepares the element for assembling | |
template<typename TElem , typename TFEGeom > | |
void | prep_elem_loop (const ReferenceObjectID roid, const int si) |
prepares the loop over all elements | |
template<typename TElem , typename TFEGeom > | |
void | prep_err_est_elem (const LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[]) |
prepares the element for assembling the error estimator | |
template<typename TElem , typename TFEGeom > | |
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 | |
Private Attributes | |
SmartPtr< DataExport< MathVector< dim >, dim > > | m_exGrad |
Export for the gradient of concentration. | |
SmartPtr< DataExport< number, dim > > | m_exValue |
Export for the concentration. | |
DataImport< MathMatrix< dim, dim >, dim > | m_imDiffusion |
Data import for Diffusion. | |
DataImport< MathVector< dim >, dim > | m_imFlux |
Data import for the Flux. | |
DataImport< number, dim > | m_imMass |
Data import for the mass scale. | |
DataImport< number, dim > | m_imMassScale |
Data import for the mass scale. | |
DataImport< number, dim > | m_imReaction |
Data import for the reaction term. | |
DataImport< number, dim > | m_imReactionExpl |
Data import for the reaction term explicit. | |
DataImport< number, dim > | m_imReactionRate |
Data import for the reaction term. | |
DataImport< number, dim > | m_imReactionRateExpl |
Data import for the reaction_rate term explicit. | |
DataImport< number, dim > | m_imSource |
Data import for the right-hand side (volume) | |
DataImport< number, dim > | m_imSourceExpl |
Data import for the source term explicit. | |
DataImport< MathVector< dim >, dim > | m_imVectorSource |
Data import for the right-hand side (vector) | |
DataImport< MathVector< dim >, dim > | m_imVelocity |
Data import for the Velocity field. | |
struct ug::ConvectionDiffusionPlugin::ConvectionDiffusionFE::ShapeValues | m_shapeValues |
Static Private Attributes | |
static const size_t | _C_ = 0 |
abbreviation for the local solution | |
Discretization for the Convection-Diffusion Equation.
This is a FE discretization of the convection-diffusion equation. Cf. ConvectionDiffusionBase base class for the problem setting.
TDomain | Domain |
|
private |
Base class type.
|
private |
error estimator type
|
private |
Own type.
ug::ConvectionDiffusionPlugin::ConvectionDiffusionFE< TDomain >::ConvectionDiffusionFE | ( | const char * | functions, |
const char * | subsets | ||
) |
Constructor.
References ug::IElemDisc< TDomain >::clear_add_fct().
|
privatevirtual |
assembles the stiffness part of the local defect
Reimplemented from ug::IElemAssembleFuncs< IElemDisc< TDomain >, TDomain >.
References ug::GeomProvider< typename TGeom >::get(), ug::MatVecMult(), ug::VecDot(), ug::VecScaleAppend(), and ug::VecSet().
|
privatevirtual |
assembles the mass part of the local defect
Reimplemented from ug::IElemAssembleFuncs< IElemDisc< TDomain >, TDomain >.
References ug::GeomProvider< typename TGeom >::get().
|
privatevirtual |
assembles the local stiffness matrix using a finite volume scheme
Reimplemented from ug::IElemAssembleFuncs< IElemDisc< TDomain >, TDomain >.
References ug::GeomProvider< typename TGeom >::get(), ug::MatVecMult(), ug::VecDot(), ug::VecScaleAppend(), and ug::VecSet().
|
privatevirtual |
assembles the local mass matrix using a finite volume scheme
Reimplemented from ug::IElemAssembleFuncs< IElemDisc< TDomain >, TDomain >.
References ug::GeomProvider< typename TGeom >::get().
|
privatevirtual |
assembles the local right hand side
Reimplemented from ug::IElemAssembleFuncs< IElemDisc< TDomain >, TDomain >.
References ug::GeomProvider< typename TGeom >::get(), and ug::VecDot().
|
privatevirtual |
computes the error estimator contribution for one element
Reimplemented from ug::IElemEstimatorFuncs< IElemDisc< TDomain >, TDomain >.
References ug::Grid::associated_elements_sorted(), ug::GeomProvider< typename TGeom >::get(), ug::MatVecScaleMultAppend(), ug::SideAndElemErrEstData< typename TDomain >::num_elem_ips(), ug::SideAndElemErrEstData< typename TDomain >::num_side_ips(), ug::GridObject::reference_object_id(), ug::SideAndElemErrEstData< typename TDomain >::surface_view(), UG_CATCH_THROW, UG_COND_THROW, ug::VecAppend(), ug::VecDot(), ug::VecNormalize(), ug::VecScale(), ug::VecScaleAppend(), and ug::VecSet().
|
privatevirtual |
computes the error estimator contribution for one element
Reimplemented from ug::IElemEstimatorFuncs< IElemDisc< TDomain >, TDomain >.
References ug::Grid::associated_elements_sorted(), ug::GeomProvider< typename TGeom >::get(), ug::SideAndElemErrEstData< typename TDomain >::num_elem_ips(), ug::GridObject::reference_object_id(), ug::SideAndElemErrEstData< typename TDomain >::surface_view(), UG_CATCH_THROW, and UG_COND_THROW.
|
privatevirtual |
computes the error estimator contribution for one element
Reimplemented from ug::IElemEstimatorFuncs< IElemDisc< TDomain >, TDomain >.
References ug::Grid::associated_elements_sorted(), ug::SideAndElemErrEstData< typename TDomain >::num_elem_ips(), ug::SideAndElemErrEstData< typename TDomain >::num_side_ips(), ug::GridObject::reference_object_id(), ug::SideAndElemErrEstData< typename TDomain >::surface_view(), UG_CATCH_THROW, UG_COND_THROW, ug::VecDot(), and ug::VecNormalize().
|
protected |
computes the gradient of the concentration
References ug::GeomProvider< typename TGeom >::get(), ug::LocalShapeFunctionSet< int TDim, typename TShape, typename TGrad >::grads(), ug::ReferenceMapping< typename TRefElem, int TWorldDim >::jacobian_transposed_inverse(), ug::MatVecMult(), ug::LocalDoFSet::num_sh(), UG_CATCH_THROW, ug::VecScaleAppend(), and ug::VecSet().
|
protected |
computes the concentration
References ug::GeomProvider< typename TGeom >::get(), ug::LocalDoFSet::num_sh(), ug::LocalShapeFunctionSet< int TDim, typename TShape, typename TGrad >::shapes(), and UG_CATCH_THROW.
|
privatevirtual |
finishes the loop over all elements
Reimplemented from ug::IElemAssembleFuncs< IElemDisc< TDomain >, TDomain >.
|
privatevirtual |
postprocesses the loop over all elements of one type in the computation of the error estimator
Reimplemented from ug::IElemEstimatorFuncs< IElemDisc< TDomain >, TDomain >.
|
protected |
computes the linearized defect w.r.t to the velocity
References ug::GeomProvider< typename TGeom >::get(), ug::VecScaleAppend(), and ug::VecSet().
|
protected |
computes the linearized defect w.r.t to the flux
References ug::GeomProvider< typename TGeom >::get(), and ug::VecScale().
|
protected |
computes the linearized defect w.r.t to the mass scale term
References ug::GeomProvider< typename TGeom >::get().
|
protected |
computes the linearized defect w.r.t to the mass scale term
References ug::GeomProvider< typename TGeom >::get().
|
protected |
computes the linearized defect w.r.t to the reaction
References ug::GeomProvider< typename TGeom >::get().
|
protected |
computes the linearized defect w.r.t to the reaction
References ug::GeomProvider< typename TGeom >::get().
|
protected |
computes the linearized defect w.r.t to the source term
References ug::GeomProvider< typename TGeom >::get().
|
protected |
computes the linearized defect w.r.t to the vector source term
References ug::GeomProvider< typename TGeom >::get(), and ug::VecScale().
|
protected |
computes the linearized defect w.r.t to the velocity
References ug::GeomProvider< typename TGeom >::get(), and ug::VecScale().
|
privatevirtual |
prepares the element for assembling
This methods prepares an element for the assembling. The Positions of the Element Corners are read and the Finite Volume Geometry is updated. The global ip positions are scheduled at the data imports.
Reimplemented from ug::IElemAssembleFuncs< IElemDisc< TDomain >, TDomain >.
References ug::GeomProvider< typename TGeom >::get(), and UG_CATCH_THROW.
|
privatevirtual |
prepares the loop over all elements
This method prepares the loop over all elements. It resizes the Position array for the corner coordinates and schedules the local ip positions at the data imports.
Reimplemented from ug::IElemAssembleFuncs< IElemDisc< TDomain >, TDomain >.
References ug::GeomProvider< typename TGeom >::get(), UG_CATCH_THROW, and UG_COND_THROW.
|
privatevirtual |
prepares the element for assembling the error estimator
Reimplemented from ug::IElemEstimatorFuncs< IElemDisc< TDomain >, TDomain >.
References ug::SideAndElemErrEstData< typename TDomain >::all_side_global_ips(), ug::SideAndElemErrEstData< typename TDomain >::elem_global_ips(), ug::GeomProvider< typename TGeom >::get(), ug::SideAndElemErrEstData< typename TDomain >::num_all_side_ips(), ug::SideAndElemErrEstData< typename TDomain >::num_elem_ips(), ug::GridObject::reference_object_id(), and UG_CATCH_THROW.
|
privatevirtual |
prepares the loop over all elements of one type for the computation of the error estimator
Reimplemented from ug::IElemEstimatorFuncs< IElemDisc< TDomain >, TDomain >.
References ug::SideAndElemErrEstData< typename TDomain >::num_all_side_ips(), ug::SideAndElemErrEstData< typename TDomain >::num_elem_ips(), ug::LagrangeP1< typename TRefElem >::num_sh(), ug::BaseLSFS< typename TImpl, int TDim, typename TShape, typename TGrad >::shapes(), UG_CATCH_THROW, and UG_COND_THROW.
|
virtual |
type of trial space for each function used
Implements ug::IElemDiscBase< typename TDomain >.
References UG_COND_THROW.
|
protected |
register utils
|
protected |
register utils
void ug::ConvectionDiffusionPlugin::ConvectionDiffusionFE< TDomain >::set_quad_order | ( | size_t | order | ) |
sets the quad order
|
virtual |
returns if hanging nodes are needed
Reimplemented from ug::IElemDiscBase< typename TDomain >.
|
staticprivate |
abbreviation for the local solution
|
static |
World dimension.
|
protected |
current integration order
|
private |
Export for the gradient of concentration.
|
private |
Export for the concentration.
|
private |
Data import for Diffusion.
|
private |
Data import for the Flux.
|
private |
Data import for the mass scale.
|
private |
Data import for the mass scale.
|
private |
Data import for the reaction term.
|
private |
Data import for the reaction term explicit.
|
private |
Data import for the reaction term.
|
private |
Data import for the reaction_rate term explicit.
|
private |
Data import for the right-hand side (volume)
|
private |
Data import for the source term explicit.
|
private |
Data import for the right-hand side (vector)
|
private |
Data import for the Velocity field.
|
protected |
current shape function set
|
protected |
|
private |