Loading [MathJax]/extensions/tex2jax.js
ug4
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
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.
 
typedef MultipleSideAndElemErrEstData< domain_typeerr_est_type
 error estimator type
 
typedef InnerBoundaryFluxCond FluxCond
 
typedef InnerBoundaryFluxDerivCond FluxDerivCond
 
typedef base_type::position_type position_type
 Position type.
 
- Public Types inherited from ug::IElemDisc< TDomain >
typedef IElemAssembleFuncs< IElemDisc< TDomain >, TDomain > assemble_base_type
 
typedef IElemError< TDomain > base_type
 real base class
 
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.
 
typedef IElemDisc< TDomain > leaf_type
 Barton Nackman trick (TODO: needed?)
 
- 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.
 
typedef TDomain::position_type position_type
 Position type.
 
- Public Types inherited from ug::IElemEstimatorFuncs< IElemDisc< TDomain >, TDomain >
typedef TDomain domain_type
 Domain type.
 
typedef IElemDisc< TDomain > leaf_type
 Barton Nackman trick (TODO: needed?)
 

Public Member Functions

 FV1InnerBoundaryElemDisc (const char *functions="", const char *subsets="")
 Constructor with c-strings.
 
 FV1InnerBoundaryElemDisc (const std::vector< std::string > &functions, const std::vector< std::string > &subsets)
 Constructor with functions.
 
virtual void prepare_setting (const std::vector< LFEID > &vLfeID, bool bNonRegularGrid) override
 type of trial space for each function used
 
void set_flux_scale (number scale)
 Setting the flux function.
 
void set_flux_scale (SmartPtr< CplUserData< number, dim > > scaleFct)
 
virtual bool use_hanging () const override
 returns if hanging nodes are used
 
virtual ~FV1InnerBoundaryElemDisc ()
 Destructor.
 
- 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
 
IElemDisc< TDomain > & asLeaf ()
 
virtual void fsh_timestep (number time, VectorProxyBase *u)
 finish the time step
 
virtual void fsh_timestep_elem (const number time, const LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[])
 virtual finish the time step element-wise
 
 IElemAssembleFuncs ()
 constructor
 
virtual void post_assemble_loop ()
 virtual prepares the loop over all elements of one type
 
virtual void prep_assemble_loop ()
 virtual prepares the loop over all elements of one type
 
virtual void prep_timestep_elem (const number time, const LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[])
 prepare the time step element-wise
 
virtual ~IElemAssembleFuncs ()
 Virtual destructor.
 
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
 
void do_prep_elem_loop (const ReferenceObjectID roid, const int si)
 current Geometric Object
 
void do_prep_elem (LocalVector &u, GridObject *elem, const ReferenceObjectID roid, const MathVector< dim > vCornerCoords[])
 current Geometric Object
 
void do_fsh_elem_loop ()
 current Geometric Object
 
void do_fsh_timestep (const number time, VectorProxyBase *u, size_t algebra_id)
 current Geometric Object
 
void do_fsh_timestep_elem (const number time, LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[])
 current Geometric Object
 
void do_add_jac_A_elem (LocalMatrix &J, LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[])
 current Geometric Object
 
void do_add_jac_M_elem (LocalMatrix &J, LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[])
 current Geometric Object
 
void do_add_def_A_elem (LocalVector &d, LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[])
 current Geometric Object
 
void do_add_def_A_expl_elem (LocalVector &d, LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[])
 current Geometric Object
 
void do_add_def_M_elem (LocalVector &d, LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[])
 current Geometric Object
 
void do_add_rhs_elem (LocalVector &rhs, GridObject *elem, const MathVector< dim > vCornerCoords[])
 current Geometric Object
 
void set_roid (ReferenceObjectID id, int discType)
 sets the geometric object type
 
void check_roid (ReferenceObjectID roid, int discType)
 check, if all inputs have been set
 
- 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
 
ConstSmartPtr< ApproximationSpace< TDomain > > approx_space () const
 returns approximation space
 
void check_setup (bool bNonRegularGrid)
 checks the setup of the elem disc
 
void clear_imports ()
 removes all imports
 
SmartPtr< TDomain > domain ()
 returns the domain
 
ConstSmartPtr< TDomain > domain () const
 returns the domain
 
const FunctionGroupfunction_group () const
 returns the current function group
 
ConstSmartPtr< FunctionPatternfunction_pattern () const
 returns the current function pattern
 
IDataImport< dim > & get_import (size_t i)
 returns an import
 
 IElemDiscBase (const char *functions="", const char *subsets="")
 Constructor.
 
 IElemDiscBase (const std::vector< std::string > &vFct, const std::vector< std::string > &vSubset)
 Constructor.
 
bool is_time_dependent () const
 returns if assembling is time-dependent
 
bool local_time_series_needed ()
 
const LocalVectorTimeSerieslocal_time_solutions () const
 returns the local time solutions
 
const FunctionIndexMappingmap () const
 returns the current function index mapping
 
size_t num_fct () const
 number of functions this discretization handles
 
size_t num_imports () const
 returns number of imports
 
size_t num_subsets () const
 number of subsets this discretization handles
 
void register_import (IDataImport< dim > &Imp)
 registers a data import
 
virtual bool requests_local_time_series ()
 returns if local time series needed by assembling
 
void set_approximation_space (SmartPtr< ApproximationSpace< TDomain > > approxSpace)
 sets the approximation space
 
void set_functions (const std::string &functions)
 Approximation Space.
 
void set_functions (const std::vector< std::string > &functions)
 sets functions by vector of names
 
void set_stationary ()
 
void set_stationary (bool bStationaryForced=true)
 sets that the assembling is always stationary (even in instationary case)
 
void set_subsets (const std::string &subsets)
 sets subset(s) by name list, divided by ','
 
void set_subsets (const std::vector< std::string > &subsets)
 sets subset(s) by name list, divided by ','
 
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
 
void set_time_independent ()
 sets that the assembling is time independent
 
void set_time_point (const size_t timePoint)
 sets the current time point
 
TDomain::subset_handler_type & subset_handler ()
 returns the subset handler
 
const TDomain::subset_handler_type & subset_handler () const
 returns the subset handler
 
const std::vector< std::string > & symb_fcts () const
 returns the symbolic functions
 
const std::vector< std::string > & symb_subsets () const
 returns the symbolic subsets
 
number time () const
 returns currently set timepoint
 
size_t time_point () const
 returns the currently considered time point of the time-disc scheme
 
virtual int type () const
 returns the type of elem disc
 
virtual ~IElemDiscBase ()
 Virtual destructor.
 
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
 
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
 
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
 
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)
 
bool err_est_enabled () const
 find out whether or not a posteriori error estimation is to be performed for this disc
 
 IElemEstimatorFuncs ()
 constructor
 
void set_error_estimator (SmartPtr< IErrEstData< TDomain > > ee)
 sets the pointer to an error estimator data object (or NULL)
 
void set_roid (ReferenceObjectID id, int discType)
 sets the geometric object type
 
virtual ~IElemEstimatorFuncs ()
 Virtual destructor.
 

Static Public Attributes

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

Protected Member Functions

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

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
 
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
 
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
 
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
 
template<typename TElem , typename TFVGeom >
void add_rhs_elem (LocalVector &rhs, GridObject *elem, const MathVector< dim > vCornerCoords[])
 assembles the local right hand side
 
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
 
template<typename TElem , typename TFVGeom >
void fsh_elem_loop ()
 finishes the loop over all elements
 
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
 
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
 
template<typename TElem , typename TFVGeom >
void prep_elem_loop (const ReferenceObjectID roid, const int si)
 prepares the loop over all elements
 
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
 
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
 
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.
 
- Protected Attributes inherited from ug::IElemAssembleFuncs< IElemDisc< TDomain >, TDomain >
ReferenceObjectID m_roid
 current Geometric Object
 
- Protected Attributes inherited from ug::IElemDiscBase< TDomain >
bool m_bStationaryForced
 flag if stationary assembling is to be used even in instationary assembling
 
FunctionGroup m_fctGrp
 current function group
 
FunctionIndexMapping m_fctIndexMap
 current function index mapping
 
LocalVectorTimeSeriesm_pLocalVectorTimeSeries
 list of local vectors for all solutions of the time series
 
SmartPtr< ApproximationSpace< TDomain > > m_spApproxSpace
 Approximation Space.
 
ConstSmartPtr< FunctionPatternm_spFctPattern
 current function pattern
 
size_t m_timePoint
 time point
 
std::vector< std::string > m_vFct
 vector holding name of all symbolic functions
 
std::vector< IDataImport< dim > * > m_vIImport
 data imports
 
std::vector< std::string > m_vSubset
 vector holding name of all symbolic subsets
 
std::vector< numberm_vScaleMass
 
std::vector< numberm_vScaleStiff
 
- Protected Attributes inherited from ug::IElemEstimatorFuncs< IElemDisc< TDomain >, TDomain >
ReferenceObjectID m_roid
 current Geometric Object
 
SmartPtr< IErrEstData< TDomain > > m_spErrEstData
 error estimation object associated to the element discretization
 

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 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 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

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::LagrangeP1< TRefElem >::num_sh(), ug::BaseLSFS< TImpl, TDim, TShape, TGrad >::shapes(), UG_CATCH_THROW, and UG_THROW.

◆ 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 ( ) const
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: