ug4
ug::FV1InnerBoundaryElemDisc< TImpl, TDomain > Class Template Reference

#include <inner_boundary.h>

+ Inheritance diagram for ug::FV1InnerBoundaryElemDisc< TImpl, TDomain >:

Classes

struct  RegisterAssemblingFuncs
 
struct  RegisterPrepTimestep
 
struct  ShapeValues
 struct holding values of shape functions in IPs More...
 

Public Types

typedef TDomain domain_type
 Domain type. More...
 
typedef MultipleSideAndElemErrEstData< domain_typeerr_est_type
 error estimator type More...
 
typedef InnerBoundaryFluxCond FluxCond
 
typedef InnerBoundaryFluxDerivCond FluxDerivCond
 
typedef base_type::position_type position_type
 Position type. More...
 
- Public Types inherited from ug::IElemDisc< TDomain >
typedef IElemAssembleFuncs< IElemDisc< TDomain >, TDomain > assemble_base_type
 
typedef IElemError< TDomain > base_type
 real base class More...
 
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
 Domain type. More...
 
typedef IElemDisc< TDomain > leaf_type
 Barton Nackman trick (TODO: needed?) More...
 
- Public Types inherited from ug::IElemError< TDomain >
typedef TDomain domain_type
 
typedef IElemEstimatorFuncs< IElemDisc< TDomain >, TDomain > estimator_base_type
 
- Public Types inherited from ug::IElemDiscBase< TDomain >
typedef TDomain domain_type
 Domain type. More...
 
typedef TDomain::position_type position_type
 Position type. More...
 
- Public Types inherited from ug::IElemEstimatorFuncs< IElemDisc< TDomain >, TDomain >
typedef TDomain domain_type
 Domain type. More...
 
typedef IElemDisc< TDomain > leaf_type
 Barton Nackman trick (TODO: needed?) More...
 

Public Member Functions

 FV1InnerBoundaryElemDisc (const char *functions="", const char *subsets="")
 Constructor with c-strings. More...
 
 FV1InnerBoundaryElemDisc (const std::vector< std::string > &functions, const std::vector< std::string > &subsets)
 Constructor with functions. More...
 
virtual void prepare_setting (const std::vector< LFEID > &vLfeID, bool bNonRegularGrid) override
 type of trial space for each function used More...
 
void set_flux_scale (number scale)
 Setting the flux function. More...
 
void set_flux_scale (SmartPtr< CplUserData< number, dim > > scaleFct)
 
virtual bool use_hanging () const override
 returns if hanging nodes are used More...
 
virtual ~FV1InnerBoundaryElemDisc ()
 Destructor. 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 ug::IElemAssembleFuncs< IElemDisc< TDomain >, TDomain >
virtual void add_def_A_expl_elem (LocalVector &d, const LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[])
 defect for explicit terms More...
 
IElemDisc< TDomain > & asLeaf ()
 
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_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...
 
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...
 
- Public Member Functions inherited from ug::IElemError< 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< TDomain >
SmartPtr< ApproximationSpace< TDomain > > approx_space ()
 returns approximation space More...
 
ConstSmartPtr< ApproximationSpace< TDomain > > approx_space () const
 returns approximation space More...
 
void check_setup (bool bNonRegularGrid)
 checks the setup of the elem disc More...
 
void clear_imports ()
 removes all imports More...
 
SmartPtr< TDomain > domain ()
 returns the domain More...
 
ConstSmartPtr< TDomain > domain () const
 returns the domain More...
 
const FunctionGroupfunction_group () const
 returns the current function group More...
 
ConstSmartPtr< FunctionPatternfunction_pattern () const
 returns the current function pattern More...
 
IDataImport< dim > & get_import (size_t i)
 returns an import More...
 
 IElemDiscBase (const char *functions="", const char *subsets="")
 Constructor. More...
 
 IElemDiscBase (const std::vector< std::string > &vFct, const std::vector< std::string > &vSubset)
 Constructor. More...
 
bool is_time_dependent () const
 returns if assembling is time-dependent More...
 
bool local_time_series_needed ()
 
const LocalVectorTimeSerieslocal_time_solutions () const
 returns the local time solutions More...
 
const FunctionIndexMappingmap () const
 returns the current function index mapping More...
 
size_t num_fct () const
 number of functions this discretization handles More...
 
size_t num_imports () const
 returns number of imports More...
 
size_t num_subsets () const
 number of subsets this discretization handles More...
 
void register_import (IDataImport< dim > &Imp)
 registers a data import More...
 
virtual bool requests_local_time_series ()
 returns if local time series needed by assembling More...
 
void set_approximation_space (SmartPtr< ApproximationSpace< TDomain > > approxSpace)
 sets the approximation space More...
 
void set_functions (const std::string &functions)
 Approximation Space. More...
 
void set_functions (const std::vector< std::string > &functions)
 sets functions by vector of names More...
 
void set_stationary ()
 
void set_stationary (bool bStationaryForced=true)
 sets that the assembling is always stationary (even in instationary case) More...
 
void set_subsets (const std::string &subsets)
 sets subset(s) by name list, divided by ',' More...
 
void set_subsets (const std::vector< std::string > &subsets)
 sets subset(s) by name list, divided by ',' More...
 
void set_time_dependent (LocalVectorTimeSeries &locTimeSeries, const std::vector< number > &vScaleMass, const std::vector< number > &vScaleStiff)
 sets if assembling should be time-dependent and the local time series More...
 
void set_time_independent ()
 sets that the assembling is time independent More...
 
void set_time_point (const size_t timePoint)
 sets the current time point More...
 
TDomain::subset_handler_type & subset_handler ()
 returns the subset handler More...
 
const TDomain::subset_handler_type & subset_handler () const
 returns the subset handler More...
 
const std::vector< std::string > & symb_fcts () const
 returns the symbolic functions More...
 
const std::vector< std::string > & symb_subsets () const
 returns the symbolic subsets More...
 
number time () const
 returns currently set timepoint More...
 
size_t time_point () const
 returns the currently considered time point of the time-disc scheme More...
 
virtual int type () const
 returns the type of elem disc More...
 
virtual ~IElemDiscBase ()
 Virtual destructor. More...
 
const std::vector< number > & mass_scales () const
 
const std::vector< number > & stiff_scales () const
 
number mass_scale (const size_t timePoint) const
 
number stiff_scale (const size_t timePoint) const
 
number mass_scale () const
 
number stiff_scale () const
 
- Public Member Functions inherited from ug::IElemEstimatorFuncs< IElemDisc< TDomain >, TDomain >
IElemDisc< TDomain > & asLeaf ()
 
void check_roid (ReferenceObjectID roid, int discType)
 check, if all inputs have been set More...
 
virtual void compute_err_est_M_elem (const LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[], const number &scale)
 virtual compute the error estimator (mass part) contribution for one element More...
 
virtual void compute_err_est_rhs_elem (GridObject *elem, const MathVector< dim > vCornerCoords[], const number &scale)
 virtual compute the error estimator (rhs part) contribution for one element More...
 
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 ()
 returns the pointer to the error estimator data object (or NULL) More...
 
bool err_est_enabled () const
 find out whether or not a posteriori error estimation is to be performed for this disc More...
 
 IElemEstimatorFuncs ()
 constructor More...
 
void set_error_estimator (SmartPtr< IErrEstData< TDomain > > ee)
 sets the pointer to an error estimator data object (or NULL) More...
 
void set_roid (ReferenceObjectID id, int discType)
 sets the geometric object type More...
 
virtual ~IElemEstimatorFuncs ()
 Virtual destructor. More...
 

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 = TDomain::dim
 
- Static Public Attributes inherited from ug::IElemAssembleFuncs< IElemDisc< TDomain >, TDomain >
static const int dim
 World dimension. More...
 
- Static Public Attributes inherited from ug::IElemError< TDomain >
static const int dim = TDomain::dim
 
- Static Public Attributes inherited from ug::IElemDiscBase< TDomain >
static const int dim = TDomain::dim
 World dimension. More...
 
- Static Public Attributes inherited from ug::IElemEstimatorFuncs< IElemDisc< TDomain >, TDomain >
static const int dim
 World dimension. More...
 

Protected Member Functions

template<typename TAlgebra >
void prep_timestep (number future_time, number time, VectorProxyBase *upb)
 prepare the time step More...
 
void previous_solution_required (bool b)
 
- Protected Member Functions inherited from ug::IElemDisc< TDomain >
void clear_add_fct ()
 sets all assemble functions to NULL (for all ReferenceObjectID's) More...
 
void clear_add_fct (ReferenceObjectID id)
 sets all assemble functions to NULL for a given ReferenceObjectID More...
 
void set_default_add_fct ()
 sets all assemble functions to the corresponding virtual ones More...
 
- Protected Member Functions inherited from ug::IElemAssembleFuncs< IElemDisc< TDomain >, TDomain >
void set_prep_timestep_fct (size_t algebra_id, TAssFunc func)
 current Geometric Object More...
 
void set_prep_timestep_elem_fct (ReferenceObjectID id, TAssFunc func)
 current Geometric Object More...
 
void set_fsh_timestep_fct (size_t algebra_id, TAssFunc func)
 current Geometric Object More...
 
void set_fsh_timestep_elem_fct (ReferenceObjectID id, TAssFunc func)
 current Geometric Object More...
 
void set_prep_elem_loop_fct (ReferenceObjectID id, TAssFunc func)
 current Geometric Object More...
 
void set_prep_elem_fct (ReferenceObjectID id, TAssFunc func)
 current Geometric Object More...
 
void set_fsh_elem_loop_fct (ReferenceObjectID id, TAssFunc func)
 current Geometric Object More...
 
void set_add_jac_A_elem_fct (ReferenceObjectID id, TAssFunc func)
 current Geometric Object More...
 
void set_add_jac_M_elem_fct (ReferenceObjectID id, TAssFunc func)
 current Geometric Object More...
 
void set_add_def_A_elem_fct (ReferenceObjectID id, TAssFunc func)
 current Geometric Object More...
 
void set_add_def_A_expl_elem_fct (ReferenceObjectID id, TAssFunc func)
 current Geometric Object More...
 
void set_add_def_M_elem_fct (ReferenceObjectID id, TAssFunc func)
 current Geometric Object More...
 
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...
 
- Protected Member Functions inherited from ug::IElemError< TDomain >
void clear_add_fct ()
 sets all assemble functions to NULL (for all ReferenceObjectID's) More...
 
void clear_add_fct (ReferenceObjectID id)
 sets all assemble functions to NULL for a given ReferenceObjectID More...
 
- Protected Member Functions inherited from ug::IElemDiscBase< TDomain >
virtual void approximation_space_changed ()
 callback invoked, when approximation space is changed More...
 
void set_function_pattern (ConstSmartPtr< FunctionPattern > fctPatt)
 sets current function pattern More...
 
void update_function_index_mapping ()
 updates the function index mapping More...
 
- Protected Member Functions inherited from ug::IElemEstimatorFuncs< IElemDisc< TDomain >, TDomain >
void clear_add_fct ()
 sets all assemble functions to NULL (for all ReferenceObjectID's) More...
 
void clear_add_fct (ReferenceObjectID id)
 sets all assemble functions to NULL for a given ReferenceObjectID More...
 
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 ()
 sets all assemble functions to the corresponding virtual ones More...
 
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 IElemDisc< domain_typebase_type
 Base class type. More...
 
typedef FV1InnerBoundaryElemDisc< TImpl, TDomain > this_type
 own type More...
 

Private Member Functions

template<typename TElem , typename TFVGeom >
void add_def_A_elem (LocalVector &d, const LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[])
 assembles the stiffness part of the local defect More...
 
template<typename TElem , typename TFVGeom >
void add_def_M_elem (LocalVector &d, const LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[])
 assembles the mass part of the local defect More...
 
template<typename TElem , typename TFVGeom >
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 More...
 
template<typename TElem , typename TFVGeom >
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 More...
 
template<typename TElem , typename TFVGeom >
void add_rhs_elem (LocalVector &rhs, GridObject *elem, const MathVector< dim > vCornerCoords[])
 assembles the local right hand side More...
 
template<typename TElem , typename TFVGeom >
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 More...
 
template<typename TElem , typename TFVGeom >
void fsh_elem_loop ()
 finishes the loop over all elements More...
 
template<typename TElem , typename TFVGeom >
void fsh_err_est_elem_loop ()
 postprocesses the loop over all elements of one type in the computation of the error estimator More...
 
template<typename TElem , typename TFVGeom >
void prep_elem (const LocalVector &u, GridObject *elem, const ReferenceObjectID roid, const MathVector< dim > vCornerCoords[])
 prepares the element for assembling More...
 
template<typename TElem , typename TFVGeom >
void prep_elem_loop (const ReferenceObjectID roid, const int si)
 prepares the loop over all elements More...
 
template<typename TElem , typename TFVGeom >
void prep_err_est_elem (const LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[])
 prepares the element for assembling the error estimator More...
 
template<typename TElem , typename TFVGeom >
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 More...
 
void register_all_fv1_funcs ()
 
template<typename TElem , typename TFVGeom >
void register_fv1_func ()
 

Private Attributes

bool m_bCurrElemIsHSlave
 
bool m_bNonRegularGrid
 
bool m_bPrevSolRequired
 
DataImport< number, dimm_fluxScale
 
LocalVector m_locUOld
 
struct ug::FV1InnerBoundaryElemDisc::ShapeValues m_shapeValues
 
int m_si
 
SmartPtr< VectorProxyBasem_spOldSolutionProxy
 
std::vector< LocalVector::value_typem_uAtCorner
 
std::vector< LocalVector::value_typem_uOldAtCorner
 

Additional Inherited Members

- Protected Attributes inherited from ug::IElemDisc< TDomain >
std::vector< SmartPtr< IElemDiscModifier< TDomain > > > m_spElemModifier
 Approximation Space. More...
 
- Protected Attributes inherited from ug::IElemAssembleFuncs< IElemDisc< TDomain >, TDomain >
ReferenceObjectID m_roid
 current Geometric Object More...
 
- Protected Attributes inherited from ug::IElemDiscBase< TDomain >
bool m_bStationaryForced
 flag if stationary assembling is to be used even in instationary assembling More...
 
FunctionGroup m_fctGrp
 current function group More...
 
FunctionIndexMapping m_fctIndexMap
 current function index mapping More...
 
LocalVectorTimeSeriesm_pLocalVectorTimeSeries
 list of local vectors for all solutions of the time series More...
 
SmartPtr< ApproximationSpace< TDomain > > m_spApproxSpace
 Approximation Space. More...
 
ConstSmartPtr< FunctionPatternm_spFctPattern
 current function pattern More...
 
size_t m_timePoint
 time point More...
 
std::vector< std::string > m_vFct
 vector holding name of all symbolic functions More...
 
std::vector< IDataImport< dim > * > m_vIImport
 data imports More...
 
std::vector< std::string > m_vSubset
 vector holding name of all symbolic subsets More...
 
std::vector< numberm_vScaleMass
 
std::vector< numberm_vScaleStiff
 
- Protected Attributes inherited from ug::IElemEstimatorFuncs< IElemDisc< TDomain >, TDomain >
ReferenceObjectID m_roid
 current Geometric Object More...
 
SmartPtr< IErrEstData< TDomain > > m_spErrEstData
 error estimation object associated to the element discretization More...
 

Member Typedef Documentation

◆ base_type

template<typename TImpl , typename TDomain >
typedef IElemDisc<domain_type> ug::FV1InnerBoundaryElemDisc< TImpl, TDomain >::base_type
private

Base class type.

◆ domain_type

template<typename TImpl , typename TDomain >
typedef TDomain ug::FV1InnerBoundaryElemDisc< TImpl, TDomain >::domain_type

Domain type.

◆ err_est_type

template<typename TImpl , typename TDomain >
typedef MultipleSideAndElemErrEstData<domain_type> ug::FV1InnerBoundaryElemDisc< TImpl, TDomain >::err_est_type

error estimator type

◆ FluxCond

template<typename TImpl , typename TDomain >
typedef InnerBoundaryFluxCond ug::FV1InnerBoundaryElemDisc< TImpl, TDomain >::FluxCond

◆ FluxDerivCond

template<typename TImpl , typename TDomain >
typedef InnerBoundaryFluxDerivCond ug::FV1InnerBoundaryElemDisc< TImpl, TDomain >::FluxDerivCond

◆ position_type

template<typename TImpl , typename TDomain >
typedef base_type::position_type ug::FV1InnerBoundaryElemDisc< TImpl, TDomain >::position_type

Position type.

◆ this_type

template<typename TImpl , typename TDomain >
typedef FV1InnerBoundaryElemDisc<TImpl, TDomain> ug::FV1InnerBoundaryElemDisc< TImpl, TDomain >::this_type
private

own type

Constructor & Destructor Documentation

◆ FV1InnerBoundaryElemDisc() [1/2]

template<typename TImpl , typename TDomain >
ug::FV1InnerBoundaryElemDisc< TImpl, TDomain >::FV1InnerBoundaryElemDisc ( const char *  functions = "",
const char *  subsets = "" 
)
inline

◆ FV1InnerBoundaryElemDisc() [2/2]

template<typename TImpl , typename TDomain >
ug::FV1InnerBoundaryElemDisc< TImpl, TDomain >::FV1InnerBoundaryElemDisc ( const std::vector< std::string > &  functions,
const std::vector< std::string > &  subsets 
)
inline

◆ ~FV1InnerBoundaryElemDisc()

template<typename TImpl , typename TDomain >
virtual ug::FV1InnerBoundaryElemDisc< TImpl, TDomain >::~FV1InnerBoundaryElemDisc ( )
inlinevirtual

Destructor.

Member Function Documentation

◆ add_def_A_elem()

template<typename TImpl , typename TDomain >
template<typename TElem , typename TFVGeom >
void ug::FV1InnerBoundaryElemDisc< TImpl, TDomain >::add_def_A_elem ( LocalVector d,
const LocalVector u,
GridObject elem,
const MathVector< dim vCornerCoords[] 
)
privatevirtual

◆ add_def_M_elem()

template<typename TImpl , typename TDomain >
template<typename TElem , typename TFVGeom >
void ug::FV1InnerBoundaryElemDisc< TImpl, TDomain >::add_def_M_elem ( LocalVector d,
const LocalVector u,
GridObject elem,
const MathVector< dim vCornerCoords[] 
)
privatevirtual

assembles the mass part of the local defect

Reimplemented from ug::IElemAssembleFuncs< IElemDisc< TDomain >, TDomain >.

◆ add_jac_A_elem()

template<typename TImpl , typename TDomain >
template<typename TElem , typename TFVGeom >
void ug::FV1InnerBoundaryElemDisc< TImpl, TDomain >::add_jac_A_elem ( LocalMatrix J,
const LocalVector u,
GridObject elem,
const MathVector< dim vCornerCoords[] 
)
privatevirtual

◆ add_jac_M_elem()

template<typename TImpl , typename TDomain >
template<typename TElem , typename TFVGeom >
void ug::FV1InnerBoundaryElemDisc< TImpl, TDomain >::add_jac_M_elem ( LocalMatrix J,
const LocalVector u,
GridObject elem,
const MathVector< dim vCornerCoords[] 
)
privatevirtual

assembles the local mass matrix using a finite volume scheme

Reimplemented from ug::IElemAssembleFuncs< IElemDisc< TDomain >, TDomain >.

◆ add_rhs_elem()

template<typename TImpl , typename TDomain >
template<typename TElem , typename TFVGeom >
void ug::FV1InnerBoundaryElemDisc< TImpl, TDomain >::add_rhs_elem ( LocalVector rhs,
GridObject elem,
const MathVector< dim vCornerCoords[] 
)
privatevirtual

assembles the local right hand side

Reimplemented from ug::IElemAssembleFuncs< IElemDisc< TDomain >, TDomain >.

◆ compute_err_est_A_elem()

template<typename TImpl , typename TDomain >
template<typename TElem , typename TFVGeom >
void ug::FV1InnerBoundaryElemDisc< TImpl, TDomain >::compute_err_est_A_elem ( const LocalVector u,
GridObject elem,
const MathVector< dim vCornerCoords[],
const number scale 
)
privatevirtual

◆ fsh_elem_loop()

template<typename TImpl , typename TDomain >
template<typename TElem , typename TFVGeom >
void ug::FV1InnerBoundaryElemDisc< TImpl, TDomain >::fsh_elem_loop
privatevirtual

finishes the loop over all elements

Reimplemented from ug::IElemAssembleFuncs< IElemDisc< TDomain >, TDomain >.

◆ fsh_err_est_elem_loop()

template<typename TImpl , typename TDomain >
template<typename TElem , typename TFVGeom >
void ug::FV1InnerBoundaryElemDisc< TImpl, TDomain >::fsh_err_est_elem_loop
privatevirtual

postprocesses the loop over all elements of one type in the computation of the error estimator

Reimplemented from ug::IElemEstimatorFuncs< IElemDisc< TDomain >, TDomain >.

◆ prep_elem()

template<typename TImpl , typename TDomain >
template<typename TElem , typename TFVGeom >
void ug::FV1InnerBoundaryElemDisc< TImpl, TDomain >::prep_elem ( const LocalVector u,
GridObject elem,
const ReferenceObjectID  roid,
const MathVector< dim vCornerCoords[] 
)
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 dim, ug::ES_H_SLAVE, ug::GeomProvider< TGeom >::get(), ug::DistributedGridManager::get_status(), ug::LocalIndices::multi_index(), and UG_CATCH_THROW.

◆ prep_elem_loop()

template<typename TImpl , typename TDomain >
template<typename TElem , typename TFVGeom >
void ug::FV1InnerBoundaryElemDisc< TImpl, TDomain >::prep_elem_loop ( const ReferenceObjectID  roid,
const int  si 
)
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 dim, and ug::GeomProvider< TGeom >::get().

◆ prep_err_est_elem()

template<typename TImpl , typename TDomain >
template<typename TElem , typename TFVGeom >
void ug::FV1InnerBoundaryElemDisc< TImpl, TDomain >::prep_err_est_elem ( const LocalVector u,
GridObject elem,
const MathVector< dim vCornerCoords[] 
)
privatevirtual

◆ prep_err_est_elem_loop()

template<typename TImpl , typename TDomain >
template<typename TElem , typename TFVGeom >
void ug::FV1InnerBoundaryElemDisc< TImpl, TDomain >::prep_err_est_elem_loop ( const ReferenceObjectID  roid,
const int  si 
)
privatevirtual

◆ prep_timestep()

template<typename TImpl , typename TDomain >
template<typename TAlgebra >
void ug::FV1InnerBoundaryElemDisc< TImpl, TDomain >::prep_timestep ( number  future_time,
number  time,
VectorProxyBase u 
)
protectedvirtual

prepare the time step

Reimplemented from ug::IElemAssembleFuncs< IElemDisc< TDomain >, TDomain >.

References make_sp().

◆ prepare_setting()

template<typename TImpl , typename TDomain >
void ug::FV1InnerBoundaryElemDisc< TImpl, TDomain >::prepare_setting ( const std::vector< LFEID > &  vLfeID,
bool  bNonRegularGrid 
)
overridevirtual

type of trial space for each function used

Implements ug::IElemDiscBase< TDomain >.

References ug::LFEID::LAGRANGE, and UG_THROW.

◆ previous_solution_required()

template<typename TImpl , typename TDomain >
void ug::FV1InnerBoundaryElemDisc< TImpl, TDomain >::previous_solution_required ( bool  b)
protected

◆ register_all_fv1_funcs()

template<typename TImpl , typename TDomain >
void ug::FV1InnerBoundaryElemDisc< TImpl, TDomain >::register_all_fv1_funcs
private

◆ register_fv1_func()

template<typename TImpl , typename TDomain >
template<typename TElem , typename TFVGeom >
void ug::FV1InnerBoundaryElemDisc< TImpl, TDomain >::register_fv1_func
private

◆ set_flux_scale() [1/2]

template<typename TImpl , typename TDomain >
void ug::FV1InnerBoundaryElemDisc< TImpl, TDomain >::set_flux_scale ( number  scale)

Setting the flux function.

Setting a scaling factor for the flux

References make_sp().

◆ set_flux_scale() [2/2]

template<typename TImpl , typename TDomain >
void ug::FV1InnerBoundaryElemDisc< TImpl, TDomain >::set_flux_scale ( SmartPtr< CplUserData< number, dim > >  scaleFct)

◆ use_hanging()

template<typename TImpl , typename TDomain >
bool ug::FV1InnerBoundaryElemDisc< TImpl, TDomain >::use_hanging
overridevirtual

returns if hanging nodes are used

Reimplemented from ug::IElemDiscBase< TDomain >.

Member Data Documentation

◆ dim

template<typename TImpl , typename TDomain >
const int ug::FV1InnerBoundaryElemDisc< TImpl, TDomain >::dim = base_type::dim
static

World dimension.

◆ m_bCurrElemIsHSlave

template<typename TImpl , typename TDomain >
bool ug::FV1InnerBoundaryElemDisc< TImpl, TDomain >::m_bCurrElemIsHSlave
private

◆ m_bNonRegularGrid

template<typename TImpl , typename TDomain >
bool ug::FV1InnerBoundaryElemDisc< TImpl, TDomain >::m_bNonRegularGrid
private

◆ m_bPrevSolRequired

template<typename TImpl , typename TDomain >
bool ug::FV1InnerBoundaryElemDisc< TImpl, TDomain >::m_bPrevSolRequired
private

◆ m_fluxScale

template<typename TImpl , typename TDomain >
DataImport<number, dim> ug::FV1InnerBoundaryElemDisc< TImpl, TDomain >::m_fluxScale
private

◆ m_locUOld

template<typename TImpl , typename TDomain >
LocalVector ug::FV1InnerBoundaryElemDisc< TImpl, TDomain >::m_locUOld
private

◆ m_shapeValues

template<typename TImpl , typename TDomain >
struct ug::FV1InnerBoundaryElemDisc::ShapeValues ug::FV1InnerBoundaryElemDisc< TImpl, TDomain >::m_shapeValues
private

◆ m_si

template<typename TImpl , typename TDomain >
int ug::FV1InnerBoundaryElemDisc< TImpl, TDomain >::m_si
private

◆ m_spOldSolutionProxy

template<typename TImpl , typename TDomain >
SmartPtr<VectorProxyBase> ug::FV1InnerBoundaryElemDisc< TImpl, TDomain >::m_spOldSolutionProxy
private

◆ m_uAtCorner

template<typename TImpl , typename TDomain >
std::vector<LocalVector::value_type> ug::FV1InnerBoundaryElemDisc< TImpl, TDomain >::m_uAtCorner
private

◆ m_uOldAtCorner

template<typename TImpl , typename TDomain >
std::vector<LocalVector::value_type> ug::FV1InnerBoundaryElemDisc< TImpl, TDomain >::m_uOldAtCorner
private

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