Plugins
Loading...
Searching...
No Matches
ug::LevelSet::FV1_Convection< TDomain > Class Template Reference

#include <fv1_conv.h>

+ Inheritance diagram for ug::LevelSet::FV1_Convection< TDomain >:

Classes

struct  RegisterLocalDiscr
 

Public Types

typedef CplUserData< MathVector< dim >, dimTGradientExport
 returns the export of the gradient of associated unknown function
 
- 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 ug::IElemAssembleFuncs< IElemDisc< TDomain >, TDomain >
typedef TDomain domain_type
 
typedef TLeaf leaf_type
 
- Public Types inherited from ug::IElemError< typename TDomain >
typedef TDomain domain_type
 
typedef IElemEstimatorFuncs< IElemDisc< TDomain >, TDomain > estimator_base_type
 
- Public Types inherited from ug::IElemDiscBase< typename TDomain >
typedef TDomain domain_type
 
typedef TDomain::position_type position_type
 
- Public Types inherited from ug::IElemEstimatorFuncs< IElemDisc< TDomain >, TDomain >
typedef TDomain domain_type
 
typedef TLeaf leaf_type
 

Public Member Functions

template<typename TElem >
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< dim > vLocIP[], const size_t nip, bool bDeriv, std::vector< std::vector< MathVector< dim > > > vvvDeriv[])
 computes the gradient of the concentration
 
 FV1_Convection (SmartPtr< IConvectionShapes< dim > > upwind, const char *functions, const char *subsets)
 constructor
 
SmartPtr< TGradientExportgradient ()
 
void set_alpha (number d)
 
void set_diffusion (number d)
 sets the diffusion coefficient
 
void set_source (number r)
 sets the value of the source
 
void set_upwind (SmartPtr< IConvectionShapes< dim > > upwind)
 sets the upwind for the transport equation
 
void set_velocity (SmartPtr< CplUserData< MathVector< dim >, dim > > vel)
 sets the convection velocity
 
- 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 ug::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[])
 
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_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< typename TDomain >
 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< typename TDomain >
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
 
void register_import (IDataImport< dim > &Imp)
 
virtual bool requests_local_time_series ()
 
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 bool use_hanging () const
 
virtual ~IElemDiscBase ()
 
- Public Member Functions inherited from ug::IElemEstimatorFuncs< IElemDisc< TDomain >, TDomain >
TLeaf & 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 ()
 

Private Types

typedef IElemDisc< TDomain > base_type
 base class type
 
typedef IConvectionShapes< dimconv_shape_type
 upwind method type
 
typedef base_type::domain_type domain_type
 domain type
 
typedef base_type::position_type position_type
 position type
 
typedef FV1_Convection< TDomain > this_type
 own type
 

Private Member Functions

template<typename TElem >
void ass_dA_elem (LocalVector &d, const LocalVector &u, GridObject *elem, const position_type vCornerCoords[])
 assembles the local defect
 
template<typename TElem >
void ass_dM_elem (LocalVector &d, const LocalVector &u, GridObject *elem, const position_type vCornerCoords[])
 computes the mass part of the defect of a time-dependent problem
 
template<typename TElem >
void ass_JA_elem (LocalMatrix &J, const LocalVector &u, GridObject *elem, const position_type vCornerCoords[])
 assembles the local stiffness matrix
 
template<typename TElem >
void ass_JM_elem (LocalMatrix &J, const LocalVector &u, GridObject *elem, const position_type vCornerCoords[])
 computes the mass matrix of a time-dependent problem
 
template<typename TElem >
void ass_rhs_elem (LocalVector &d, GridObject *elem, const position_type vCornerCoords[])
 assembles the right-hand side
 
template<typename TElem >
void finish_element_loop ()
 finalizes the loop over the elements: clear the source
 
template<typename TElem >
void prepare_element (const LocalVector &u, GridObject *elem, ReferenceObjectID roid, const position_type vCornerCoords[])
 prepares a given element for assembling: computes the discretization of the rot-rot operator
 
template<typename TElem >
void prepare_element_loop (ReferenceObjectID roid, int si)
 prepares the loop over the elements: checks whether the parameters are set, ...
 
virtual void prepare_setting (const std::vector< LFEID > &vLfeID, bool bNonRegular)
 check type of the grid and the trial space
 
void register_all_loc_discr_funcs ()
 registers the local assembler functions for all the elements and dimensions
 
template<typename TElem >
void register_loc_discr_func ()
 registers the local assembler functions for a given element
 

Private Attributes

number m_alpha
 the diffusion coefficient
 
number m_diffusion
 the diffusion coefficient
 
SmartPtr< DataExport< MathVector< dim >, dim > > m_exGrad
 Export for the gradient of concentration.
 
DataImport< MathVector< dim >, dimm_imVelocity
 data import for the velocity field (if used)
 
number m_source
 the source term \(r\)
 
SmartPtr< conv_shape_typem_spUpwind
 upwind method
 

Static Private Attributes

static const size_t _U_ = 0
 abbreviation for the local solution
 
static const int dim = base_type::dim
 world dimension
 

Additional Inherited Members

- Static Public Attributes inherited from ug::IElemDisc< TDomain >
static const int dim
 
- Static Public Attributes inherited from ug::IElemAssembleFuncs< IElemDisc< TDomain >, TDomain >
static const int dim
 
- Static Public Attributes inherited from ug::IElemError< typename TDomain >
static const int dim
 
- Static Public Attributes inherited from ug::IElemDiscBase< typename TDomain >
static const int dim
 
- Static Public Attributes inherited from ug::IElemEstimatorFuncs< IElemDisc< TDomain >, TDomain >
static const int dim
 
- 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 ug::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< typename TDomain >
void clear_add_fct ()
 
void clear_add_fct (ReferenceObjectID id)
 
- Protected Member Functions inherited from ug::IElemDiscBase< typename TDomain >
virtual void approximation_space_changed ()
 
void set_function_pattern (ConstSmartPtr< FunctionPattern > fctPatt)
 
void update_function_index_mapping ()
 
- Protected Member Functions inherited from ug::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 inherited from ug::IElemDisc< TDomain >
std::vector< SmartPtr< IElemDiscModifier< TDomain > > > m_spElemModifier
 
- Protected Attributes inherited from ug::IElemAssembleFuncs< IElemDisc< TDomain >, TDomain >
ReferenceObjectID m_roid
 
- Protected Attributes inherited from ug::IElemDiscBase< typename TDomain >
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 ug::IElemEstimatorFuncs< IElemDisc< TDomain >, TDomain >
ReferenceObjectID m_roid
 
SmartPtr< IErrEstData< TDomain > > m_spErrEstData
 

Detailed Description

template<typename TDomain>
class ug::LevelSet::FV1_Convection< TDomain >

The class implements the 1-st order FV discretization of the convection equation (in the non-divergence form) with a diffusion term:

\begin{eqnarray*} u_t + \mathbf{V} \cdot \nabla u - \nabla \cdot (d \nabla u) = r, \end{eqnarray*}

where \(\mathbf{V}\) is the convection velocity.

For the discretization, the equation is reformulated into the divergence form with a sink term:

\begin{eqnarray*} u_t + \nabla \cdot (u \, \mathbf{V}) - \nabla \cdot (d \nabla u) = u \, \nabla \mathbf{V} + r, \end{eqnarray*}

Template Parameters
TDomainDomain type

Member Typedef Documentation

◆ base_type

template<typename TDomain >
typedef IElemDisc<TDomain> ug::LevelSet::FV1_Convection< TDomain >::base_type
private

base class type

◆ conv_shape_type

template<typename TDomain >
typedef IConvectionShapes<dim> ug::LevelSet::FV1_Convection< TDomain >::conv_shape_type
private

upwind method type

◆ domain_type

template<typename TDomain >
typedef base_type::domain_type ug::LevelSet::FV1_Convection< TDomain >::domain_type
private

domain type

◆ position_type

template<typename TDomain >
typedef base_type::position_type ug::LevelSet::FV1_Convection< TDomain >::position_type
private

position type

◆ TGradientExport

template<typename TDomain >
typedef CplUserData<MathVector<dim>, dim> ug::LevelSet::FV1_Convection< TDomain >::TGradientExport

returns the export of the gradient of associated unknown function

◆ this_type

template<typename TDomain >
typedef FV1_Convection<TDomain> ug::LevelSet::FV1_Convection< TDomain >::this_type
private

own type

Constructor & Destructor Documentation

◆ FV1_Convection()

template<typename TDomain >
ug::LevelSet::FV1_Convection< TDomain >::FV1_Convection ( SmartPtr< IConvectionShapes< dim > >  upwind,
const char *  functions,
const char *  subsets 
)

constructor

class constructor

Parameters
upwindupwind method to use
functionssymbolic function name
subsetsfull-dim. subsets where to assemble

References ug::LevelSet::FV1_Convection< TDomain >::m_imVelocity, ug::IElemDiscBase< typename TDomain >::num_fct(), ug::LevelSet::FV1_Convection< TDomain >::register_all_loc_discr_funcs(), ug::IElemDiscBase< typename TDomain >::register_import(), and UG_THROW.

Member Function Documentation

◆ ass_dA_elem()

template<typename TDomain >
template<typename TElem >
void ug::LevelSet::FV1_Convection< TDomain >::ass_dA_elem ( LocalVector d,
const LocalVector u,
GridObject elem,
const position_type  vCornerCoords[] 
)
private

◆ ass_dM_elem()

template<typename TDomain >
template<typename TElem >
void ug::LevelSet::FV1_Convection< TDomain >::ass_dM_elem ( LocalVector d,
const LocalVector u,
GridObject elem,
const position_type  vCornerCoords[] 
)
private

computes the mass part of the defect of a time-dependent problem

References ug::GeomProvider< typename TGeom >::get().

◆ ass_JA_elem()

template<typename TDomain >
template<typename TElem >
void ug::LevelSet::FV1_Convection< TDomain >::ass_JA_elem ( LocalMatrix J,
const LocalVector u,
GridObject elem,
const position_type  vCornerCoords[] 
)
private

assembles the local stiffness matrix

References ug::GeomProvider< typename TGeom >::get(), UG_THROW, and ug::VecDot().

◆ ass_JM_elem()

template<typename TDomain >
template<typename TElem >
void ug::LevelSet::FV1_Convection< TDomain >::ass_JM_elem ( LocalMatrix J,
const LocalVector u,
GridObject elem,
const position_type  vCornerCoords[] 
)
private

computes the mass matrix of a time-dependent problem

References ug::GeomProvider< typename TGeom >::get().

◆ ass_rhs_elem()

template<typename TDomain >
template<typename TElem >
void ug::LevelSet::FV1_Convection< TDomain >::ass_rhs_elem ( LocalVector d,
GridObject elem,
const position_type  vCornerCoords[] 
)
private

assembles the right-hand side

References ug::GeomProvider< typename TGeom >::get().

◆ ex_grad()

template<typename TDomain >
template<typename TElem >
void ug::LevelSet::FV1_Convection< TDomain >::ex_grad ( MathVector< dim vValue[],
const MathVector< dim vGlobIP[],
number  time,
int  si,
const LocalVector u,
GridObject elem,
const MathVector< dim vCornerCoords[],
const MathVector< dim vLocIP[],
const size_t  nip,
bool  bDeriv,
std::vector< std::vector< MathVector< dim > > >  vvvDeriv[] 
)

computes the gradient of the concentration

References ug::GeomProvider< typename TGeom >::get(), UG_ASSERT, ug::VecScaleAppend(), and ug::VecSet().

◆ finish_element_loop()

template<typename TDomain >
template<typename TElem >
void ug::LevelSet::FV1_Convection< TDomain >::finish_element_loop ( )
private

finalizes the loop over the elements: clear the source

◆ gradient()

template<typename TDomain >
SmartPtr< TGradientExport > ug::LevelSet::FV1_Convection< TDomain >::gradient ( )
inline

◆ prepare_element()

template<typename TDomain >
template<typename TElem >
void ug::LevelSet::FV1_Convection< TDomain >::prepare_element ( const LocalVector u,
GridObject elem,
ReferenceObjectID  roid,
const position_type  vCornerCoords[] 
)
private

prepares a given element for assembling: computes the discretization of the rot-rot operator

Parameters
ulocal solution at the dofs associated with elem
elemelement to prepare
vCornerCoordscoordinates of the corners of the element

References ug::GeomProvider< typename TGeom >::get(), subset_handler(), and UG_CATCH_THROW.

◆ prepare_element_loop()

template<typename TDomain >
template<typename TElem >
void ug::LevelSet::FV1_Convection< TDomain >::prepare_element_loop ( ReferenceObjectID  roid,
int  si 
)
private

prepares the loop over the elements: checks whether the parameters are set, ...

Parameters
roidonly elements with this roid are looped over
siand only in this subdomain

References ug::GeomProvider< typename TGeom >::get(), and UG_THROW.

◆ prepare_setting()

template<typename TDomain >
void ug::LevelSet::FV1_Convection< TDomain >::prepare_setting ( const std::vector< LFEID > &  vLfeID,
bool  bNonRegular 
)
privatevirtual

check type of the grid and the trial space

Implements ug::IElemDiscBase< typename TDomain >.

References ug::LFEID::LAGRANGE, type(), and UG_THROW.

◆ register_all_loc_discr_funcs()

template<typename TDomain >
void ug::LevelSet::FV1_Convection< TDomain >::register_all_loc_discr_funcs ( )
private

registers the local assembler functions for all the elements and dimensions

Referenced by ug::LevelSet::FV1_Convection< TDomain >::FV1_Convection().

◆ register_loc_discr_func()

template<typename TDomain >
template<typename TElem >
void ug::LevelSet::FV1_Convection< TDomain >::register_loc_discr_func ( )
private

registers the local assembler functions for a given element

Referenced by ug::LevelSet::FV1_Convection< TDomain >::RegisterLocalDiscr::operator()().

◆ set_alpha()

template<typename TDomain >
void ug::LevelSet::FV1_Convection< TDomain >::set_alpha ( number  d)
inline

◆ set_diffusion()

template<typename TDomain >
void ug::LevelSet::FV1_Convection< TDomain >::set_diffusion ( number  d)
inline

sets the diffusion coefficient

References ug::LevelSet::FV1_Convection< TDomain >::m_diffusion.

◆ set_source()

template<typename TDomain >
void ug::LevelSet::FV1_Convection< TDomain >::set_source ( number  r)
inline

sets the value of the source

References ug::LevelSet::FV1_Convection< TDomain >::m_source.

◆ set_upwind()

template<typename TDomain >
void ug::LevelSet::FV1_Convection< TDomain >::set_upwind ( SmartPtr< IConvectionShapes< dim > >  upwind)
inline

sets the upwind for the transport equation

References ug::LevelSet::FV1_Convection< TDomain >::m_spUpwind.

◆ set_velocity()

template<typename TDomain >
void ug::LevelSet::FV1_Convection< TDomain >::set_velocity ( SmartPtr< CplUserData< MathVector< dim >, dim > >  vel)
inline

sets the convection velocity

References ug::LevelSet::FV1_Convection< TDomain >::m_imVelocity.

Member Data Documentation

◆ _U_

template<typename TDomain >
const size_t ug::LevelSet::FV1_Convection< TDomain >::_U_ = 0
staticprivate

abbreviation for the local solution

◆ dim

template<typename TDomain >
const int ug::LevelSet::FV1_Convection< TDomain >::dim = base_type::dim
staticprivate

world dimension

◆ m_alpha

template<typename TDomain >
number ug::LevelSet::FV1_Convection< TDomain >::m_alpha
private

the diffusion coefficient

Referenced by ug::LevelSet::FV1_Convection< TDomain >::set_alpha().

◆ m_diffusion

template<typename TDomain >
number ug::LevelSet::FV1_Convection< TDomain >::m_diffusion
private

the diffusion coefficient

Referenced by ug::LevelSet::FV1_Convection< TDomain >::set_diffusion().

◆ m_exGrad

template<typename TDomain >
SmartPtr<DataExport<MathVector<dim>, dim> > ug::LevelSet::FV1_Convection< TDomain >::m_exGrad
private

Export for the gradient of concentration.

Referenced by ug::LevelSet::FV1_Convection< TDomain >::gradient().

◆ m_imVelocity

template<typename TDomain >
DataImport<MathVector<dim>, dim > ug::LevelSet::FV1_Convection< TDomain >::m_imVelocity
private

◆ m_source

template<typename TDomain >
number ug::LevelSet::FV1_Convection< TDomain >::m_source
private

the source term \(r\)

Referenced by ug::LevelSet::FV1_Convection< TDomain >::set_source().

◆ m_spUpwind

template<typename TDomain >
SmartPtr<conv_shape_type> ug::LevelSet::FV1_Convection< TDomain >::m_spUpwind
private

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