Flow123d  release_3.0.0-1106-ga3b2e4c
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 
23 using namespace Input::Type;
24 
26  return Abstract("ReactionTerm",
27  "Abstract equation for a reaction term (dual porosity, sorption, reactions). Can be part of coupling with a transport equation via. operator splitting.")
28  .close();
29 }
30 
32  return Abstract("ReactionTermMobile",
33  "Abstract equation for a reaction term of the MOBILE pores (sorption, reactions). Is part of dual porosity model.")
34  .close();
35 }
36 
38  return Abstract("ReactionTermImmobile",
39  "Abstract equation for a reaction term of the IMMOBILE pores (sorption, reactions). Is part of dual porosity model.")
40  .close();
41 }
42 
44  return Abstract("GenericReaction",
45  "Abstract equation for a reaction of species in single compartment (e.g. mobile solid)."
46  "It can be part of: direct operator splitting coupling, dual porosity model, any sorption.")
47  .close();
48 }
49 
50 
52  : EquationBase(init_mesh, in_rec),
53  concentration_matrix_(nullptr),
54  el_4_loc_(nullptr),
55  row_4_el_(nullptr),
56  distribution_(nullptr)
57 
58 {
59 }
60 
62 {
63 }
64 
65 
66 
67 
69 {
70  OLD_ASSERT(0,"ReactionTerm does not change TimeGovernor.\n");
71 }
Definition: mesh.h:76
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.