Flow123d  release_3.0.0-973-g92f55e826
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_ */
SubstanceList
Definition: substance.hh:70
Balance
Definition: balance.hh:116
AdvectionProcessBase::set_velocity_field
virtual void set_velocity_field(const MH_DofHandler &dh)=0
input_type_forward.hh
EquationBase::mesh
Mesh & mesh()
Definition: equation.hh:174
Input::Record
Accessor to the data with type Type::Record.
Definition: accessors.hh:291
AdvectionProcessBase
Definition: advection_process_base.hh:23
AdvectionProcessBase::AdvectionProcessBase
AdvectionProcessBase(Mesh &mesh, const Input::Record in_rec)
Definition: advection_process_base.hh:26
Input::Type::Abstract
Class for declaration of polymorphic Record.
Definition: type_abstract.hh:62
AdvectionProcessBase::get_input_type
static Input::Type::Abstract & get_input_type()
Common specification of the input record for secondary equations.
Definition: advection_process_base.hh:40
equation.hh
Abstract base class for equation clasess.
EquationBase
Definition: equation.hh:57
Mesh
Definition: mesh.h:80
Input::Type::Abstract::close
Abstract & close()
Close the Abstract and add its to type repository (see TypeRepository::add_type).
Definition: type_abstract.cc:190
MH_DofHandler
Definition: mh_dofhandler.hh:43