ASL  0.1.7
Advanced Simulation Library
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 
45  typedef std::shared_ptr<DistanceFunction> SPDistanceFunction;
46 
47 
48 
50 
55 
56 
58 
64  const AVec<double> & l,
65  const AVec<double> & c);
66 
68 
74  const AVec<double> & l,
75  const AVec<double> & c);
76 
78 
84  const AVec<double> & l,
85  const AVec<double> & a);
86 
91  const AVec<double> & p0);
92 
93 
95 
103 
104 
106 
113  AVec<double> a);
114 
115 
117  SPDistanceFunction generateDFInBlock(const Block & b, unsigned int nG);
118 
119 
121 
127 
136 
139  SPDistanceFunction df,
140  unsigned int gN,
141  acl::TypeID t);
142 
143 
150  const acl::KernelConfiguration & k);
151 
152 } // asl
153 
154 #endif // ASLDISTANCEFUNCTION
SPDistanceFunction generateDFCone(double r, const AVec< double > &l, const AVec< double > &a)
generates cone
Advanced Simulation Library.
Definition: aslDataInc.h:30
Advanced Computational Language.
Definition: acl.h:40
std::shared_ptr< DistanceFunction > SPDistanceFunction
Definition: aslGeomInc.h:44
SPDistanceFunction generateDFSphere(double r, const AVec< double > &c)
generates sphere
SPDataWrapperACL generateDataContainer_SP(const Block &b, const acl::VectorOfElements &a)
SPDistanceFunction normalize(SPDistanceFunction a, double dx)
SPDistanceFunction generateDFConvexPolygonPrism(std::vector< AVec< double >> points)
generates infinite prism with convex polygon at its base
SPDistanceFunction generateDFCylinderInf(double r, const AVec< double > &l, const AVec< double > &c)
generates infinite cylinder
SPDistanceFunction generateDFPlane(const AVec< double > &n, const AVec< double > &p0)
acl::VectorOfElements dx(const TemplateVE &a)
differential operator
SPDistanceFunction generateDFConvexPolygonPyramid(std::vector< AVec< double >> points, AVec< double > a)
generates pyramid with convex polygon at its base and apex a
void initData(SPAbstractData d, double a)
ACL Kernel configuration class.
SPDistanceFunction operator|(SPDistanceFunction a, SPDistanceFunction b)
SPDistanceFunction operator-(SPDistanceFunction a)
TypeID
Definition: aclTypes.h:38
std::shared_ptr< AbstractDataWithGhostNodes > SPAbstractDataWithGhostNodes
Definition: aslGenerators.h:50
SPDistanceFunction generateDFCylinder(double r, const AVec< double > &l, const AVec< double > &c)
generates cylinder
SPDistanceFunction operator&(SPDistanceFunction a, SPDistanceFunction b)
SPDistanceFunction generateDFInBlock(const Block &b, unsigned int nG)
generates map corresponding to external (ghost) part of the block