Flow123d  jenkins-Flow123d-windows32-release-multijob-51
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | List of all members
DarcyFlowMH::EqData Class Reference

Data for Darcy flow equation. More...

#include <darcy_flow_mh.hh>

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

Public Types

enum  BC_Type {
  none =0, dirichlet =1, neumann =2, robin =3,
  total_flux =4
}
 
- Public Types inherited from FieldFlag
typedef FlagArray< FieldFlagFlags
 
typedef Flags::Mask Mask
 

Public Member Functions

 EqData ()
 Collect all fields. More...
 
- Public Member Functions inherited from FieldSet
 DECLARE_EXCEPTION (ExcUnknownField,<< "Field set has no field with name: "<< FieldCommon::EI_Field::qval)
 
Input::Type::Record make_field_descriptor_type (const std::string &equation_name) const
 
Input::Type::Selection make_output_field_selection (const string &name, const string &desc="")
 
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_n_components (unsigned int n_comp)
 
void set_mesh (const Mesh &mesh)
 
void set_input_list (Input::Array input_list)
 
void set_limit_side (LimitSide side)
 
void flags_add (FieldFlag::Flags::Mask mask)
 
void set_time (const TimeGovernor &time)
 
void output_type (OutputTime::DiscreteSpace rt)
 
void mark_input_times (TimeMark::Type mark_type)
 
bool changed () const
 
bool is_constant (Region reg) const
 
void output (OutputTime *stream)
 
FieldCommonadd_field (FieldCommon *field, const string &name, const string &desc, const string &d_val="")
 

Static Public Member Functions

static std::shared_ptr
< FieldAlgorithmBase
< 3, FieldValue< 3 >::Scalar > > 
bc_piezo_head_hook (Input::Record rec, const FieldCommon &field)
 

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
 
Field< 3, FieldValue< 3 >::Scalar > init_pressure
 
Field< 3, FieldValue< 3 >::Scalar > storativity
 
FieldSet time_term_fields
 
FieldSet main_matrix_fields
 
FieldSet rhs_fields
 

Static Public Attributes

static Input::Type::Selection bc_type_selection
 
static arma::vec4 gravity_ =arma::vec4("0 0 -1 0")
 
- 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}
 The field is data parameter of the owning equation. (default on) More...
 
static constexpr Mask declare_input {2}
 The field can be set from input. The key in input field descriptor is declared. (default on) More...
 
static constexpr Mask allow_output {4}
 The field can output. Is part of generated output selection. (default on) More...
 
static constexpr Mask input_copy = ~declare_input & equation_input
 A field that is input of its equation and cna not read from input, thus muzt be set by copy. More...
 
static constexpr Mask in_time_term {8}
 A field is part of time term of the equation. More...
 
static constexpr Mask in_main_matrix {16}
 A field is part of main "stiffness matrix" of the equation. More...
 
static constexpr Mask in_rhs {32}
 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 non-result fields, that are data fields of an equation. More...
 

Additional Inherited Members

- Protected Attributes inherited from FieldSet
std::vector< FieldCommon * > field_list
 List of all fields. More...
 

Detailed Description

Data for Darcy flow equation.

Definition at line 103 of file darcy_flow_mh.hh.

Member Enumeration Documentation

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

Enumerator
none 
dirichlet 
neumann 
robin 
total_flux 

Definition at line 109 of file darcy_flow_mh.hh.

Constructor & Destructor Documentation

DarcyFlowMH::EqData::EqData ( )

Collect all fields.

Definition at line 143 of file darcy_flow_mh.cc.

Member Function Documentation

static std::shared_ptr< FieldAlgorithmBase<3, FieldValue<3>::Scalar> > DarcyFlowMH::EqData::bc_piezo_head_hook ( Input::Record  rec,
const FieldCommon field 
)
inlinestatic

Hook for processing "bc_piezo_head" key.

Definition at line 126 of file darcy_flow_mh.hh.

Here is the caller graph for this function:

Member Data Documentation

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

Definition at line 137 of file darcy_flow_mh.hh.

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

Definition at line 145 of file darcy_flow_mh.hh.

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

Definition at line 144 of file darcy_flow_mh.hh.

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

Definition at line 146 of file darcy_flow_mh.hh.

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

Definition at line 143 of file darcy_flow_mh.hh.

it::Selection DarcyFlowMH::EqData::bc_type_selection
static
Initial value:
=
it::Selection("EqData_bc_Type")
.add_value(none, "none", "Homogeneous Neoumann BC.")
.add_value(dirichlet, "dirichlet")
.add_value(neumann, "neumann")
.add_value(robin, "robin")
.add_value(total_flux, "total_flux")

Definition at line 116 of file darcy_flow_mh.hh.

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

Definition at line 138 of file darcy_flow_mh.hh.

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

Definition at line 139 of file darcy_flow_mh.hh.

arma::vec4 DarcyFlowMH::EqData::gravity_ =arma::vec4("0 0 -1 0")
static

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

TODO: static method bc_piezo_head_hook needs static gravity_ vector. Other solution is to introduce some kind of context pointer into FieldCommonBase.

Definition at line 160 of file darcy_flow_mh.hh.

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

Definition at line 150 of file darcy_flow_mh.hh.

FieldSet DarcyFlowMH::EqData::main_matrix_fields

Definition at line 163 of file darcy_flow_mh.hh.

FieldSet DarcyFlowMH::EqData::rhs_fields

Definition at line 164 of file darcy_flow_mh.hh.

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

Definition at line 141 of file darcy_flow_mh.hh.

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

Definition at line 151 of file darcy_flow_mh.hh.

FieldSet DarcyFlowMH::EqData::time_term_fields

Definition at line 162 of file darcy_flow_mh.hh.

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

Definition at line 140 of file darcy_flow_mh.hh.


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