Flow123d  JS_before_hm-915-gc632be9
darcy_flow_interface.hh
Go to the documentation of this file.
1 /*
2  * darcy_flow_interface.hh
3  *
4  * Created on: Sep 17, 2015
5  * Author: jb
6  */
7 
8 #ifndef SRC_FLOW_DARCY_FLOW_INTERFACE_HH_
9 #define SRC_FLOW_DARCY_FLOW_INTERFACE_HH_
10 
12 #include "coupling/equation.hh"
13 #include "fields/field_values.hh"
14 
15 template <int spacedim, class Value> class FieldFE;
16 
18 public:
19  /// Typedef for usage of Input::Factory in child classes.
21 
23  return Input::Type::Abstract("DarcyFlow",
24  "Darcy flow model. Abstraction of various porous media flow models.")
25  .close();
26  }
27 
28  /// Type of experimental Mortar-like method for non-compatible 1d-2d interaction.
29  enum MortarMethod {
30  NoMortar = 0,
31  MortarP0 = 1,
33  };
34 
36  : EquationBase(mesh, in_rec)
37  {}
38 
39  /// Return last time of TimeGovernor.
40  virtual double last_t() =0;
41 
42  // TODO: remove! Due to MH and LMH Darcy flow versions.
43  virtual std::shared_ptr< FieldFE<3, FieldValue<3>::VectorFixed> > get_velocity_field()
44  { return nullptr; }
45 
47  {}
48 };
49 
50 
51 
52 
53 #endif /* SRC_FLOW_DARCY_FLOW_INTERFACE_HH_ */
Abstract base class for equation clasess.
virtual double last_t()=0
Return last time of TimeGovernor.
Definition: mesh.h:78
Abstract & close()
Close the Abstract and add its to type repository (see TypeRepository::add_type). ...
Mesh & mesh()
Definition: equation.hh:179
Accessor to the data with type Type::Record.
Definition: accessors.hh:292
static Input::Type::Abstract & get_input_type()
DarcyFlowInterface(Mesh &mesh, const Input::Record in_rec)
Class for declaration of polymorphic Record.
virtual std::shared_ptr< FieldFE< 3, FieldValue< 3 >::VectorFixed > > get_velocity_field()
MortarMethod
Type of experimental Mortar-like method for non-compatible 1d-2d interaction.
DarcyFlowInterface FactoryBaseType
Typedef for usage of Input::Factory in child classes.
Definition: field.hh:60