Plugins
Loading...
Searching...
No Matches
ug::d3f::FractPF_FV1< TDomain > Class Template Reference

FV-discretization of the density-driven flow in porous media with fractures. More...

#include <fract_pf_fv1.h>

+ Inheritance diagram for ug::d3f::FractPF_FV1< TDomain >:

Classes

struct  RegisterLocalDiscr
 

Public Member Functions

bool condensed_FV ()
 returns the 'condensed scvf ip' flag
 
 FractPF_FV1 (const char *functions, const char *subsets)
 class constructor (for the normal, not condensed FV)
 
 FractPF_FV1 (const char *functions, const char *subsets, bool condensed_FV)
 class constructor
 
void set_aperture (number val)
 
void set_aperture (SmartPtr< CplUserData< number, dim > > user)
 set Specific parameters for low-dimensional subdomains (fractures):
 
void set_density (number density)
 set the Global parameters (for all subdomains):
 
void set_fract_manager (SmartPtr< fract_manager_type > fract_manager)
 sets the fracture manager
 
void set_fract_permeability (number val)
 
void set_fract_permeability (SmartPtr< CplUserData< number, dim > > user)
 
void set_gravity (const std::vector< number > &vGravity)
 
void set_gravity (SmartPtr< CplUserData< MathVector< dim >, dim > > user)
 
void set_orthofract_permeability (number val)
 
void set_orthofract_permeability (SmartPtr< CplUserData< number, dim > > user)
 
void set_permeability (number val)
 
void set_permeability (SmartPtr< CplUserData< MathMatrix< dim, dim >, dim > > user)
 set permeability for full-dimensional subdomains (bulk medium):
 
void set_viscosity (number viscosity)
 
- 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 ()
 

Protected Member Functions

template<typename TElem , typename TBulkFVGeom >
void ass_dA_elem (LocalVector &d, const LocalVector &u, GridObject *elem, const position_type vCornerCoords[])
 computes the stiffness part of the local defect
 
template<typename TElem , typename TBulkFVGeom >
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 , typename TBulkFVGeom >
void ass_JA_elem (LocalMatrix &J, const LocalVector &u, GridObject *elem, const position_type vCornerCoords[])
 computes the local stiffness matrix
 
template<typename TElem , typename TBulkFVGeom >
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 , typename TBulkFVGeom >
void ass_rhs_elem (LocalVector &d, GridObject *elem, const position_type vCornerCoords[])
 computes the right-hand side due to the gravitation and the mass sources
 
template<typename TElem , typename TBulkFVGeom >
void finish_element_loop ()
 finalizes the loop over the elements
 
template<typename TElem , typename TBulkFVGeom >
void prepare_element (const LocalVector &u, GridObject *elem, ReferenceObjectID roid, const position_type vCornerCoords[])
 prepares a given element for assembling
 
template<typename TElem , typename TBulkFVGeom >
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
 
- 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)
 

Private Types

typedef domain_traits< dim >::DimElemList AssembleElemList
 list of element types for assembling
 
typedef IElemDisc< TDomain > base_type
 base class type
 
typedef base_type::domain_type domain_type
 domain type
 
typedef DegeneratedLayerManager< dimfract_manager_type
 fracture manager type
 
typedef base_type::position_type position_type
 position type
 
typedef fract_manager_type::side_type side_type
 type of the sides of elements (als low-dimensional fracture elements)
 
typedef DimFV1Geometry< low_dim, dimTFractFVGeom
 FV geometry for the fractures.
 
typedef FractPF_FV1< TDomain > this_type
 own type
 

Private Member Functions

template<typename TElem , typename TBulkFVGeom >
void bulk_ass_dA_elem (LocalVector &d, const LocalVector &u, TElem *elem, const position_type vCornerCoords[])
 computes the stiffness part of the local defect on a bulk element
 
template<typename TElem , typename TBulkFVGeom >
void bulk_ass_JA_elem (LocalMatrix &J, const LocalVector &u, TElem *elem, const position_type vCornerCoords[])
 computes the local stiffness matrix on a bulk element
 
template<typename TElem , typename TBulkFVGeom >
void bulk_ass_rhs_elem (LocalVector &d, TElem *elem, const position_type vCornerCoords[])
 computes the right-hand side due to the gravitation and the mass sources
 
template<typename TElem , typename TBulkFVGeom >
void bulk_prepare_element (const LocalVector &u, TElem *elem, const position_type vCornerCoords[])
 prepares a given bulk element for assembling
 
template<typename TElem , typename TBulkFVGeom >
void bulk_prepare_element_loop (ReferenceObjectID roid, int si)
 prepares the loop over the elements: the 'bulk' version
 
template<typename TFVGeom >
void compute_ip_velocity (MathVector< dim > &Vel, size_t ip, const TFVGeom &bulk_geo, number vPressure[])
 computes the pressure part of the Darcy velocity (not scaled with the permeability!)
 
template<typename TFVGeom >
void compute_J_ip_velocity (MathVector< dim > Vel_p[], size_t ip, const TFVGeom &geo)
 computes the derivatives of the Darcy velocity (not scaled with the permeability)
 
template<typename TElem >
void fract_ass_dA_elem (LocalVector &d, const LocalVector &u, TElem *elem, const position_type vCornerCoords[])
 computes the stiffness part of the local defect on a fracture element
 
template<typename TElem >
void fract_ass_JA_elem (LocalMatrix &J, const LocalVector &u, TElem *elem, const position_type vCornerCoords[])
 computes the local stiffness matrix on a fracture element
 
template<typename TElem >
void fract_ass_rhs_elem (LocalVector &d, TElem *elem, const position_type vCornerCoords[])
 computes the right-hand side due to the gravitation and the mass sources
 
template<typename TElem >
void fract_bulk_ass_dA_elem (LocalVector &d, const LocalVector &u, TElem *elem, const position_type vCornerCoords[])
 computes the stiffness fracture-bulk interaction terms of the local defect on a fracture element
 
template<typename TElem >
void fract_bulk_ass_JA_elem (LocalMatrix &J, const LocalVector &u, TElem *elem, const position_type vCornerCoords[])
 computes the local stiffness matrix of the fracture-bulk interaction terms on a fracture element
 
template<typename TElem >
void fract_prepare_element (const LocalVector &u, TElem *elem, const position_type vCornerCoords[])
 prepares a given fracture element for assembling
 
template<typename TElem >
void fract_prepare_element_loop (ReferenceObjectID roid, int si)
 prepares the loop over the elements: the 'fracture' version
 
void register_discr_and_param (bool condensed)
 calls functions for registering all the provided discretization functions and parameters
 
template<typename TElem >
void register_loc_discr_func ()
 registers the local assembler functions for a given element
 
template<typename TElem , typename TBulkFVGeom >
void register_loc_discr_func_with_fvgeom ()
 registers the local assembler functions for a given element
 

Private Attributes

size_t m_assCo [2 *maxFractSideCorners]
 correspondence of the corners of the sides
 
bool m_bCondensedFV
 if to use the 'condensed' FV scvf ip's (corrently concerns only the bulk medium)
 
number m_density
 density of the fluid phase
 
MathVector< dimm_elem_loc_coe
 local coordinates of the mass center of a fracture element
 
MathVector< dimm_elem_loc_scvf [TFractFVGeom::maxNumSCVF]
 local ip's in a fracture element
 
SmartPtr< DataExport< number, dim > > m_exBrine
 Export parameter for the brine mass fraction.
 
MathVector< dimm_Gravity
 the gravity vector
 
DataImport< number, dimm_imAperture
 the fracture width (constant per element)
 
DataImport< MathVector< dim >, dimm_imConstGravity
 gravity (must be constant)
 
DataImport< number, dimm_imFractPermeability
 scalar permeability along the fracture (constant per element)
 
DataImport< number, dimm_imOrthoPermeability
 scalar permeability of the fract.-bulk interface (constant per element)
 
DataImport< MathMatrix< dim, dim >, dimm_imPermeability
 permeability (constant per element)
 
side_typem_innerFractSide
 inner side of the fracture element
 
size_t m_innerFractSideIdx
 index of the inner side in the ref. elem.
 
size_t m_innerSideCo [maxFractSideCorners]
 inner side corner idx -> elem. corner idx
 
bool m_isFracture
 if the current subset is registered in the fracture manager
 
size_t m_numFractCo
 number of corners of the fracture side
 
side_typem_outerFractSide
 outer side of the fracture element
 
size_t m_outerFractSideIdx
 index of the outer side in the ref. elem.
 
size_t m_outerSideCo [maxFractSideCorners]
 outer side corner idx -> elem. corner idx
 
TFractFVGeomm_pFractGeo
 FV geometry object of fracture elements.
 
SmartPtr< CplUserData< number, dim > > m_spApertureData
 
SmartPtr< fract_manager_typem_spFractManager
 degenerated fracture manager (may be SPNULL)
 
SmartPtr< CplUserData< number, dim > > m_spFractPermeabilityData
 
SmartPtr< CplUserData< number, dim > > m_spOrthoPermeabilityData
 
MathVector< dimm_unitOuterNormal
 unit outer normal to the fracture
 
number m_viscosity
 viscosity of the fluid phase
 

Static Private Attributes

static const size_t _P_ = 0
 abbreviation for the local function: pressure (the only variable)
 
static const int dim = base_type::dim
 world ('full') dimension
 
static const int low_dim = dim - 1
 manifold ('low') dimension
 
static const size_t maxFractSideCorners = fract_manager_type::maxLayerSideCorners
 max. number of corners of non-degenerated sides
 

Additional Inherited Members

- 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
 
- 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 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::d3f::FractPF_FV1< TDomain >

FV-discretization of the density-driven flow in porous media with fractures.

This class implements the local vertex-centered FV-discretization of the density-driven flow model with (optionally) low-dimensional fractures. For details, cf.

  • S. Reiter, D. Logashenko, A. Grillo, G. Wittum, Preparation of grids for simulations of groundwater flow in fractured porous media, Computing and Visualization in Science, Vol. 15, No. 4 (2012), pp. 209-225, DOI: 10.1007/s00791-013-0210-7
  • S. Reiter, D. Logashenko, S. Stichel, G. Wittum, A. Grillo, Models and simulations of variable-density flow in fractured porous media. Int. J. Computational Science and Engineering, 2014, in press

Member Typedef Documentation

◆ AssembleElemList

template<typename TDomain >
typedef domain_traits<dim>::DimElemList ug::d3f::FractPF_FV1< TDomain >::AssembleElemList
private

list of element types for assembling

◆ base_type

template<typename TDomain >
typedef IElemDisc<TDomain> ug::d3f::FractPF_FV1< TDomain >::base_type
private

base class type

◆ domain_type

template<typename TDomain >
typedef base_type::domain_type ug::d3f::FractPF_FV1< TDomain >::domain_type
private

domain type

◆ fract_manager_type

template<typename TDomain >
typedef DegeneratedLayerManager<dim> ug::d3f::FractPF_FV1< TDomain >::fract_manager_type
private

fracture manager type

◆ position_type

template<typename TDomain >
typedef base_type::position_type ug::d3f::FractPF_FV1< TDomain >::position_type
private

position type

◆ side_type

template<typename TDomain >
typedef fract_manager_type::side_type ug::d3f::FractPF_FV1< TDomain >::side_type
private

type of the sides of elements (als low-dimensional fracture elements)

◆ TFractFVGeom

template<typename TDomain >
typedef DimFV1Geometry<low_dim, dim> ug::d3f::FractPF_FV1< TDomain >::TFractFVGeom
private

FV geometry for the fractures.

◆ this_type

template<typename TDomain >
typedef FractPF_FV1<TDomain> ug::d3f::FractPF_FV1< TDomain >::this_type
private

own type

Constructor & Destructor Documentation

◆ FractPF_FV1() [1/2]

template<typename TDomain >
ug::d3f::FractPF_FV1< TDomain >::FractPF_FV1 ( const char *  functions,
const char *  subsets,
bool  condensed_FV 
)

class constructor

Parameters
functionsnames of the grid functons for concentration and pressure
subsetsnames of the (full-dimensional) subsets
condensed_FVinitialize for the 'condensed scvf ip' FV scheme

References ug::IElemDiscBase< typename TDomain >::num_fct(), ug::d3f::FractPF_FV1< TDomain >::register_discr_and_param(), and UG_THROW.

◆ FractPF_FV1() [2/2]

template<typename TDomain >
ug::d3f::FractPF_FV1< TDomain >::FractPF_FV1 ( const char *  functions,
const char *  subsets 
)

class constructor (for the normal, not condensed FV)

Parameters
functionsnames of the grid functons for concentration and pressure
subsetsnames of the (full-dimensional) subsets

References ug::IElemDiscBase< typename TDomain >::num_fct(), ug::d3f::FractPF_FV1< TDomain >::register_discr_and_param(), and UG_THROW.

Member Function Documentation

◆ ass_dA_elem()

template<typename TDomain >
template<typename TElem , typename TBulkFVGeom >
void ug::d3f::FractPF_FV1< TDomain >::ass_dA_elem ( LocalVector d,
const LocalVector u,
GridObject elem,
const position_type  vCornerCoords[] 
)
protected

computes the stiffness part of the local defect

Parameters
dthe local defect to update
ucurrent approximation of the solution
elemgrid element
vCornerCoordscorner coordinates of the grid element

◆ ass_dM_elem()

template<typename TDomain >
template<typename TElem , typename TBulkFVGeom >
void ug::d3f::FractPF_FV1< TDomain >::ass_dM_elem ( LocalVector d,
const LocalVector u,
GridObject elem,
const position_type  vCornerCoords[] 
)
protected

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

Parameters
dthe local defect to update
ucurrent approximation of the solution
elemgrid element
vCornerCoordscorner coordinates of the grid element

◆ ass_JA_elem()

template<typename TDomain >
template<typename TElem , typename TBulkFVGeom >
void ug::d3f::FractPF_FV1< TDomain >::ass_JA_elem ( LocalMatrix J,
const LocalVector u,
GridObject elem,
const position_type  vCornerCoords[] 
)
protected

computes the local stiffness matrix

Parameters
Jthe local matrix to update
ucurrent approximation of the solution
elemgrid element
vCornerCoordscorner coordinates of the grid element

◆ ass_JM_elem()

template<typename TDomain >
template<typename TElem , typename TBulkFVGeom >
void ug::d3f::FractPF_FV1< TDomain >::ass_JM_elem ( LocalMatrix J,
const LocalVector u,
GridObject elem,
const position_type  vCornerCoords[] 
)
protected

computes the mass matrix of a time-dependent problem

Parameters
Jthe local matrix to update
ucurrent approximation of the solution
elemgrid element
vCornerCoordscorner coordinates of the grid element

◆ ass_rhs_elem()

template<typename TDomain >
template<typename TElem , typename TBulkFVGeom >
void ug::d3f::FractPF_FV1< TDomain >::ass_rhs_elem ( LocalVector b,
GridObject elem,
const position_type  vCornerCoords[] 
)
protected

computes the right-hand side due to the gravitation and the mass sources

Parameters
bthe right-hand side to update
elemgrid element
vCornerCoordscorner coordinates of the grid element

◆ bulk_ass_dA_elem()

template<typename TDomain >
template<typename TElem , typename TBulkFVGeom >
void ug::d3f::FractPF_FV1< TDomain >::bulk_ass_dA_elem ( LocalVector d,
const LocalVector u,
TElem *  pElem,
const position_type  vCornerCoords[] 
)
inlineprivate

computes the stiffness part of the local defect on a bulk element

Parameters
dthe local defect to update
ucurrent approximation of the solution
pElemgrid element
vCornerCoordscorner coordinates of the grid element

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

◆ bulk_ass_JA_elem()

template<typename TDomain >
template<typename TElem , typename TBulkFVGeom >
void ug::d3f::FractPF_FV1< TDomain >::bulk_ass_JA_elem ( LocalMatrix J,
const LocalVector u,
TElem *  pElem,
const position_type  vCornerCoords[] 
)
inlineprivate

computes the local stiffness matrix on a bulk element

Parameters
Jthe local matrix to update
ucurrent approximation of the solution
pElemgrid element
vCornerCoordscorner coordinates of the grid element

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

◆ bulk_ass_rhs_elem()

template<typename TDomain >
template<typename TElem , typename TBulkFVGeom >
void ug::d3f::FractPF_FV1< TDomain >::bulk_ass_rhs_elem ( LocalVector b,
TElem *  elem,
const position_type  vCornerCoords[] 
)
inlineprivate

computes the right-hand side due to the gravitation and the mass sources

Parameters
bthe right-hand side to update
elemgrid element
vCornerCoordscorner coordinates of the grid element

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

◆ bulk_prepare_element()

template<typename TDomain >
template<typename TElem , typename TBulkFVGeom >
void ug::d3f::FractPF_FV1< TDomain >::bulk_prepare_element ( const LocalVector u,
TElem *  elem,
const position_type  vCornerCoords[] 
)
inlineprivate

prepares a given bulk element for assembling

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.

◆ bulk_prepare_element_loop()

template<typename TDomain >
template<typename TElem , typename TBulkFVGeom >
void ug::d3f::FractPF_FV1< TDomain >::bulk_prepare_element_loop ( ReferenceObjectID  roid,
int  si 
)
inlineprivate

prepares the loop over the elements: the 'bulk' version

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

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

◆ compute_ip_velocity()

template<typename TDomain >
template<typename TFVGeom >
void ug::d3f::FractPF_FV1< TDomain >::compute_ip_velocity ( MathVector< dim > &  Vel,
size_t  ip,
const TFVGeom &  bulk_geo,
number  vPressure[] 
)
inlineprivate

computes the pressure part of the Darcy velocity (not scaled with the permeability!)

Parameters
Velto save the velocity
ipindex of the integration point
bulk_geofinite-volume geometry
vPressurecorner values of the pressure

References ug::VecScaleAppend().

◆ compute_J_ip_velocity()

template<typename TDomain >
template<typename TFVGeom >
void ug::d3f::FractPF_FV1< TDomain >::compute_J_ip_velocity ( MathVector< dim Vel_p[],
size_t  ip,
const TFVGeom &  geo 
)
inlineprivate

computes the derivatives of the Darcy velocity (not scaled with the permeability)

Parameters
Vel_pto save the derivatives wrt the corner pressures
ipindex of the integration point
geofinite-volume geometry

References ug::VecScale().

◆ condensed_FV()

template<typename TDomain >
bool ug::d3f::FractPF_FV1< TDomain >::condensed_FV ( )
inline

returns the 'condensed scvf ip' flag

References ug::d3f::FractPF_FV1< TDomain >::m_bCondensedFV.

◆ finish_element_loop()

template<typename TDomain >
template<typename TElem , typename TBulkFVGeom >
void ug::d3f::FractPF_FV1< TDomain >::finish_element_loop ( )
protected

finalizes the loop over the elements

◆ fract_ass_dA_elem()

template<typename TDomain >
template<typename TElem >
void ug::d3f::FractPF_FV1< TDomain >::fract_ass_dA_elem ( LocalVector d,
const LocalVector u,
TElem *  pElem,
const position_type  vCornerCoords[] 
)
inlineprivate

computes the stiffness part of the local defect on a fracture element

Parameters
dthe local defect to update
ucurrent approximation of the solution
pElemgrid element
vCornerCoordscorner coordinates of the grid element

References ug::VecDot().

◆ fract_ass_JA_elem()

template<typename TDomain >
template<typename TElem >
void ug::d3f::FractPF_FV1< TDomain >::fract_ass_JA_elem ( LocalMatrix J,
const LocalVector u,
TElem *  pElem,
const position_type  vCornerCoords[] 
)
inlineprivate

computes the local stiffness matrix on a fracture element

Parameters
Jthe local matrix to update
ucurrent approximation of the solution
pElemgrid element
vCornerCoordscorner coordinates of the grid element

References ug::VecDot().

◆ fract_ass_rhs_elem()

template<typename TDomain >
template<typename TElem >
void ug::d3f::FractPF_FV1< TDomain >::fract_ass_rhs_elem ( LocalVector b,
TElem *  elem,
const position_type  vCornerCoords[] 
)
inlineprivate

computes the right-hand side due to the gravitation and the mass sources

Parameters
bthe right-hand side to update
elemgrid element
vCornerCoordscorner coordinates of the grid element

References ug::VecDot(), and ug::VecScale().

◆ fract_bulk_ass_dA_elem()

template<typename TDomain >
template<typename TElem >
void ug::d3f::FractPF_FV1< TDomain >::fract_bulk_ass_dA_elem ( LocalVector d,
const LocalVector u,
TElem *  pElem,
const position_type  vCornerCoords[] 
)
inlineprivate

computes the stiffness fracture-bulk interaction terms of the local defect on a fracture element

Parameters
dthe local defect to update
ucurrent approximation of the solution
pElemgrid element
vCornerCoordscorner coordinates of the grid element

References ug::MatVecMult(), and ug::VecDot().

◆ fract_bulk_ass_JA_elem()

template<typename TDomain >
template<typename TElem >
void ug::d3f::FractPF_FV1< TDomain >::fract_bulk_ass_JA_elem ( LocalMatrix J,
const LocalVector u,
TElem *  pElem,
const position_type  vCornerCoords[] 
)
inlineprivate

computes the local stiffness matrix of the fracture-bulk interaction terms on a fracture element

Parameters
Jthe local matrix to update
ucurrent approximation of the solution
pElemgrid element
vCornerCoordscorner coordinates of the grid element

References ug::MatVecMult(), s, and ug::VecDot().

◆ fract_prepare_element()

template<typename TDomain >
template<typename TElem >
void ug::d3f::FractPF_FV1< TDomain >::fract_prepare_element ( const LocalVector u,
TElem *  elem,
const position_type  vCornerCoords[] 
)
inlineprivate

prepares a given fracture element for assembling

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

References ug::Provider< typename TClass >::get(), ug::DimReferenceMapping< int TDim, int TWorldDim >::local_to_global(), subset_handler(), UG_CATCH_THROW, UG_THROW, ug::DimReferenceMapping< int TDim, int TWorldDim >::update(), and ug::VecLength().

◆ fract_prepare_element_loop()

template<typename TDomain >
template<typename TElem >
void ug::d3f::FractPF_FV1< TDomain >::fract_prepare_element_loop ( ReferenceObjectID  roid,
int  si 
)
inlineprivate

prepares the loop over the elements: the 'fracture' version

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

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

◆ prepare_element()

template<typename TDomain >
template<typename TElem , typename TBulkFVGeom >
void ug::d3f::FractPF_FV1< TDomain >::prepare_element ( const LocalVector u,
GridObject elem,
ReferenceObjectID  roid,
const position_type  vCornerCoords[] 
)
protected

prepares a given element for assembling

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

◆ prepare_element_loop()

template<typename TDomain >
template<typename TElem , typename TBulkFVGeom >
void ug::d3f::FractPF_FV1< TDomain >::prepare_element_loop ( ReferenceObjectID  roid,
int  si 
)
protected

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

◆ prepare_setting()

template<typename TDomain >
void ug::d3f::FractPF_FV1< TDomain >::prepare_setting ( const std::vector< LFEID > &  vLfeID,
bool  bNonRegular 
)
protectedvirtual

check type of the grid and the trial space

checks the grid and the shape functions

Implements ug::IElemDiscBase< typename TDomain >.

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

◆ register_discr_and_param()

template<typename TDomain >
void ug::d3f::FractPF_FV1< TDomain >::register_discr_and_param ( bool  condensed)
private

calls functions for registering all the provided discretization functions and parameters

Parameters
condenseduse the 'condensed' FV

Referenced by ug::d3f::FractPF_FV1< TDomain >::FractPF_FV1(), and ug::d3f::FractPF_FV1< TDomain >::FractPF_FV1().

◆ register_loc_discr_func()

template<typename TDomain >
template<typename TElem >
void ug::d3f::FractPF_FV1< TDomain >::register_loc_discr_func ( )
private

registers the local assembler functions for a given element

Referenced by ug::d3f::FractPF_FV1< TDomain >::RegisterLocalDiscr::operator()().

◆ register_loc_discr_func_with_fvgeom()

template<typename TDomain >
template<typename TElem , typename TBulkFVGeom >
void ug::d3f::FractPF_FV1< TDomain >::register_loc_discr_func_with_fvgeom ( )
private

registers the local assembler functions for a given element

◆ set_aperture() [1/2]

template<typename TDomain >
void ug::d3f::FractPF_FV1< TDomain >::set_aperture ( number  val)
inline

◆ set_aperture() [2/2]

template<typename TDomain >
void ug::d3f::FractPF_FV1< TDomain >::set_aperture ( SmartPtr< CplUserData< number, dim > >  user)
inline

set Specific parameters for low-dimensional subdomains (fractures):

References ug::d3f::FractPF_FV1< TDomain >::m_spApertureData.

Referenced by ug::d3f::FractPF_FV1< TDomain >::set_aperture().

◆ set_density()

template<typename TDomain >
void ug::d3f::FractPF_FV1< TDomain >::set_density ( number  density)
inline

set the Global parameters (for all subdomains):

References ug::d3f::FractPF_FV1< TDomain >::m_density.

◆ set_fract_manager()

template<typename TDomain >
void ug::d3f::FractPF_FV1< TDomain >::set_fract_manager ( SmartPtr< fract_manager_type fract_manager)
inline

sets the fracture manager

References ug::d3f::FractPF_FV1< TDomain >::m_spFractManager.

◆ set_fract_permeability() [1/2]

template<typename TDomain >
void ug::d3f::FractPF_FV1< TDomain >::set_fract_permeability ( number  val)
inline

◆ set_fract_permeability() [2/2]

template<typename TDomain >
void ug::d3f::FractPF_FV1< TDomain >::set_fract_permeability ( SmartPtr< CplUserData< number, dim > >  user)
inline

◆ set_gravity() [1/2]

template<typename TDomain >
void ug::d3f::FractPF_FV1< TDomain >::set_gravity ( const std::vector< number > &  vGravity)
inline

◆ set_gravity() [2/2]

template<typename TDomain >
void ug::d3f::FractPF_FV1< TDomain >::set_gravity ( SmartPtr< CplUserData< MathVector< dim >, dim > >  user)
inline

◆ set_orthofract_permeability() [1/2]

template<typename TDomain >
void ug::d3f::FractPF_FV1< TDomain >::set_orthofract_permeability ( number  val)
inline

◆ set_orthofract_permeability() [2/2]

template<typename TDomain >
void ug::d3f::FractPF_FV1< TDomain >::set_orthofract_permeability ( SmartPtr< CplUserData< number, dim > >  user)
inline

◆ set_permeability() [1/2]

template<typename TDomain >
void ug::d3f::FractPF_FV1< TDomain >::set_permeability ( number  val)
inline

◆ set_permeability() [2/2]

template<typename TDomain >
void ug::d3f::FractPF_FV1< TDomain >::set_permeability ( SmartPtr< CplUserData< MathMatrix< dim, dim >, dim > >  user)
inline

set permeability for full-dimensional subdomains (bulk medium):

References ug::d3f::FractPF_FV1< TDomain >::m_imPermeability.

Referenced by ug::d3f::FractPF_FV1< TDomain >::set_permeability().

◆ set_viscosity()

template<typename TDomain >
void ug::d3f::FractPF_FV1< TDomain >::set_viscosity ( number  viscosity)
inline

Member Data Documentation

◆ _P_

template<typename TDomain >
const size_t ug::d3f::FractPF_FV1< TDomain >::_P_ = 0
staticprivate

abbreviation for the local function: pressure (the only variable)

◆ dim

template<typename TDomain >
const int ug::d3f::FractPF_FV1< TDomain >::dim = base_type::dim
staticprivate

world ('full') dimension

◆ low_dim

template<typename TDomain >
const int ug::d3f::FractPF_FV1< TDomain >::low_dim = dim - 1
staticprivate

manifold ('low') dimension

◆ m_assCo

template<typename TDomain >
size_t ug::d3f::FractPF_FV1< TDomain >::m_assCo[2 *maxFractSideCorners]
private

correspondence of the corners of the sides

◆ m_bCondensedFV

template<typename TDomain >
bool ug::d3f::FractPF_FV1< TDomain >::m_bCondensedFV
private

if to use the 'condensed' FV scvf ip's (corrently concerns only the bulk medium)

Referenced by ug::d3f::FractPF_FV1< TDomain >::condensed_FV().

◆ m_density

template<typename TDomain >
number ug::d3f::FractPF_FV1< TDomain >::m_density
private

density of the fluid phase

Referenced by ug::d3f::FractPF_FV1< TDomain >::set_density().

◆ m_elem_loc_coe

template<typename TDomain >
MathVector<dim> ug::d3f::FractPF_FV1< TDomain >::m_elem_loc_coe
private

local coordinates of the mass center of a fracture element

◆ m_elem_loc_scvf

template<typename TDomain >
MathVector<dim> ug::d3f::FractPF_FV1< TDomain >::m_elem_loc_scvf[TFractFVGeom::maxNumSCVF]
private

local ip's in a fracture element

◆ m_exBrine

template<typename TDomain >
SmartPtr<DataExport<number, dim> > ug::d3f::FractPF_FV1< TDomain >::m_exBrine
private

Export parameter for the brine mass fraction.

◆ m_Gravity

template<typename TDomain >
MathVector<dim> ug::d3f::FractPF_FV1< TDomain >::m_Gravity
private

the gravity vector

◆ m_imAperture

template<typename TDomain >
DataImport<number, dim> ug::d3f::FractPF_FV1< TDomain >::m_imAperture
private

the fracture width (constant per element)

◆ m_imConstGravity

template<typename TDomain >
DataImport<MathVector<dim>, dim> ug::d3f::FractPF_FV1< TDomain >::m_imConstGravity
private

gravity (must be constant)

Referenced by ug::d3f::FractPF_FV1< TDomain >::set_gravity().

◆ m_imFractPermeability

template<typename TDomain >
DataImport<number, dim> ug::d3f::FractPF_FV1< TDomain >::m_imFractPermeability
private

scalar permeability along the fracture (constant per element)

◆ m_imOrthoPermeability

template<typename TDomain >
DataImport<number, dim> ug::d3f::FractPF_FV1< TDomain >::m_imOrthoPermeability
private

scalar permeability of the fract.-bulk interface (constant per element)

◆ m_imPermeability

template<typename TDomain >
DataImport<MathMatrix<dim, dim>, dim> ug::d3f::FractPF_FV1< TDomain >::m_imPermeability
private

permeability (constant per element)

Referenced by ug::d3f::FractPF_FV1< TDomain >::set_permeability().

◆ m_innerFractSide

template<typename TDomain >
side_type* ug::d3f::FractPF_FV1< TDomain >::m_innerFractSide
private

inner side of the fracture element

◆ m_innerFractSideIdx

template<typename TDomain >
size_t ug::d3f::FractPF_FV1< TDomain >::m_innerFractSideIdx
private

index of the inner side in the ref. elem.

◆ m_innerSideCo

template<typename TDomain >
size_t ug::d3f::FractPF_FV1< TDomain >::m_innerSideCo[maxFractSideCorners]
private

inner side corner idx -> elem. corner idx

◆ m_isFracture

template<typename TDomain >
bool ug::d3f::FractPF_FV1< TDomain >::m_isFracture
private

if the current subset is registered in the fracture manager

◆ m_numFractCo

template<typename TDomain >
size_t ug::d3f::FractPF_FV1< TDomain >::m_numFractCo
private

number of corners of the fracture side

◆ m_outerFractSide

template<typename TDomain >
side_type* ug::d3f::FractPF_FV1< TDomain >::m_outerFractSide
private

outer side of the fracture element

◆ m_outerFractSideIdx

template<typename TDomain >
size_t ug::d3f::FractPF_FV1< TDomain >::m_outerFractSideIdx
private

index of the outer side in the ref. elem.

◆ m_outerSideCo

template<typename TDomain >
size_t ug::d3f::FractPF_FV1< TDomain >::m_outerSideCo[maxFractSideCorners]
private

outer side corner idx -> elem. corner idx

◆ m_pFractGeo

template<typename TDomain >
TFractFVGeom* ug::d3f::FractPF_FV1< TDomain >::m_pFractGeo
private

FV geometry object of fracture elements.

◆ m_spApertureData

template<typename TDomain >
SmartPtr<CplUserData<number, dim> > ug::d3f::FractPF_FV1< TDomain >::m_spApertureData
private

◆ m_spFractManager

template<typename TDomain >
SmartPtr<fract_manager_type> ug::d3f::FractPF_FV1< TDomain >::m_spFractManager
private

degenerated fracture manager (may be SPNULL)

Referenced by ug::d3f::FractPF_FV1< TDomain >::set_fract_manager().

◆ m_spFractPermeabilityData

template<typename TDomain >
SmartPtr<CplUserData<number, dim> > ug::d3f::FractPF_FV1< TDomain >::m_spFractPermeabilityData
private

◆ m_spOrthoPermeabilityData

template<typename TDomain >
SmartPtr<CplUserData<number, dim> > ug::d3f::FractPF_FV1< TDomain >::m_spOrthoPermeabilityData
private

◆ m_unitOuterNormal

template<typename TDomain >
MathVector<dim> ug::d3f::FractPF_FV1< TDomain >::m_unitOuterNormal
private

unit outer normal to the fracture

◆ m_viscosity

template<typename TDomain >
number ug::d3f::FractPF_FV1< TDomain >::m_viscosity
private

viscosity of the fluid phase

Referenced by ug::d3f::FractPF_FV1< TDomain >::set_viscosity().

◆ maxFractSideCorners

template<typename TDomain >
const size_t ug::d3f::FractPF_FV1< TDomain >::maxFractSideCorners = fract_manager_type::maxLayerSideCorners
staticprivate

max. number of corners of non-degenerated sides


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