ASL
0.1.7
Advanced Simulation Library
Toggle main menu visibility
Loading...
Searching...
No Matches
src
num
aslFDAdvectionDiffusionInhomogeneous.h
Go to the documentation of this file.
1
/*
2
* Advanced Simulation Library <http://asl.org.il>
3
*
4
* Copyright 2015 Avtech Scientific <http://avtechscientific.com>
5
*
6
*
7
* This file is part of Advanced Simulation Library (ASL).
8
*
9
* ASL is free software: you can redistribute it and/or modify it
10
* under the terms of the GNU Affero General Public License as
11
* published by the Free Software Foundation, version 3 of the License.
12
*
13
* ASL is distributed in the hope that it will be useful,
14
* but WITHOUT ANY WARRANTY; without even the implied warranty of
15
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
* GNU Affero General Public License for more details.
17
*
18
* You should have received a copy of the GNU Affero General Public License
19
* along with ASL. If not, see <http://www.gnu.org/licenses/>.
20
*
21
*/
22
23
24
#ifndef ASLFDADVECTIONDIFFUSIONINHOMOGENEOUS_H
25
#define ASLFDADVECTIONDIFFUSIONINHOMOGENEOUS_H
26
27
#include "
aslNumMethod.h
"
28
29
30
namespace
acl
31
{
32
class
Kernel
;
33
class
VectorOfElementsData
;
34
}
35
36
namespace
asl
37
{
38
class
VectorTemplate
;
39
template
<
typename
V>
class
DataWithGhostNodes
;
40
typedef
DataWithGhostNodes<acl::VectorOfElementsData>
DataWithGhostNodesACLData
;
41
typedef
std::shared_ptr<DataWithGhostNodesACLData>
SPDataWithGhostNodesACLData
;
42
class
AbstractDataWithGhostNodes
;
43
typedef
std::shared_ptr<AbstractDataWithGhostNodes>
SPAbstractDataWithGhostNodes
;
44
46
50
class
FDAdvectionDiffusionInhomogeneous
:
public
NumMethod
51
{
52
public
:
53
typedef
SPDataWithGhostNodesACLData
Data
;
54
typedef
SPAbstractDataWithGhostNodes
ScalarField
;
55
private
:
56
std::unique_ptr<acl::Kernel> kernel;
57
58
std::vector<Data> cData;
59
std::vector<Data> cInternalData;
60
61
const
VectorTemplate
* vectorTemplate;
62
63
int
t;
64
std::vector<ScalarField> diffusivity;
65
public
:
66
FDAdvectionDiffusionInhomogeneous
();
67
FDAdvectionDiffusionInhomogeneous
(
Data
c,
ScalarField
dC,
const
VectorTemplate
* vT);
68
void
setVectorTemplate
(
VectorTemplate
* vT);
69
VectorTemplate
setVectorTemplate
(
const
VectorTemplate
* vT);
70
virtual
void
init
();
71
virtual
void
execute
();
72
void
addComponent
(
Data
c,
ScalarField
dC);
73
};
74
75
typedef
std::shared_ptr<FDAdvectionDiffusionInhomogeneous>
SPFDAdvectionDiffusionInhomogeneous
;
76
77
78
}
// asl
79
#endif
// ASLFDADVECTIONDIFFUSIONINHOMOGENEOUS_H
aslNumMethod.h
acl::Kernel
OpenCl Kernel generator.
Definition
aclKernel.h:49
acl::VectorOfElementsData
The class represents several ElementData.
Definition
aclVectorOfElementsDef.h:57
asl::AbstractDataWithGhostNodes
Definition
aslDataWithGhostNodes.h:39
asl::DataWithGhostNodes
Definition
aslDataWithGhostNodes.h:58
asl::FDAdvectionDiffusionInhomogeneous::setVectorTemplate
VectorTemplate setVectorTemplate(const VectorTemplate *vT)
asl::FDAdvectionDiffusionInhomogeneous::addComponent
void addComponent(Data c, ScalarField dC)
asl::FDAdvectionDiffusionInhomogeneous::setVectorTemplate
void setVectorTemplate(VectorTemplate *vT)
asl::FDAdvectionDiffusionInhomogeneous::FDAdvectionDiffusionInhomogeneous
FDAdvectionDiffusionInhomogeneous(Data c, ScalarField dC, const VectorTemplate *vT)
asl::FDAdvectionDiffusionInhomogeneous::init
virtual void init()
Builds the necesery internal data and kernels.
asl::FDAdvectionDiffusionInhomogeneous::Data
SPDataWithGhostNodesACLData Data
Definition
aslFDAdvectionDiffusionInhomogeneous.h:53
asl::FDAdvectionDiffusionInhomogeneous::ScalarField
SPAbstractDataWithGhostNodes ScalarField
Definition
aslFDAdvectionDiffusionInhomogeneous.h:54
asl::FDAdvectionDiffusionInhomogeneous::execute
virtual void execute()
Executes the numerical procedure.
asl::FDAdvectionDiffusionInhomogeneous::FDAdvectionDiffusionInhomogeneous
FDAdvectionDiffusionInhomogeneous()
asl::NumMethod
Definition
aslNumMethod.h:35
asl::VectorTemplate
Defines set of vectros with several properties.
Definition
aslTemplates.h:88
acl
Advanced Computational Language.
Definition
acl.h:41
asl
Advanced Simulation Library.
Definition
aslDataInc.h:31
asl::DataWithGhostNodesACLData
DataWithGhostNodes< acl::VectorOfElementsData > DataWithGhostNodesACLData
Definition
aslGenerators.h:46
asl::SPFDAdvectionDiffusionInhomogeneous
std::shared_ptr< FDAdvectionDiffusionInhomogeneous > SPFDAdvectionDiffusionInhomogeneous
Definition
aslFDAdvectionDiffusionInhomogeneous.h:75
asl::SPAbstractDataWithGhostNodes
std::shared_ptr< AbstractDataWithGhostNodes > SPAbstractDataWithGhostNodes
Definition
aslGenerators.h:51
asl::SPDataWithGhostNodesACLData
std::shared_ptr< DataWithGhostNodesACLData > SPDataWithGhostNodesACLData
Definition
aslGenerators.h:47
Generated by
1.17.0