|
| 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) |
| |
| 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) |
| |
| 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 () |
| |
| | IElemError (const char *functions, const char *subsets) |
| |
| | IElemError (const std::vector< std::string > &vFct, const std::vector< std::string > &vSubset) |
| |
| 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 FunctionGroup & | function_group () const |
| |
| ConstSmartPtr< FunctionPattern > | function_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 LocalVectorTimeSeries * | local_time_solutions () const |
| |
| const FunctionIndexMapping & | map () 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 () |
| |
| 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 () |
| |
|
| 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
|
| |
| void | clear_add_fct () |
| |
| void | clear_add_fct (ReferenceObjectID id) |
| |
| void | set_default_add_fct () |
| |
| 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) |
| |
| void | clear_add_fct () |
| |
| void | clear_add_fct (ReferenceObjectID id) |
| |
| virtual void | approximation_space_changed () |
| |
| void | set_function_pattern (ConstSmartPtr< FunctionPattern > fctPatt) |
| |
| void | update_function_index_mapping () |
| |
| 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) |
| |
|
| 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
|
| |
|
| 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< dim > | m_elem_loc_coe |
| | local coordinates of the mass center of a fracture element
|
| |
| MathVector< dim > | m_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< dim > | m_Gravity |
| | the gravity vector
|
| |
| DataImport< number, dim > | m_imAperture |
| | the fracture width (constant per element)
|
| |
| DataImport< MathVector< dim >, dim > | m_imConstGravity |
| | gravity (must be constant)
|
| |
| DataImport< number, dim > | m_imFractPermeability |
| | scalar permeability along the fracture (constant per element)
|
| |
| DataImport< number, dim > | m_imOrthoPermeability |
| | scalar permeability of the fract.-bulk interface (constant per element)
|
| |
| DataImport< MathMatrix< dim, dim >, dim > | m_imPermeability |
| | permeability (constant per element)
|
| |
| side_type * | m_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_type * | m_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
|
| |
| TFractFVGeom * | m_pFractGeo |
| | FV geometry object of fracture elements.
|
| |
| SmartPtr< CplUserData< number, dim > > | m_spApertureData |
| |
| SmartPtr< fract_manager_type > | m_spFractManager |
| | degenerated fracture manager (may be SPNULL)
|
| |
| SmartPtr< CplUserData< number, dim > > | m_spFractPermeabilityData |
| |
| SmartPtr< CplUserData< number, dim > > | m_spOrthoPermeabilityData |
| |
| MathVector< dim > | m_unitOuterNormal |
| | unit outer normal to the fracture
|
| |
| number | m_viscosity |
| | viscosity of the fluid phase
|
| |
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