Flow123d
release_3.0.0-968-gc87a28e79
|
Go to the documentation of this file.
36 return IT::Record(
"Sorption",
"Sorption model in the reaction term of transport.")
39 .
declare_key(
"output", make_output_type(
"Sorption",
"conc_solid",
"Concentration solution in the solid phase."),
41 "Setting of the fields output.")
49 data_ =
new EqData(
"conc_solid",
"Concentration solution in the solid phase.");
54 Input::register_class< SorptionSimple, Mesh &, Input::Record >(
"Sorption") +
76 const string &output_conc_name,
77 const string &output_conc_desc)
80 data_ =
new EqData(output_conc_name, output_conc_desc);
83 .
name(
"porosity_immobile")
96 return IT::Record(
"SorptionMobile",
"Sorption model in the mobile zone, following the dual porosity model.")
101 "Setting of the fields output.")
108 Input::register_class< SorptionMob, Mesh &, Input::Record >(
"SorptionMobile") +
113 :
SorptionDual(init_mesh, in_rec,
"conc_solid",
"Concentration solution in the solid mobile phase.")
125 double phi = por_m/(por_m + por_imm);
138 return IT::Record(
"SorptionImmobile",
"Sorption model in the immobile zone, following the dual porosity model.")
141 .
declare_key(
"output",
make_output_type(
"SorptionImmobile",
"conc_immobile_solid",
"Concentration solution in the solid immobile phase."),
142 IT::Default(
"{ \"fields\": [ \"conc_immobile_solid\" ] }"),
143 "Setting of the fields output.")
149 Input::register_class< SorptionImmob, Mesh &, Input::Record >(
"SorptionImmobile") +
153 :
SorptionDual(init_mesh, in_rec,
"conc_immobile_solid",
"Concentration solution in the solid immobile phase.")
164 double phi = por_m/(por_m + por_imm);
SorptionDual(Mesh &init_mesh, Input::Record in_rec, const string &output_conc_name, const string &output_conc_desc)
Constructor.
SorptionImmob(Mesh &init_mesh, Input::Record in_rec)
Constructor.
void compute_common_ele_data(const ElementAccessor< 3 > &elem) override
Computes CommonElementData.
Field< 3, FieldValue< 3 >::Scalar > immob_porosity_
static const Input::Type::Record & get_input_type()
EqData * data_
Pointer to equation data. The object is constructed in descendants.
static Input::Type::Abstract & it_abstract_immobile_term()
SorptionMob(Mesh &init_mesh, Input::Record in_rec)
Constructor.
static const int registrar
Registrar of class to factory.
~SorptionMob(void)
Destructor.
~SorptionImmob(void)
Destructor.
~SorptionSimple(void)
Destructor.
#define FLOW123D_FORCE_LINK_IN_CHILD(x)
void compute_common_ele_data(const ElementAccessor< 3 > &elem) override
Computes CommonElementData.
FieldCommon & set_limits(double min, double max=std::numeric_limits< double >::max())
double no_sorbing_surface_cond
FieldCommon & flags_add(FieldFlag::Flags::Mask mask)
Field< 3, FieldValue< 3 >::Scalar > rock_density
Rock matrix density.
static Input::Type::Instance make_output_type(const string &equation_name, const string &output_field_name, const string &output_field_desc)
static const Input::Type::Record & get_input_type()
Field< 3, FieldValue< 3 >::Scalar > porosity
Porosity field copied from transport.
This file contains classes representing sorption model. Sorption model can be computed both in case t...
void compute_common_ele_data(const ElementAccessor< 3 > &elem) override
Computes CommonElementData.
~SorptionDual(void)
Destructor.
Simple sorption model without dual porosity.
static constexpr Mask input_copy
static const Input::Type::Record & get_input_type()
virtual const Value::return_type & value(const Point &p, const ElementAccessor< spacedim > &elm) const
static Input::Type::Abstract & it_abstract_term()
static const int registrar
Registrar of class to factory.
static const Input::Type::Record & get_input_type()
static Input::Type::Abstract & it_abstract_mobile_term()
Abstract class of sorption model in case dual porosity is considered.
SorptionSimple(Mesh &init_mesh, Input::Record in_rec)
Constructor.
FieldCommon & name(const string &name)
arma::vec::fixed< spacedim > centre() const
Computes the barycenter.
static const int registrar
Registrar of class to factory.
struct SorptionBase::CommonElementData common_ele_data