Flow123d  master-ae9ffcc
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), eq_fields_base_(nullptr)
53 {}
54 
56 {}
57 
58 
59 
60 
62 {}
63 
64 
65 
67 {
68  ASSERT(0).error("ReactionTerm does not change TimeGovernor.\n");
69 }
#define ASSERT(expr)
Definition: asserts.hh:351
Accessor to the data with type Type::Record.
Definition: accessors.hh:291
Class for declaration of polymorphic Record.
Abstract & close()
Close the Abstract and add its to type repository (see TypeRepository::add_type).
Definition: mesh.h:362
EqData()
Constructor.
static Input::Type::Abstract & it_abstract_immobile_term()
~ReactionTerm(void)
Destructor.
static Input::Type::Abstract & it_abstract_term()
void choose_next_time(void) override
Disable changes in TimeGovernor by empty method.
static Input::Type::Abstract & it_abstract_reaction()
static Input::Type::Abstract & it_abstract_mobile_term()
ReactionTerm(Mesh &init_mesh, Input::Record in_rec)
Global macros to enhance readability and debugging, general constants.
Class ReactionTerm is an abstract class representing reaction term in transport.