Flow123d
sorption_dual.hh
Go to the documentation of this file.
1 /** @brief class Sorption is used to enable simulation of sorption described by either linear or Langmuir isotherm in combination with limited solubility under consideration.
2  *
3  * Class in this file makes it possible to handle the dataset describing solid phase as either precipitated or sorbed species.
4  *
5  *
6  *
7  */
8 #ifndef SORPTION_DUAL
9 #define SORPTION_DUAL
10 
11 #include "fields/field_base.hh"
13 
14 class Mesh;
15 class SorptionBase;
16 class Isotherm;
17 
18 
20 {
21 public:
22  /**
23  * Constructor with parameter for initialization of a new declared class member
24  * TODO: parameter description
25  */
26  SorptionDual(Mesh &init_mesh, Input::Record in_rec);
27  /**
28  * Destructor.
29  */
30  ~SorptionDual(void);
31 
32  /** Sets the immobile porosity field.
33  */
35  {
37  immob_porosity_.copy_from(por_imm);
39  }
40 
41 protected:
42  /**
43  * This method disables to use constructor without parameters.
44  */
45  SorptionDual();
46 
47  /**
48  * This method will be implemented in descendants - it is different in each zone.
49  */
51 
52  Field<3, FieldValue<3>::Scalar > immob_porosity_; //< Immobile porosity field copied from transport
53 
54  //virtual double compute_sorbing_scale(double por_m, double por_imm) = 0;
55 };
56 
57 #endif