Flow123d
master-f44eb46
src
transport
advection_diffusion_model.hh
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 advection_diffusion_model.hh
15
* @brief Discontinuous Galerkin method for equation of transport with dispersion.
16
* @author Jan Stebel
17
*/
18
19
#ifndef AD_MODEL_HH_
20
#define AD_MODEL_HH_
21
22
namespace
Input
{
23
class
Record;
24
}
25
26
27
/**
28
* AdvectionDiffusionModel is a base class for description of a physical process described
29
* by the advection-diffusion partial differential equation (PDE). The derived classes define input parameters
30
* and implement methods that calculate coefficients of the PDE. These methods are then used by a template
31
* class for numerical solution, whose specialization derives from the model class.
32
*/
33
class
AdvectionDiffusionModel
{
34
public
:
35
36
enum
Abstract_bc_types
{
37
// abc_none,
38
abc_inflow
,
39
abc_dirichlet
,
40
abc_total_flux
,
41
abc_diffusive_flux
42
};
43
44
/// Read necessary data from input record.
45
virtual
void
init_from_input
(
const
Input::Record
&in_rec) = 0;
46
47
/// Destructor.
48
virtual
~AdvectionDiffusionModel
() {};
49
50
};
51
52
53
54
55
56
57
#endif
/* AD_MODEL_HH_ */
AdvectionDiffusionModel
Definition:
advection_diffusion_model.hh:33
AdvectionDiffusionModel::~AdvectionDiffusionModel
virtual ~AdvectionDiffusionModel()
Destructor.
Definition:
advection_diffusion_model.hh:48
AdvectionDiffusionModel::Abstract_bc_types
Abstract_bc_types
Definition:
advection_diffusion_model.hh:36
AdvectionDiffusionModel::abc_total_flux
@ abc_total_flux
Definition:
advection_diffusion_model.hh:40
AdvectionDiffusionModel::abc_dirichlet
@ abc_dirichlet
Definition:
advection_diffusion_model.hh:39
AdvectionDiffusionModel::abc_inflow
@ abc_inflow
Definition:
advection_diffusion_model.hh:38
AdvectionDiffusionModel::abc_diffusive_flux
@ abc_diffusive_flux
Definition:
advection_diffusion_model.hh:41
AdvectionDiffusionModel::init_from_input
virtual void init_from_input(const Input::Record &in_rec)=0
Read necessary data from input record.
Input::Record
Accessor to the data with type Type::Record.
Definition:
accessors.hh:291
Input
Abstract linear system class.
Definition:
balance.hh:40
Generated by
1.9.1