ASL
0.1.7
Advanced Simulation Library
Toggle main menu visibility
Loading...
Searching...
No Matches
src
num
aslSingleKernelNM.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 ASLSINGLEKERNELNM_H
25
#define ASLSINGLEKERNELNM_H
26
27
#include "
aslNumMethod.h
"
28
29
namespace
acl
30
{
31
class
ExpressionContainer
;
32
class
Kernel
;
33
class
KernelConfiguration
;
34
typedef
std::shared_ptr<Kernel>
SPKernel
;
35
}
36
37
38
namespace
asl
39
{
40
class
AbstractDataWithGhostNodes
;
41
typedef
std::shared_ptr<AbstractDataWithGhostNodes>
SPAbstractDataWithGhostNodes
;
42
43
46
class
SingleKernelNM
:
public
NumMethod
47
{
48
protected
:
49
acl::SPKernel
kernel
;
51
virtual
void
preProcessing
();
53
virtual
void
postProcessing
();
55
virtual
void
init0
()=0;
56
57
SingleKernelNM
(
const
acl::KernelConfiguration
& kernelCongig);
58
public
:
59
virtual
void
execute
();
61
virtual
void
init
();
62
virtual
~SingleKernelNM
();
63
64
friend
class
NumMethodsMerger
;
65
};
66
67
class
SingleKernelMapNM
:
public
SingleKernelNM
68
{
69
public
:
70
typedef
SPAbstractDataWithGhostNodes
Field
;
71
private
:
72
Field
map;
73
protected
:
74
SingleKernelMapNM
(
const
acl::KernelConfiguration
& kernelCongig);
75
SingleKernelMapNM
(
Field
map,
const
acl::KernelConfiguration
& kernelCongig);
76
void
initMapInfrastructure
(
acl::ExpressionContainer
& k);
77
public
:
78
void
setMap
(
Field
map);
79
~SingleKernelMapNM
();
80
};
81
82
83
84
//---------------------------- Implementation ---------------------------
85
86
87
88
}
//asl
89
90
#endif
//ASLSINGLEKERNELNM_H
aslNumMethod.h
acl::ExpressionContainer
Definition
aclExpressionContainer.h:44
acl::KernelConfiguration
ACL Kernel configuration class.
Definition
aclKernelConfiguration.h:35
acl::Kernel
OpenCl Kernel generator.
Definition
aclKernel.h:49
asl::AbstractDataWithGhostNodes
Definition
aslDataWithGhostNodes.h:39
asl::NumMethod
Definition
aslNumMethod.h:35
asl::SingleKernelMapNM::SingleKernelMapNM
SingleKernelMapNM(Field map, const acl::KernelConfiguration &kernelCongig)
asl::SingleKernelMapNM::initMapInfrastructure
void initMapInfrastructure(acl::ExpressionContainer &k)
asl::SingleKernelMapNM::setMap
void setMap(Field map)
asl::SingleKernelMapNM::~SingleKernelMapNM
~SingleKernelMapNM()
asl::SingleKernelMapNM::SingleKernelMapNM
SingleKernelMapNM(const acl::KernelConfiguration &kernelCongig)
asl::SingleKernelMapNM::Field
SPAbstractDataWithGhostNodes Field
Definition
aslSingleKernelNM.h:70
asl::SingleKernelNM::execute
virtual void execute()
Executes the numerical procedure.
asl::SingleKernelNM::SingleKernelNM
SingleKernelNM(const acl::KernelConfiguration &kernelCongig)
asl::SingleKernelNM::~SingleKernelNM
virtual ~SingleKernelNM()
asl::SingleKernelNM::postProcessing
virtual void postProcessing()
the function executed after kernel->compute()
asl::SingleKernelNM::init
virtual void init()
Builds the necesery internal data and kernels.
asl::SingleKernelNM::NumMethodsMerger
friend class NumMethodsMerger
Definition
aslSingleKernelNM.h:64
asl::SingleKernelNM::kernel
acl::SPKernel kernel
Definition
aslSingleKernelNM.h:49
asl::SingleKernelNM::init0
virtual void init0()=0
full initialisation but without kernel->setup()
asl::SingleKernelNM::preProcessing
virtual void preProcessing()
the function executed before kernel->compute()
acl
Advanced Computational Language.
Definition
acl.h:41
acl::SPKernel
std::shared_ptr< Kernel > SPKernel
Definition
aclKernelMerger.h:35
asl
Advanced Simulation Library.
Definition
aslDataInc.h:31
asl::SPAbstractDataWithGhostNodes
std::shared_ptr< AbstractDataWithGhostNodes > SPAbstractDataWithGhostNodes
Definition
aslGenerators.h:51
Generated by
1.17.0