Flow123d  release_2.2.0-23-g01927c6
reaction_term.cc
Go to the documentation of this file.
1 /*!
2  *
3  * Copyright (C) 2015 Technical University of Liberec. All rights reserved.
4  *
5  * This program is free software; you can redistribute it and/or modify it under
6  * the terms of the GNU General Public License version 3 as published by the
7  * Free Software Foundation. (http://www.gnu.org/licenses/gpl-3.0.en.html)
8  *
9  * This program is distributed in the hope that it will be useful, but WITHOUT
10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11  * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
12  *
13  *
14  * @file reaction_term.cc
15  * @brief
16  */
17 
19 #include "system/global_defs.h"
20 
21 #include "io/output_time.hh"
22 #include "mesh/mesh.h"
23 
24 using namespace Input::Type;
25 
27  return Abstract("ReactionTerm",
28  "Abstract equation for a reaction term (dual porosity, sorption, reactions). Can be part of coupling with a transport equation via. operator splitting.")
29  .close();
30 }
31 
33  return Abstract("ReactionTermMobile",
34  "Abstract equation for a reaction term of the MOBILE pores (sorption, reactions). Is part of dual porosity model.")
35  .close();
36 }
37 
39  return Abstract("ReactionTermImmobile",
40  "Abstract equation for a reaction term of the IMMOBILE pores (sorption, reactions). Is part of dual porosity model.")
41  .close();
42 }
43 
45  return Abstract("GenericReaction",
46  "Abstract equation for a reaction of species in single compartment (e.g. mobile solid)."
47  "It can be part of: direct operator splitting coupling, dual porosity model, any sorption.")
48  .close();
49 }
50 
51 
53  : EquationBase(init_mesh, in_rec),
54  concentration_matrix_(nullptr),
55  el_4_loc_(nullptr),
56  row_4_el_(nullptr),
57  distribution_(nullptr)
58 
59 {
60 }
61 
63 {
64 }
65 
66 
67 
68 
70 {
71  OLD_ASSERT(0,"ReactionTerm does not change TimeGovernor.\n");
72 }
Definition: mesh.h:97
static Input::Type::Abstract & it_abstract_mobile_term()
static Input::Type::Abstract & it_abstract_reaction()
Abstract & close()
Close the Abstract and add its to type repository (see TypeRepository::add_type). ...
ReactionTerm(Mesh &init_mesh, Input::Record in_rec)
Constructor.
Class ReactionTerm is an abstract class representing reaction term in transport.
#define OLD_ASSERT(...)
Definition: global_defs.h:131
Global macros to enhance readability and debugging, general constants.
Accessor to the data with type Type::Record.
Definition: accessors.hh:292
static Input::Type::Abstract & it_abstract_immobile_term()
Class for declaration of polymorphic Record.
static Input::Type::Abstract & it_abstract_term()
void choose_next_time(void) override
Disable changes in TimeGovernor by empty method.
~ReactionTerm(void)
Destructor.