29 #include "../math/aslVectors.h" 33 class VectorOfElements;
48 inline explicit Box(
unsigned int nd);
71 inline explicit Block(
unsigned int nd);
72 inline Block(
const DV & s,
double dx,
const V & p);
73 inline explicit Block(
const DV & s,
double dx = 1);
98 inline const unsigned int nD(
const Block & b);
113 inline Box::Box(
unsigned int nd):size(nd),position(nd)
123 for (
unsigned int i = 0; i < n - 1; ++i)
152 position(
V(s.getSize())),
166 errorMessage (
"Block::Block() Size and Position dimensionalities are different");
172 position(b.position),
174 c2iTransformVector(b.c2iTransformVector)
193 errorMessage(
"Block::c2i() - The input vector size does not correspond to the block dimensionality");
void setSize(const DV &s)
acl::VectorOfElements getACLPosition()
Advanced Simulation Library.
Advanced Computational Language.
const DV & getSize() const
Block()
the size is taken 1, the position is taken to be 0
const AVec< int > continiousToDiscret(const Block &b, AVec<> a)
void errorMessage(cl_int status, const char *errorMessage)
Prints errorMessage and exits depending on the status.
const unsigned int nD(const Block &b)
bool in(const T &xx, const T &x1, const T &x2)
Checks the belonging to a closed interval [x1,x2], .
AVec< int > castTransformVector(AVec< int > s)
AVec< int > DV
Discrete Vector.
acl::VectorOfElements dx(const TemplateVE &a)
differential operator
const Block offset(const Block &bl, int a=1)
Box(unsigned int nd)
the size and position are taken 0
acl::VectorOfElements initACLPosition()
The class represents several Element.
acl::VectorOfElements initACLPositionDiscrete()
const Block & operator=(const Block &b)
const unsigned int & getSize() const
The block without discretization (size and position are float)
const bool positive(const AVec< T > &a)
const V getBPosition() const
acl::VectorOfElements getACLPositionDiscrete()
int c2i(const Block::DV &c) const
defines convertion rule of 1D/2D/3D index i into container one
AVec V
Type of the position.