Flow123d  JS_before_hm-1804-gf2ad740aa
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
DarcyMH::EqData Class Reference

#include <darcy_flow_mh.hh>

Inheritance diagram for DarcyMH::EqData:
Inheritance graph
[legend]
Collaboration diagram for DarcyMH::EqData:
Collaboration graph
[legend]

Public Types

enum  BC_Type {
  none =0, dirichlet =1, total_flux =4, seepage =5,
  river =6
}
 
- Public Types inherited from FieldFlag
typedef FlagArray< FieldFlagFlags
 
typedef Flags::Mask Mask
 

Public Member Functions

 EqData ()
 Creation of all fields. More...
 
- Public Member Functions inherited from FieldSet
 DECLARE_EXCEPTION (ExcUnknownField,<< "Field set has no field with name: "<< FieldCommon::EI_Field::qval)
 
 FieldSet ()
 Default constructor. More...
 
Input::Type::Record make_field_descriptor_type (const std::string &equation_name) const
 
void set_field (const std::string &dest_field_name, FieldCommon &source)
 
FieldCommonfield (const std::string &field_name) const
 
FieldCommonoperator[] (const std::string &field_name) const
 
void set_components (const std::vector< string > &names)
 
void set_mesh (const Mesh &mesh)
 
void set_input_list (Input::Array input_list, const TimeGovernor &tg)
 
void flags_add (FieldFlag::Flags::Mask mask)
 
bool set_time (const TimeStep &time, LimitSide limit_side)
 
void output_type (OutputTime::DiscreteSpace rt)
 
void mark_input_times (const TimeGovernor &tg)
 
bool changed () const
 
bool is_constant (Region reg) const
 
bool is_jump_time () const
 
void cache_reallocate (const ElementCacheMap &cache_map, FieldSet &used_fieldset)
 
void cache_update (ElementCacheMap &cache_map)
 
void set_dependency (FieldSet &used_fieldset)
 
void add_coords_field ()
 
void set_surface_depth (std::shared_ptr< SurfaceDepth > surface_depth)
 Set surface depth object to "d" field. More...
 
Range< FieldListAccessorfields_range () const
 Returns range of Fields held in field_list. More...
 
const Meshmesh () const
 Returns pointer to mesh. More...
 
std::string print_dependency () const
 Return order of evaluated fields by dependency and region_idx. More...
 

Static Public Member Functions

static const Input::Type::Selectionget_bc_type_selection ()
 Return a Selection corresponding to enum BC_Type. More...
 

Public Attributes

Field< 3, FieldValue< 3 >::TensorFixed > anisotropy
 
Field< 3, FieldValue< 3 >::Scalar > conductivity
 
Field< 3, FieldValue< 3 >::Scalar > cross_section
 
Field< 3, FieldValue< 3 >::Scalar > water_source_density
 
Field< 3, FieldValue< 3 >::Scalar > sigma
 
BCField< 3, FieldValue< 3 >::Enum > bc_type
 
BCField< 3, FieldValue< 3 >::Scalar > bc_pressure
 
BCField< 3, FieldValue< 3 >::Scalar > bc_flux
 
BCField< 3, FieldValue< 3 >::Scalar > bc_robin_sigma
 
BCField< 3, FieldValue< 3 >::Scalar > bc_switch_pressure
 
Field< 3, FieldValue< 3 >::Scalar > init_pressure
 
Field< 3, FieldValue< 3 >::Scalar > storativity
 
Field< 3, FieldValue< 3 >::Scalar > extra_storativity
 
Field< 3, FieldValue< 3 >::Scalar > extra_source
 Externally added storativity. More...
 
Field< 3, FieldValue< 3 >::Scalar > field_ele_pressure
 Externally added water source. More...
 
Field< 3, FieldValue< 3 >::Scalar > field_ele_piezo_head
 
Field< 3, FieldValue< 3 >::VectorFixed > field_ele_velocity
 
Field< 3, FieldValue< 3 >::VectorFixed > flux
 
Field< 3, FieldValue< 3 >::Scalar > field_edge_pressure
 
arma::vec4 gravity_
 
arma::vec3 gravity_vec_
 
Meshmesh
 
std::shared_ptr< DOFHandlerMultiDimdh_
 full DOF handler represents DOFs of sides, elements and edges More...
 
std::shared_ptr< SubDOFHandlerMultiDimdh_cr_
 DOF handler represents DOFs of edges. More...
 
std::shared_ptr< DOFHandlerMultiDimdh_cr_disc_
 DOF handler represents DOFs of sides. More...
 
uint water_balance_idx
 
MortarMethod mortar_method_
 
std::shared_ptr< Balancebalance
 
LinSyslin_sys
 
unsigned int n_schur_compls
 
int is_linear
 Hack fo BDDC solver. More...
 
bool force_no_neumann_bc
 auxiliary flag for switchting Dirichlet like BC More...
 
std::vector< char > bc_switch_dirichlet
 Idicator of dirichlet or neumann type of switch boundary conditions. More...
 
VectorMPI full_solution
 
MultidimAssembly multidim_assembler
 

Additional Inherited Members

- Static Public Attributes inherited from FieldFlag
static constexpr unsigned int flags_size_ = 3
 Number of bits used by Field itself. More...
 
static constexpr Mask equation_input {1 << 0}
 The field is data parameter of the owning equation. (default on) More...
 
static constexpr Mask declare_input {1 << 1}
 The field can be set from input. The key in input field descriptor is declared. (default on) More...
 
static constexpr Mask allow_output {1 << 2}
 The field can output. Is part of generated output selection. (default on) More...
 
static constexpr Mask input_copy = ~declare_input & equation_input
 
static constexpr Mask in_time_term {1 << 8}
 A field is part of time term of the equation. More...
 
static constexpr Mask in_main_matrix {1 << 9}
 A field is part of main "stiffness matrix" of the equation. More...
 
static constexpr Mask in_rhs {1 << 10}
 A field is part of the right hand side of the equation. More...
 
static constexpr Mask equation_result = allow_output & ~declare_input & ~equation_input
 Match result fields. These are never given by input or copy of input. More...
 
static constexpr Mask equation_external_output = allow_output & input_copy
 Match an output field, that can be also copy of other field. More...
 
- Protected Member Functions inherited from FieldSet
void topological_sort (const FieldCommon *f, unsigned int i_reg, std::unordered_set< const FieldCommon * > &used_fields)
 Helper method sort used fields by dependency. More...
 
- Protected Attributes inherited from FieldSet
std::vector< FieldCommon * > field_list
 List of all fields. More...
 
const Meshmesh_
 Pointer to the mesh. More...
 
std::map< unsigned int, std::vector< const FieldCommon * > > region_field_update_order_
 
FieldCoords X_
 Field holds coordinates for computing of FieldFormulas. More...
 
FieldDepth depth_
 Field holds surface depth for computing of FieldFormulas. More...
 

Detailed Description

Class with all fields used in the equation DarcyFlow. This is common to all implementations since this provides interface to this equation for possible coupling.

This class is the base class for equation data also in DarcyLMH and RichardsLMH classes especially due to the common output class DarcyFlowMHOutput. This is the only dependence between DarcyMH and DarcyLMH classes.

Definition at line 146 of file darcy_flow_mh.hh.

Member Enumeration Documentation

◆ BC_Type

For compatibility with old BCD file we have to assign integer codes starting from 1.

Enumerator
none 
dirichlet 
total_flux 
seepage 
river 

Definition at line 152 of file darcy_flow_mh.hh.

Constructor & Destructor Documentation

◆ EqData()

DarcyMH::EqData::EqData ( )

Creation of all fields.

Definition at line 186 of file darcy_flow_mh.cc.

Member Function Documentation

◆ get_bc_type_selection()

const it::Selection & DarcyMH::EqData::get_bc_type_selection ( )
static

Return a Selection corresponding to enum BC_Type.

Definition at line 87 of file darcy_flow_mh.cc.

Member Data Documentation

◆ anisotropy

Field<3, FieldValue<3>::TensorFixed > DarcyMH::EqData::anisotropy

Definition at line 167 of file darcy_flow_mh.hh.

◆ balance

std::shared_ptr<Balance> DarcyMH::EqData::balance

Definition at line 208 of file darcy_flow_mh.hh.

◆ bc_flux

BCField<3, FieldValue<3>::Scalar > DarcyMH::EqData::bc_flux

Definition at line 175 of file darcy_flow_mh.hh.

◆ bc_pressure

BCField<3, FieldValue<3>::Scalar > DarcyMH::EqData::bc_pressure

Definition at line 174 of file darcy_flow_mh.hh.

◆ bc_robin_sigma

BCField<3, FieldValue<3>::Scalar > DarcyMH::EqData::bc_robin_sigma

Definition at line 176 of file darcy_flow_mh.hh.

◆ bc_switch_dirichlet

std::vector<char> DarcyMH::EqData::bc_switch_dirichlet

Idicator of dirichlet or neumann type of switch boundary conditions.

Definition at line 216 of file darcy_flow_mh.hh.

◆ bc_switch_pressure

BCField<3, FieldValue<3>::Scalar > DarcyMH::EqData::bc_switch_pressure

Definition at line 177 of file darcy_flow_mh.hh.

◆ bc_type

BCField<3, FieldValue<3>::Enum > DarcyMH::EqData::bc_type

Definition at line 173 of file darcy_flow_mh.hh.

◆ conductivity

Field<3, FieldValue<3>::Scalar > DarcyMH::EqData::conductivity

Definition at line 168 of file darcy_flow_mh.hh.

◆ cross_section

Field<3, FieldValue<3>::Scalar > DarcyMH::EqData::cross_section

Definition at line 169 of file darcy_flow_mh.hh.

◆ dh_

std::shared_ptr<DOFHandlerMultiDim> DarcyMH::EqData::dh_

full DOF handler represents DOFs of sides, elements and edges

Definition at line 199 of file darcy_flow_mh.hh.

◆ dh_cr_

std::shared_ptr<SubDOFHandlerMultiDim> DarcyMH::EqData::dh_cr_

DOF handler represents DOFs of edges.

Definition at line 200 of file darcy_flow_mh.hh.

◆ dh_cr_disc_

std::shared_ptr<DOFHandlerMultiDim> DarcyMH::EqData::dh_cr_disc_

DOF handler represents DOFs of sides.

Definition at line 201 of file darcy_flow_mh.hh.

◆ extra_source

Field<3, FieldValue<3>::Scalar > DarcyMH::EqData::extra_source

Externally added storativity.

Definition at line 182 of file darcy_flow_mh.hh.

◆ extra_storativity

Field<3, FieldValue<3>::Scalar > DarcyMH::EqData::extra_storativity

Definition at line 181 of file darcy_flow_mh.hh.

◆ field_edge_pressure

Field<3, FieldValue<3>::Scalar> DarcyMH::EqData::field_edge_pressure

Definition at line 188 of file darcy_flow_mh.hh.

◆ field_ele_piezo_head

Field<3, FieldValue<3>::Scalar> DarcyMH::EqData::field_ele_piezo_head

Definition at line 185 of file darcy_flow_mh.hh.

◆ field_ele_pressure

Field<3, FieldValue<3>::Scalar> DarcyMH::EqData::field_ele_pressure

Externally added water source.

Definition at line 184 of file darcy_flow_mh.hh.

◆ field_ele_velocity

Field<3, FieldValue<3>::VectorFixed > DarcyMH::EqData::field_ele_velocity

Definition at line 186 of file darcy_flow_mh.hh.

◆ flux

Field<3, FieldValue<3>::VectorFixed > DarcyMH::EqData::flux

Definition at line 187 of file darcy_flow_mh.hh.

◆ force_no_neumann_bc

bool DarcyMH::EqData::force_no_neumann_bc

auxiliary flag for switchting Dirichlet like BC

Definition at line 213 of file darcy_flow_mh.hh.

◆ full_solution

VectorMPI DarcyMH::EqData::full_solution

Definition at line 218 of file darcy_flow_mh.hh.

◆ gravity_

arma::vec4 DarcyMH::EqData::gravity_

Gravity vector and constant shift of pressure potential. Used to convert piezometric head to pressure head and vice versa.

Definition at line 194 of file darcy_flow_mh.hh.

◆ gravity_vec_

arma::vec3 DarcyMH::EqData::gravity_vec_

Definition at line 195 of file darcy_flow_mh.hh.

◆ init_pressure

Field<3, FieldValue<3>::Scalar > DarcyMH::EqData::init_pressure

Definition at line 179 of file darcy_flow_mh.hh.

◆ is_linear

int DarcyMH::EqData::is_linear

Hack fo BDDC solver.

Definition at line 212 of file darcy_flow_mh.hh.

◆ lin_sys

LinSys* DarcyMH::EqData::lin_sys

Definition at line 209 of file darcy_flow_mh.hh.

◆ mesh

Mesh* DarcyMH::EqData::mesh

Definition at line 198 of file darcy_flow_mh.hh.

◆ mortar_method_

MortarMethod DarcyMH::EqData::mortar_method_

Definition at line 206 of file darcy_flow_mh.hh.

◆ multidim_assembler

MultidimAssembly DarcyMH::EqData::multidim_assembler

Definition at line 220 of file darcy_flow_mh.hh.

◆ n_schur_compls

unsigned int DarcyMH::EqData::n_schur_compls

Definition at line 211 of file darcy_flow_mh.hh.

◆ sigma

Field<3, FieldValue<3>::Scalar > DarcyMH::EqData::sigma

Definition at line 171 of file darcy_flow_mh.hh.

◆ storativity

Field<3, FieldValue<3>::Scalar > DarcyMH::EqData::storativity

Definition at line 180 of file darcy_flow_mh.hh.

◆ water_balance_idx

uint DarcyMH::EqData::water_balance_idx

Definition at line 204 of file darcy_flow_mh.hh.

◆ water_source_density

Field<3, FieldValue<3>::Scalar > DarcyMH::EqData::water_source_density

Definition at line 170 of file darcy_flow_mh.hh.


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