Plugins
ug::ConvectionDiffusionPlugin::ConvectionDiffusionBase< TDomain > Class Template Reference

Discretization for the Convection-Diffusion Equation. More...

#include <convection_diffusion_base.h>

+ Inheritance diagram for ug::ConvectionDiffusionPlugin::ConvectionDiffusionBase< TDomain >:

Public Types

typedef SmartPtr< CplUserData< MathVector< dim >, dim > > GradExport
 
typedef SmartPtr< CplUserData< number, dim > > NumberExport
 
- Public Types inherited from ug::IElemDisc< TDomain >
typedef IElemAssembleFuncs< IElemDisc< TDomain >, TDomain > assemble_base_type
 
typedef IElemError< TDomain > base_type
 
typedef TDomain domain_type
 
typedef IElemEstimatorFuncs< IElemDisc< TDomain >, TDomain > estimator_base_type
 
- Public Types inherited from IElemAssembleFuncs< IElemDisc< TDomain >, TDomain >
typedef TDomain domain_type
 
typedef IElemDisc< TDomain > leaf_type
 
- Public Types inherited from ug::IElemError< class >
typedef TDomain domain_type
 
typedef IElemEstimatorFuncs< IElemDisc< TDomain >, TDomain > estimator_base_type
 
- Public Types inherited from ug::IElemDiscBase< class >
typedef TDomain domain_type
 
typedef TDomain::position_type position_type
 
- Public Types inherited from IElemEstimatorFuncs< IElemDisc< TDomain >, TDomain >
typedef TDomain domain_type
 
typedef IElemDisc< TDomain > leaf_type
 

Public Member Functions

 ConvectionDiffusionBase (const char *functions, const char *subsets)
 Constructor. More...
 
virtual SmartPtr< CplUserData< MathVector< dim >, dim > > gradient ()
 returns the export of the gradient of associated unknown function More...
 
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 More...
 
void set_diffusion (SmartPtr< CplUserData< MathMatrix< dim, dim >, dim > > user)
 sets the diffusion tensor More...
 
void set_diffusion (number val)
 sets the diffusion tensor More...
 
void set_velocity (SmartPtr< CplUserData< MathVector< dim >, dim > > user)
 sets the velocity field More...
 
void set_velocity (const std::vector< number > &vVel)
 sets the velocity field More...
 
void set_flux (SmartPtr< CplUserData< MathVector< dim >, dim > > user)
 sets the flux More...
 
void set_flux (const std::vector< number > &vVel)
 sets the flux More...
 
void set_reaction_rate (SmartPtr< CplUserData< number, dim > > user)
 sets the reaction rate More...
 
void set_reaction_rate (number val)
 sets the reaction rate More...
 
void set_reaction (SmartPtr< CplUserData< number, dim > > user)
 sets the reaction More...
 
void set_reaction (number val)
 sets the reaction More...
 
void set_source (SmartPtr< CplUserData< number, dim > > user)
 sets the source / sink term More...
 
void set_source (number val)
 sets the source / sink term More...
 
void set_vector_source (SmartPtr< CplUserData< MathVector< dim >, dim > > user)
 sets the vector source term More...
 
void set_vector_source (const std::vector< number > &vVel)
 sets the vector source term More...
 
void set_mass_scale (SmartPtr< CplUserData< number, dim > > user)
 sets mass scale More...
 
void set_mass_scale (number val)
 sets mass scale More...
 
void set_mass (SmartPtr< CplUserData< number, dim > > user)
 sets mass More...
 
void set_mass (number val)
 sets mass More...
 
- Public Member Functions inherited from ug::IElemDisc< TDomain >
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)
 
- Public Member Functions inherited from IElemAssembleFuncs< IElemDisc< TDomain >, TDomain >
virtual void add_def_A_elem (LocalVector &d, const LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[])
 
virtual void add_def_A_expl_elem (LocalVector &d, const LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[])
 
virtual void add_def_M_elem (LocalVector &d, const LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[])
 
virtual void add_jac_A_elem (LocalMatrix &J, const LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[])
 
virtual void add_jac_M_elem (LocalMatrix &J, const LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[])
 
virtual void add_rhs_elem (LocalVector &rhs, GridObject *elem, const MathVector< dim > vCornerCoords[])
 
IElemDisc< TDomain > & 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_elem_loop ()
 
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_elem (const LocalVector &u, GridObject *elem, const ReferenceObjectID roid, const MathVector< dim > vCornerCoords[])
 
virtual void prep_elem_loop (const ReferenceObjectID roid, const int si)
 
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 ()
 
- Public Member Functions inherited from ug::IElemError< class >
 IElemError (const char *functions, const char *subsets)
 
 IElemError (const std::vector< std::string > &vFct, const std::vector< std::string > &vSubset)
 
- Public Member Functions inherited from ug::IElemDiscBase< class >
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 FunctionGroupfunction_group () const
 
ConstSmartPtr< FunctionPatternfunction_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 LocalVectorTimeSerieslocal_time_solutions () const
 
const FunctionIndexMappingmap () 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
 
virtual void prepare_setting (const std::vector< LFEID > &vLfeID, bool bNonRegularGrid)=0
 
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_typesubset_handler ()
 
const TDomain::subset_handler_typesubset_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 bool use_hanging () const
 
virtual ~IElemDiscBase ()
 
- Public Member Functions inherited from IElemEstimatorFuncs< IElemDisc< TDomain >, TDomain >
IElemDisc< TDomain > & asLeaf ()
 
void check_roid (ReferenceObjectID roid, int discType)
 
virtual void compute_err_est_A_elem (const LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[], const number &scale)
 
virtual void compute_err_est_M_elem (const LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[], const number &scale)
 
virtual void compute_err_est_rhs_elem (GridObject *elem, const MathVector< dim > vCornerCoords[], const number &scale)
 
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
 
virtual void fsh_err_est_elem_loop ()
 
 IElemEstimatorFuncs ()
 
virtual void prep_err_est_elem (const LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[])
 
virtual void prep_err_est_elem_loop (const ReferenceObjectID roid, const int si)
 
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. More...
 
- Static Public Attributes inherited from ug::IElemDisc< TDomain >
static const int dim
 
- Static Public Attributes inherited from IElemAssembleFuncs< IElemDisc< TDomain >, TDomain >
static const int dim
 
- Static Public Attributes inherited from ug::IElemError< class >
static const int dim
 
- Static Public Attributes inherited from ug::IElemDiscBase< class >
static const int dim
 
- Static Public Attributes inherited from IElemEstimatorFuncs< IElemDisc< TDomain >, TDomain >
static const int dim
 

Protected Member Functions

void init_imports ()
 
- Protected Member Functions inherited from ug::IElemDisc< TDomain >
void clear_add_fct ()
 
void clear_add_fct (ReferenceObjectID id)
 
void set_default_add_fct ()
 
- Protected Member Functions inherited from IElemAssembleFuncs< IElemDisc< TDomain >, TDomain >
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)
 
- Protected Member Functions inherited from ug::IElemError< class >
void clear_add_fct ()
 
void clear_add_fct (ReferenceObjectID id)
 
- Protected Member Functions inherited from ug::IElemDiscBase< class >
virtual void approximation_space_changed ()
 
void set_function_pattern (ConstSmartPtr< FunctionPattern > fctPatt)
 
void update_function_index_mapping ()
 
- Protected Member Functions inherited from IElemEstimatorFuncs< IElemDisc< TDomain >, TDomain >
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)
 

Protected Attributes

SmartPtr< DataExport< MathVector< dim >, dim > > m_exGrad
 Export for the gradient of concentration. More...
 
SmartPtr< DataExport< number, dim > > m_exValue
 Export for the concentration. More...
 
DataImport< MathMatrix< dim, dim >, dimm_imDiffusion
 Data import for Diffusion. More...
 
DataImport< MathVector< dim >, dimm_imFlux
 Data import for the Flux. More...
 
DataImport< number, dimm_imMass
 Data import for the mass scale. More...
 
DataImport< number, dimm_imMassScale
 Data import for the mass scale. More...
 
DataImport< number, dimm_imReaction
 Data import for the reaction term. More...
 
DataImport< number, dimm_imReactionExpl
 Data import for the reaction term explicit. More...
 
DataImport< number, dimm_imReactionRate
 Data import for the reaction term. More...
 
DataImport< number, dimm_imReactionRateExpl
 Data import for the reaction_rate term explicit. More...
 
DataImport< number, dimm_imSource
 Data import for the right-hand side (volume) More...
 
DataImport< number, dimm_imSourceExpl
 Data import for the source term explicit. More...
 
DataImport< MathVector< dim >, dimm_imVectorSource
 Data import for the right-hand side (vector) More...
 
DataImport< MathVector< dim >, dimm_imVelocity
 Data import for the Velocity field. More...
 
- Protected Attributes inherited from ug::IElemDisc< TDomain >
std::vector< SmartPtr< IElemDiscModifier< TDomain > > > m_spElemModifier
 
- Protected Attributes inherited from IElemAssembleFuncs< IElemDisc< TDomain >, TDomain >
ReferenceObjectID m_roid
 
- Protected Attributes inherited from ug::IElemDiscBase< class >
bool m_bStationaryForced
 
FunctionGroup m_fctGrp
 
FunctionIndexMapping m_fctIndexMap
 
LocalVectorTimeSeriesm_pLocalVectorTimeSeries
 
SmartPtr< ApproximationSpace< TDomain > > m_spApproxSpace
 
ConstSmartPtr< FunctionPatternm_spFctPattern
 
size_t m_timePoint
 
std::vector< std::string > m_vFct
 
std::vector< IDataImport< dim > * > m_vIImport
 
std::vector< numberm_vScaleMass
 
std::vector< numberm_vScaleStiff
 
std::vector< std::string > m_vSubset
 
- Protected Attributes inherited from IElemEstimatorFuncs< IElemDisc< TDomain >, TDomain >
ReferenceObjectID m_roid
 
SmartPtr< IErrEstData< TDomain > > m_spErrEstData
 

Private Types

typedef IElemDisc< TDomain > base_type
 Base class type. More...
 

Private Member Functions

virtual bool requests_local_time_series ()
 returns if local time series is needed More...
 

Detailed Description

template<typename TDomain>
class ug::ConvectionDiffusionPlugin::ConvectionDiffusionBase< TDomain >

Discretization for the Convection-Diffusion Equation.

This class implements the IElemDisc interface to provide element local assemblings for the convection diffusion equation. The Equation has the form

\[ \partial_t (m_1 c + m_2) - \nabla \cdot \left ( D \nabla c - \vec{v} c - \vec{F} \right ) + r_1 \cdot c + r_2 = f + \nabla \cdot \vec{f}_2 \]

with

  • \( c \) is the unknown solution
  • \( m_1 \equiv m_1(\vec{x},t) \) is the Mass Scaling Term
  • \( m_2 \equiv m_1(\vec{x},t) \) is the Mass Term
  • \( D \equiv D(\vec{x},t) \) is the Diffusion Tensor
  • \( v \equiv \vec{v}(\vec{x},t) \) is the Velocity Field
  • \( F \equiv \vec{F}(\vec{x},t) \) is the Flux
  • \( r_1 \equiv r_1(\vec{x},t) \) is the Reaction Rate
  • \( r_2 \equiv r_2(\vec{x},t) \) is a Reaction Term
  • \( f \equiv f(\vec{x},t) \) is a Source Term
  • \( \vec{f}_2 \equiv \vec{f}_2(\vec{x},t) \) is a Vector Source Term
Template Parameters
TDomainDomain

Member Typedef Documentation

◆ base_type

template<typename TDomain >
typedef IElemDisc<TDomain> ug::ConvectionDiffusionPlugin::ConvectionDiffusionBase< TDomain >::base_type
private

Base class type.

◆ GradExport

◆ NumberExport

Constructor & Destructor Documentation

◆ ConvectionDiffusionBase()

Member Function Documentation

◆ gradient()

template<typename TDomain >
ConvectionDiffusionBase< TDomain >::GradExport ug::ConvectionDiffusionPlugin::ConvectionDiffusionBase< TDomain >::gradient
virtual

returns the export of the gradient of associated unknown function

◆ init_imports()

◆ requests_local_time_series()

template<typename TDomain >
virtual bool ug::ConvectionDiffusionPlugin::ConvectionDiffusionBase< TDomain >::requests_local_time_series ( )
inlineprivatevirtual

returns if local time series is needed

Reimplemented from ug::IElemDiscBase< class >.

◆ set_diffusion() [1/2]

template<typename TDomain >
void ug::ConvectionDiffusionPlugin::ConvectionDiffusionBase< TDomain >::set_diffusion ( number  val)

sets the diffusion tensor

This method sets the Diffusion tensor used in computations. If no Tensor is set, a zero value is assumed.

References dim, and make_sp().

◆ set_diffusion() [2/2]

template<typename TDomain >
void ug::ConvectionDiffusionPlugin::ConvectionDiffusionBase< TDomain >::set_diffusion ( SmartPtr< CplUserData< MathMatrix< dim, dim >, dim > >  user)

sets the diffusion tensor

This method sets the Diffusion tensor used in computations. If no Tensor is set, a zero value is assumed.

Referenced by ug::Richards::RichardsElemDisc< TDomain >::set_flux_data().

◆ set_flux() [1/2]

template<typename TDomain >
void ug::ConvectionDiffusionPlugin::ConvectionDiffusionBase< TDomain >::set_flux ( const std::vector< number > &  vVel)

sets the flux

This method sets the Flux. If no field is provided a zero value is assumed.

References dim, and ug::ConvectionDiffusionPlugin::ConvectionDiffusionBase< TDomain >::set_flux().

Referenced by ug::ConvectionDiffusionPlugin::ConvectionDiffusionBase< TDomain >::set_flux().

◆ set_flux() [2/2]

template<typename TDomain >
void ug::ConvectionDiffusionPlugin::ConvectionDiffusionBase< TDomain >::set_flux ( SmartPtr< CplUserData< MathVector< dim >, dim > >  user)

sets the flux

This method sets the Flux. If no field is provided a zero value is assumed.

Referenced by ug::Richards::RichardsElemDisc< TDomain >::set_flux_data().

◆ set_mass() [1/2]

template<typename TDomain >
void ug::ConvectionDiffusionPlugin::ConvectionDiffusionBase< TDomain >::set_mass ( number  val)

sets mass

This method sets the mass value. The default value is 0.0.

References make_sp().

◆ set_mass() [2/2]

template<typename TDomain >
void ug::ConvectionDiffusionPlugin::ConvectionDiffusionBase< TDomain >::set_mass ( SmartPtr< CplUserData< number, dim > >  user)

sets mass

This method sets the mass value. The default value is 0.0.

Referenced by ug::Richards::RichardsElemDisc< TDomain >::set_storage_data().

◆ set_mass_scale() [1/2]

template<typename TDomain >
void ug::ConvectionDiffusionPlugin::ConvectionDiffusionBase< TDomain >::set_mass_scale ( number  val)

sets mass scale

This method sets the mass scale value. The default value is 1.0.

References make_sp().

◆ set_mass_scale() [2/2]

template<typename TDomain >
void ug::ConvectionDiffusionPlugin::ConvectionDiffusionBase< TDomain >::set_mass_scale ( SmartPtr< CplUserData< number, dim > >  user)

sets mass scale

This method sets the mass scale value. The default value is 1.0.

Referenced by ug::ConvectionDiffusionPlugin::ConvectionDiffusionBase< TDomain >::ConvectionDiffusionBase(), and ug::Richards::RichardsElemDisc< TDomain >::set_storage_data().

◆ set_reaction() [1/2]

template<typename TDomain >
void ug::ConvectionDiffusionPlugin::ConvectionDiffusionBase< TDomain >::set_reaction ( number  val)

sets the reaction

This method sets the Reaction. A zero value is assumed as default.

References make_sp().

◆ set_reaction() [2/2]

template<typename TDomain >
void ug::ConvectionDiffusionPlugin::ConvectionDiffusionBase< TDomain >::set_reaction ( SmartPtr< CplUserData< number, dim > >  user)

sets the reaction

This method sets the Reaction. A zero value is assumed as default.

◆ set_reaction_explicit() [1/2]

template<typename TDomain >
void ug::ConvectionDiffusionPlugin::ConvectionDiffusionBase< TDomain >::set_reaction_explicit ( number  val)

References make_sp().

◆ set_reaction_explicit() [2/2]

template<typename TDomain >
void ug::ConvectionDiffusionPlugin::ConvectionDiffusionBase< TDomain >::set_reaction_explicit ( SmartPtr< CplUserData< number, dim > >  user)

◆ set_reaction_rate() [1/2]

template<typename TDomain >
void ug::ConvectionDiffusionPlugin::ConvectionDiffusionBase< TDomain >::set_reaction_rate ( number  val)

sets the reaction rate

This method sets the Reaction Rate. A zero value is assumed as default.

References make_sp().

◆ set_reaction_rate() [2/2]

template<typename TDomain >
void ug::ConvectionDiffusionPlugin::ConvectionDiffusionBase< TDomain >::set_reaction_rate ( SmartPtr< CplUserData< number, dim > >  user)

sets the reaction rate

This method sets the Reaction Rate. A zero value is assumed as default.

◆ set_reaction_rate_explicit() [1/2]

template<typename TDomain >
void ug::ConvectionDiffusionPlugin::ConvectionDiffusionBase< TDomain >::set_reaction_rate_explicit ( number  val)

References make_sp().

◆ set_reaction_rate_explicit() [2/2]

template<typename TDomain >
void ug::ConvectionDiffusionPlugin::ConvectionDiffusionBase< TDomain >::set_reaction_rate_explicit ( SmartPtr< CplUserData< number, dim > >  user)

◆ set_source() [1/2]

template<typename TDomain >
void ug::ConvectionDiffusionPlugin::ConvectionDiffusionBase< TDomain >::set_source ( number  val)

sets the source / sink term

This method sets the source/sink value. A zero value is assumed as default.

References make_sp().

◆ set_source() [2/2]

template<typename TDomain >
void ug::ConvectionDiffusionPlugin::ConvectionDiffusionBase< TDomain >::set_source ( SmartPtr< CplUserData< number, dim > >  user)

sets the source / sink term

This method sets the source/sink value. A zero value is assumed as default.

◆ set_source_explicit() [1/2]

template<typename TDomain >
void ug::ConvectionDiffusionPlugin::ConvectionDiffusionBase< TDomain >::set_source_explicit ( number  val)

References make_sp().

◆ set_source_explicit() [2/2]

template<typename TDomain >
void ug::ConvectionDiffusionPlugin::ConvectionDiffusionBase< TDomain >::set_source_explicit ( SmartPtr< CplUserData< number, dim > >  user)

◆ set_vector_source() [1/2]

template<typename TDomain >
void ug::ConvectionDiffusionPlugin::ConvectionDiffusionBase< TDomain >::set_vector_source ( const std::vector< number > &  vVel)

sets the vector source term

This method sets the divergence of the source as an effect of an external field. A zero value is assumed as default, thus this term is ignored then.

References dim.

◆ set_vector_source() [2/2]

template<typename TDomain >
void ug::ConvectionDiffusionPlugin::ConvectionDiffusionBase< TDomain >::set_vector_source ( SmartPtr< CplUserData< MathVector< dim >, dim > >  user)

sets the vector source term

This method sets the divergence of the source as an effect of an external field. A zero value is assumed as default, thus this term is ignored then.

◆ set_velocity() [1/2]

template<typename TDomain >
void ug::ConvectionDiffusionPlugin::ConvectionDiffusionBase< TDomain >::set_velocity ( const std::vector< number > &  vVel)

sets the velocity field

This method sets the Velocity field. If no field is provided a zero value is assumed.

References dim.

◆ set_velocity() [2/2]

template<typename TDomain >
void ug::ConvectionDiffusionPlugin::ConvectionDiffusionBase< TDomain >::set_velocity ( SmartPtr< CplUserData< MathVector< dim >, dim > >  user)

sets the velocity field

This method sets the Velocity field. If no field is provided a zero value is assumed.

◆ value()

template<typename TDomain >
ConvectionDiffusionBase< TDomain >::NumberExport ug::ConvectionDiffusionPlugin::ConvectionDiffusionBase< TDomain >::value
virtual

returns the export of the value of associated unknown function

Member Data Documentation

◆ dim

template<typename TDomain >
const int ug::ConvectionDiffusionPlugin::ConvectionDiffusionBase< TDomain >::dim = base_type::dim
static

World dimension.

◆ m_exGrad

template<typename TDomain >
SmartPtr<DataExport<MathVector<dim>, dim> > ug::ConvectionDiffusionPlugin::ConvectionDiffusionBase< TDomain >::m_exGrad
protected

Export for the gradient of concentration.

◆ m_exValue

template<typename TDomain >
SmartPtr<DataExport<number, dim> > ug::ConvectionDiffusionPlugin::ConvectionDiffusionBase< TDomain >::m_exValue
protected

Export for the concentration.

◆ m_imDiffusion

template<typename TDomain >
DataImport<MathMatrix<dim,dim>, dim> ug::ConvectionDiffusionPlugin::ConvectionDiffusionBase< TDomain >::m_imDiffusion
protected

Data import for Diffusion.

◆ m_imFlux

template<typename TDomain >
DataImport<MathVector<dim>, dim > ug::ConvectionDiffusionPlugin::ConvectionDiffusionBase< TDomain >::m_imFlux
protected

Data import for the Flux.

◆ m_imMass

template<typename TDomain >
DataImport<number, dim> ug::ConvectionDiffusionPlugin::ConvectionDiffusionBase< TDomain >::m_imMass
protected

Data import for the mass scale.

◆ m_imMassScale

template<typename TDomain >
DataImport<number, dim> ug::ConvectionDiffusionPlugin::ConvectionDiffusionBase< TDomain >::m_imMassScale
protected

Data import for the mass scale.

◆ m_imReaction

template<typename TDomain >
DataImport<number, dim> ug::ConvectionDiffusionPlugin::ConvectionDiffusionBase< TDomain >::m_imReaction
protected

Data import for the reaction term.

◆ m_imReactionExpl

template<typename TDomain >
DataImport<number, dim> ug::ConvectionDiffusionPlugin::ConvectionDiffusionBase< TDomain >::m_imReactionExpl
protected

Data import for the reaction term explicit.

◆ m_imReactionRate

template<typename TDomain >
DataImport<number, dim> ug::ConvectionDiffusionPlugin::ConvectionDiffusionBase< TDomain >::m_imReactionRate
protected

Data import for the reaction term.

◆ m_imReactionRateExpl

template<typename TDomain >
DataImport<number, dim> ug::ConvectionDiffusionPlugin::ConvectionDiffusionBase< TDomain >::m_imReactionRateExpl
protected

Data import for the reaction_rate term explicit.

◆ m_imSource

template<typename TDomain >
DataImport<number, dim> ug::ConvectionDiffusionPlugin::ConvectionDiffusionBase< TDomain >::m_imSource
protected

Data import for the right-hand side (volume)

◆ m_imSourceExpl

template<typename TDomain >
DataImport<number, dim> ug::ConvectionDiffusionPlugin::ConvectionDiffusionBase< TDomain >::m_imSourceExpl
protected

Data import for the source term explicit.

◆ m_imVectorSource

template<typename TDomain >
DataImport<MathVector<dim>, dim > ug::ConvectionDiffusionPlugin::ConvectionDiffusionBase< TDomain >::m_imVectorSource
protected

Data import for the right-hand side (vector)

◆ m_imVelocity

template<typename TDomain >
DataImport<MathVector<dim>, dim > ug::ConvectionDiffusionPlugin::ConvectionDiffusionBase< TDomain >::m_imVelocity
protected

Data import for the Velocity field.


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