Flow123d  release_2.2.0-914-gf1a3a4f
advection_process_base.hh
Go to the documentation of this file.
1 /*
2  * advection_process_base.hh
3  *
4  * Created on: Sep 17, 2015
5  * Author: jb
6  */
7 
8 #ifndef SRC_TRANSPORT_ADVECTION_PROCESS_BASE_HH_
9 #define SRC_TRANSPORT_ADVECTION_PROCESS_BASE_HH_
10 
11 #include "coupling/equation.hh"
13 
14 class Balance;
15 class Mesh;
16 class MH_DofHandler;
17 class SubstanceList;
18 
19 
20 /**
21  * Abstract interface class for secondary equations in HC_ExplicitCoupling.
22  */
24 
25 public:
27  : EquationBase(mesh, in_rec)
28  {};
29 
30  /**
31  * This method takes sequential PETSc vector of side velocities and update
32  * transport matrix. The ordering is same as ordering of sides in the mesh.
33  * We just keep the pointer, but do not destroy the object.
34  *
35  * TODO: We should pass whole velocity field object (description of base functions and dof numbering) and vector.
36  */
37  virtual void set_velocity_field(const MH_DofHandler &dh) = 0;
38 
39  /// Common specification of the input record for secondary equations.
41  return Input::Type::Abstract("AdvectionProcess",
42  "Abstract advection process. In particular: transport of substances or heat transfer.")
43  .close();
44  }
45 
46 
47 };
48 
49 
50 
51 
52 #endif /* SRC_TRANSPORT_ADVECTION_PROCESS_BASE_HH_ */
Abstract base class for equation clasess.
Definition: mesh.h:99
Abstract & close()
Close the Abstract and add its to type repository (see TypeRepository::add_type). ...
static Input::Type::Abstract & get_input_type()
Common specification of the input record for secondary equations.
Mesh & mesh()
Definition: equation.hh:176
Accessor to the data with type Type::Record.
Definition: accessors.hh:292
Class for declaration of polymorphic Record.
AdvectionProcessBase(Mesh &mesh, const Input::Record in_rec)
virtual void set_velocity_field(const MH_DofHandler &dh)=0