aslGeomInc.h
Go to the documentation of this file.
/*
* Advanced Simulation Library <http://asl.org.il>
*
* Copyright 2015 Avtech Scientific <http://avtechscientific.com>
*
*
* This file is part of Advanced Simulation Library (ASL).
*
* ASL is free software: you can redistribute it and/or modify it
* under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, version 3 of the License.
*
* ASL is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with ASL. If not, see <http://www.gnu.org/licenses/>.
*
*/
#ifndef ASLGEOMINC_H
#define ASLGEOMINC_H
#include <memory>
#include <vector>
#include "acl/aclHardware.h"
namespace acl
{
class KernelConfiguration;
}
namespace asl {
template <typename T> class AVec;
class Block;
class AbstractDataWithGhostNodes;
typedef std::shared_ptr<AbstractDataWithGhostNodes> SPAbstractDataWithGhostNodes;
class DistanceFunction;
typedef std::shared_ptr<DistanceFunction> SPDistanceFunction;
SPDistanceFunction generateDFSphere(double r, const AVec<double> & c);
SPDistanceFunction generateDFCylinderInf(double r,
const AVec<double> & l,
const AVec<double> & c);
SPDistanceFunction generateDFCylinder(double r,
const AVec<double> & l,
const AVec<double> & c);
SPDistanceFunction generateDFCone(double r,
const AVec<double> & l,
const AVec<double> & a);
SPDistanceFunction generateDFPlane(const AVec<double> & n,
const AVec<double> & p0);
SPDistanceFunction generateDFConvexPolygonPrism(std::vector<AVec<double>> points);
SPDistanceFunction generateDFConvexPolygonPyramid(std::vector<AVec<double>> points,
AVec<double> a);
SPDistanceFunction generateDFInBlock(const Block & b, unsigned int nG);
SPDistanceFunction operator&(SPDistanceFunction a, SPDistanceFunction b);
SPDistanceFunction operator|(SPDistanceFunction a, SPDistanceFunction b);
SPDistanceFunction operator-(SPDistanceFunction a);
SPDistanceFunction normalize(SPDistanceFunction a, double dx);
SPAbstractDataWithGhostNodes generateDataContainer_SP(const Block &b,
SPDistanceFunction df,
unsigned int gN,
acl::TypeID t);
void initData(SPAbstractDataWithGhostNodes d,
SPDistanceFunction f);
void initData(SPAbstractDataWithGhostNodes d,
SPDistanceFunction f,
const acl::KernelConfiguration & k);
} // asl
#endif // ASLDISTANCEFUNCTION
acl::KernelConfiguration
ACL Kernel configuration class.
Definition: aclKernelConfiguration.h:35
asl::AVec< double >
asl::Block
Definition: aslBlocks.h:57
asl::generateDataContainer_SP
SPDataWrapperACL generateDataContainer_SP(const Block &b, const acl::VectorOfElements &a)
asl::dx
acl::VectorOfElements dx(const TemplateVE &a)
differential operator
asl::generateDFConvexPolygonPrism
SPDistanceFunction generateDFConvexPolygonPrism(std::vector< AVec< double >> points)
generates infinite prism with convex polygon at its base
asl::generateDFConvexPolygonPyramid
SPDistanceFunction generateDFConvexPolygonPyramid(std::vector< AVec< double >> points, AVec< double > a)
generates pyramid with convex polygon at its base and apex a
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::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::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:44
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:50
asl::initData
void initData(SPAbstractData d, double a)