ASL
0.1.7
Advanced Simulation Library
Toggle main menu visibility
Loading...
Searching...
No Matches
src
aslGeomInc.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 ASLGEOMINC_H
25
#define ASLGEOMINC_H
26
27
#include <memory>
28
#include <vector>
29
#include "
acl/aclHardware.h
"
30
31
namespace
acl
32
{
33
class
KernelConfiguration
;
34
}
35
36
namespace
asl
{
37
38
template
<
typename
T>
class
AVec
;
39
class
Block
;
40
41
class
AbstractDataWithGhostNodes
;
42
typedef
std::shared_ptr<AbstractDataWithGhostNodes>
SPAbstractDataWithGhostNodes
;
43
44
class
DistanceFunction
;
45
typedef
std::shared_ptr<DistanceFunction>
SPDistanceFunction
;
46
47
48
50
54
SPDistanceFunction
generateDFSphere
(
double
r,
const
AVec<double>
& c);
55
56
58
63
SPDistanceFunction
generateDFCylinderInf
(
double
r,
64
const
AVec<double>
& l,
65
const
AVec<double>
& c);
66
68
73
SPDistanceFunction
generateDFCylinder
(
double
r,
74
const
AVec<double>
& l,
75
const
AVec<double>
& c);
76
78
83
SPDistanceFunction
generateDFCone
(
double
r,
84
const
AVec<double>
& l,
85
const
AVec<double>
& a);
86
90
SPDistanceFunction
generateDFPlane
(
const
AVec<double>
& n,
91
const
AVec<double>
& p0);
92
93
95
102
SPDistanceFunction
generateDFConvexPolygonPrism
(std::vector<
AVec<double>
> points);
103
104
106
112
SPDistanceFunction
generateDFConvexPolygonPyramid
(std::vector<
AVec<double>
> points,
113
AVec<double>
a);
114
115
117
SPDistanceFunction
generateDFInBlock
(
const
Block
& b,
unsigned
int
nG);
118
119
121
125
SPDistanceFunction
operator&
(
SPDistanceFunction
a,
SPDistanceFunction
b);
127
131
SPDistanceFunction
operator|
(
SPDistanceFunction
a,
SPDistanceFunction
b);
133
SPDistanceFunction
operator-
(
SPDistanceFunction
a);
135
SPDistanceFunction
normalize
(
SPDistanceFunction
a,
double
dx
);
136
138
SPAbstractDataWithGhostNodes
generateDataContainer_SP
(
const
Block
&b,
139
SPDistanceFunction
df,
140
unsigned
int
gN,
141
acl::TypeID
t);
142
143
145
void
initData
(
SPAbstractDataWithGhostNodes
d,
146
SPDistanceFunction
f);
148
void
initData
(
SPAbstractDataWithGhostNodes
d,
149
SPDistanceFunction
f,
150
const
acl::KernelConfiguration
& k);
151
152
}
// asl
153
154
#endif
// ASLDISTANCEFUNCTION
aclHardware.h
acl::KernelConfiguration
ACL Kernel configuration class.
Definition
aclKernelConfiguration.h:35
asl::AVec
Definition
aslVectorsDynamicLength.h:40
asl::AbstractDataWithGhostNodes
Definition
aslDataWithGhostNodes.h:39
asl::Block
Definition
aslBlocks.h:57
asl::DistanceFunction
Definition
aslDistanceFunction.h:49
asl::generateDataContainer_SP
SPDataWrapperACL generateDataContainer_SP(const Block &b, const acl::VectorOfElements &a)
asl::dx
acl::VectorOfElements dx(const TemplateVE &a)
differential operator
asl::generateDFInBlock
SPDistanceFunction generateDFInBlock(const Block &b, unsigned int nG)
generates map corresponding to external (ghost) part of the block
asl::operator|
SPDistanceFunction operator|(SPDistanceFunction a, SPDistanceFunction b)
asl::generateDFCylinder
SPDistanceFunction generateDFCylinder(double r, const AVec< double > &l, const AVec< double > &c)
generates cylinder
asl::generateDFConvexPolygonPyramid
SPDistanceFunction generateDFConvexPolygonPyramid(std::vector< AVec< double > > points, AVec< double > a)
generates pyramid with convex polygon at its base and apex a
asl::generateDFPlane
SPDistanceFunction generateDFPlane(const AVec< double > &n, const AVec< double > &p0)
asl::normalize
SPDistanceFunction normalize(SPDistanceFunction a, double dx)
asl::operator-
SPDistanceFunction operator-(SPDistanceFunction a)
asl::generateDFConvexPolygonPrism
SPDistanceFunction generateDFConvexPolygonPrism(std::vector< AVec< double > > points)
generates infinite prism with convex polygon at its base
asl::operator&
SPDistanceFunction operator&(SPDistanceFunction a, SPDistanceFunction b)
asl::generateDFCone
SPDistanceFunction generateDFCone(double r, const AVec< double > &l, const AVec< double > &a)
generates cone
asl::generateDFSphere
SPDistanceFunction generateDFSphere(double r, const AVec< double > &c)
generates sphere
asl::generateDFCylinderInf
SPDistanceFunction generateDFCylinderInf(double r, const AVec< double > &l, const AVec< double > &c)
generates infinite cylinder
asl::SPDistanceFunction
std::shared_ptr< DistanceFunction > SPDistanceFunction
Definition
aslGeomInc.h:45
acl
Advanced Computational Language.
Definition
acl.h:41
acl::TypeID
TypeID
Definition
aclTypes.h:39
asl
Advanced Simulation Library.
Definition
aslDataInc.h:31
asl::SPAbstractDataWithGhostNodes
std::shared_ptr< AbstractDataWithGhostNodes > SPAbstractDataWithGhostNodes
Definition
aslGenerators.h:51
asl::initData
void initData(SPAbstractData d, double a)
Generated by
1.17.0