Flow123d
JS_before_hm-2074-g7860a8b45
|
#include <darcy_flow_mh.hh>
Public Types | |
enum | BC_Type { none =0, dirichlet =1, total_flux =4, seepage =5, river =6 } |
Public Types inherited from FieldFlag | |
typedef FlagArray< FieldFlag > | Flags |
typedef Flags::Mask | Mask |
Public Member Functions | |
EqData () | |
Creation of all fields. More... | |
FieldCoords & | X () |
Return coords field. 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) |
FieldCommon * | field (const std::string &field_name) const |
FieldCommon & | operator[] (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< FieldListAccessor > | fields_range () const |
Returns range of Fields held in field_list. More... | |
const Mesh * | mesh () 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::Selection & | get_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 |
Field< 3, FieldValue< 3 >::VectorFixed > | gravity_field |
arma::vec4 | gravity_ |
Holds gravity vector acceptable in FieldModel. More... | |
arma::vec3 | gravity_vec_ |
Mesh * | mesh |
std::shared_ptr< DOFHandlerMultiDim > | dh_ |
full DOF handler represents DOFs of sides, elements and edges More... | |
std::shared_ptr< SubDOFHandlerMultiDim > | dh_cr_ |
DOF handler represents DOFs of edges. More... | |
std::shared_ptr< DOFHandlerMultiDim > | dh_cr_disc_ |
DOF handler represents DOFs of sides. More... | |
uint | water_balance_idx |
MortarMethod | mortar_method_ |
std::shared_ptr< Balance > | balance |
LinSys * | lin_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 Mesh * | mesh_ |
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... | |
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 145 of file darcy_flow_mh.hh.
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 151 of file darcy_flow_mh.hh.
DarcyMH::EqData::EqData | ( | ) |
Creation of all fields.
Definition at line 190 of file darcy_flow_mh.cc.
|
static |
Return a Selection corresponding to enum BC_Type.
Definition at line 91 of file darcy_flow_mh.cc.
|
inline |
Return coords field.
Definition at line 166 of file darcy_flow_mh.hh.
Field<3, FieldValue<3>::TensorFixed > DarcyMH::EqData::anisotropy |
Definition at line 171 of file darcy_flow_mh.hh.
std::shared_ptr<Balance> DarcyMH::EqData::balance |
Definition at line 214 of file darcy_flow_mh.hh.
BCField<3, FieldValue<3>::Scalar > DarcyMH::EqData::bc_flux |
Definition at line 179 of file darcy_flow_mh.hh.
BCField<3, FieldValue<3>::Scalar > DarcyMH::EqData::bc_pressure |
Definition at line 178 of file darcy_flow_mh.hh.
BCField<3, FieldValue<3>::Scalar > DarcyMH::EqData::bc_robin_sigma |
Definition at line 180 of file darcy_flow_mh.hh.
std::vector<char> DarcyMH::EqData::bc_switch_dirichlet |
Idicator of dirichlet or neumann type of switch boundary conditions.
Definition at line 222 of file darcy_flow_mh.hh.
BCField<3, FieldValue<3>::Scalar > DarcyMH::EqData::bc_switch_pressure |
Definition at line 181 of file darcy_flow_mh.hh.
BCField<3, FieldValue<3>::Enum > DarcyMH::EqData::bc_type |
Definition at line 177 of file darcy_flow_mh.hh.
Field<3, FieldValue<3>::Scalar > DarcyMH::EqData::conductivity |
Definition at line 172 of file darcy_flow_mh.hh.
Field<3, FieldValue<3>::Scalar > DarcyMH::EqData::cross_section |
Definition at line 173 of file darcy_flow_mh.hh.
std::shared_ptr<DOFHandlerMultiDim> DarcyMH::EqData::dh_ |
full DOF handler represents DOFs of sides, elements and edges
Definition at line 205 of file darcy_flow_mh.hh.
std::shared_ptr<SubDOFHandlerMultiDim> DarcyMH::EqData::dh_cr_ |
DOF handler represents DOFs of edges.
Definition at line 206 of file darcy_flow_mh.hh.
std::shared_ptr<DOFHandlerMultiDim> DarcyMH::EqData::dh_cr_disc_ |
DOF handler represents DOFs of sides.
Definition at line 207 of file darcy_flow_mh.hh.
Field<3, FieldValue<3>::Scalar > DarcyMH::EqData::extra_source |
Externally added storativity.
Definition at line 186 of file darcy_flow_mh.hh.
Field<3, FieldValue<3>::Scalar > DarcyMH::EqData::extra_storativity |
Definition at line 185 of file darcy_flow_mh.hh.
Field<3, FieldValue<3>::Scalar> DarcyMH::EqData::field_edge_pressure |
Definition at line 192 of file darcy_flow_mh.hh.
Field<3, FieldValue<3>::Scalar> DarcyMH::EqData::field_ele_piezo_head |
Definition at line 189 of file darcy_flow_mh.hh.
Field<3, FieldValue<3>::Scalar> DarcyMH::EqData::field_ele_pressure |
Externally added water source.
Definition at line 188 of file darcy_flow_mh.hh.
Field<3, FieldValue<3>::VectorFixed > DarcyMH::EqData::field_ele_velocity |
Definition at line 190 of file darcy_flow_mh.hh.
Field<3, FieldValue<3>::VectorFixed > DarcyMH::EqData::flux |
Definition at line 191 of file darcy_flow_mh.hh.
bool DarcyMH::EqData::force_no_neumann_bc |
auxiliary flag for switchting Dirichlet like BC
Definition at line 219 of file darcy_flow_mh.hh.
VectorMPI DarcyMH::EqData::full_solution |
Definition at line 224 of file darcy_flow_mh.hh.
arma::vec4 DarcyMH::EqData::gravity_ |
Holds gravity vector acceptable in FieldModel.
Gravity vector and constant shift of pressure potential. Used to convert piezometric head to pressure head and vice versa.
Definition at line 200 of file darcy_flow_mh.hh.
Field<3, FieldValue<3>::VectorFixed > DarcyMH::EqData::gravity_field |
Definition at line 194 of file darcy_flow_mh.hh.
arma::vec3 DarcyMH::EqData::gravity_vec_ |
Definition at line 201 of file darcy_flow_mh.hh.
Field<3, FieldValue<3>::Scalar > DarcyMH::EqData::init_pressure |
Definition at line 183 of file darcy_flow_mh.hh.
int DarcyMH::EqData::is_linear |
Hack fo BDDC solver.
Definition at line 218 of file darcy_flow_mh.hh.
LinSys* DarcyMH::EqData::lin_sys |
Definition at line 215 of file darcy_flow_mh.hh.
Mesh* DarcyMH::EqData::mesh |
Definition at line 204 of file darcy_flow_mh.hh.
MortarMethod DarcyMH::EqData::mortar_method_ |
Definition at line 212 of file darcy_flow_mh.hh.
MultidimAssembly DarcyMH::EqData::multidim_assembler |
Definition at line 226 of file darcy_flow_mh.hh.
unsigned int DarcyMH::EqData::n_schur_compls |
Definition at line 217 of file darcy_flow_mh.hh.
Field<3, FieldValue<3>::Scalar > DarcyMH::EqData::sigma |
Definition at line 175 of file darcy_flow_mh.hh.
Field<3, FieldValue<3>::Scalar > DarcyMH::EqData::storativity |
Definition at line 184 of file darcy_flow_mh.hh.
uint DarcyMH::EqData::water_balance_idx |
Definition at line 210 of file darcy_flow_mh.hh.
Field<3, FieldValue<3>::Scalar > DarcyMH::EqData::water_source_density |
Definition at line 174 of file darcy_flow_mh.hh.