Flow123d  JS_before_hm-1879-g0c4ed93bc
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 {
54 }
55 
57 {
58 }
59 
60 
61 
62 
64 {
65  ASSERT_DBG(0).error("ReactionTerm does not change TimeGovernor.\n");
66 }
ReactionTerm::it_abstract_immobile_term
static Input::Type::Abstract & it_abstract_immobile_term()
Definition: reaction_term.cc:37
ReactionTerm::ReactionTerm
ReactionTerm(Mesh &init_mesh, Input::Record in_rec)
Constructor.
Definition: reaction_term.cc:51
ASSERT_DBG
#define ASSERT_DBG(expr)
Definition: include_fadbad.hh:28
ReactionTerm::choose_next_time
void choose_next_time(void) override
Disable changes in TimeGovernor by empty method.
Definition: reaction_term.cc:63
Input::Record
Accessor to the data with type Type::Record.
Definition: accessors.hh:291
ReactionTerm::it_abstract_reaction
static Input::Type::Abstract & it_abstract_reaction()
Definition: reaction_term.cc:43
output_time.hh
Input::Type::Abstract
Class for declaration of polymorphic Record.
Definition: type_abstract.hh:62
EquationBase
Definition: equation.hh:57
ReactionTerm::~ReactionTerm
~ReactionTerm(void)
Destructor.
Definition: reaction_term.cc:56
Input::Type
Definition: balance.hh:41
Mesh
Definition: mesh.h:98
global_defs.h
Global macros to enhance readability and debugging, general constants.
ReactionTerm::it_abstract_term
static Input::Type::Abstract & it_abstract_term()
Definition: reaction_term.cc:25
reaction_term.hh
Class ReactionTerm is an abstract class representing reaction term in transport.
ReactionTerm::it_abstract_mobile_term
static Input::Type::Abstract & it_abstract_mobile_term()
Definition: reaction_term.cc:31
Input::Type::Abstract::close
Abstract & close()
Close the Abstract and add its to type repository (see TypeRepository::add_type).
Definition: type_abstract.cc:190