29 #include "../math/aslVectors.h" 33 class VectorOfElements;
48 inline explicit Box(
unsigned int nd);
67 DV c2iTransformVector;
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);
75 inline const Block& operator=(
const Block & b);
78 inline void setSize(
const DV & s);
79 inline const DV & getSize()
const;
82 inline const V getBPosition()
const;
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)
166 errorMessage (
"Block::Block() Size and Position dimensionalities are different");
193 errorMessage(
"Block::c2i() - The input vector size does not correspond to the block dimensionality");
220 inline const unsigned int nD(
const Block & b)
void setSize(const DV &s)
Advanced Simulation Library.
Advanced Computational Language.
const DV & getSize() const
const AVec< int > continiousToDiscret(const Block &b, AVec<> a)
Block()
the size is taken 1, the position is taken to be 0
void errorMessage(cl_int status, const char *errorMessage)
Prints errorMessage and exits depending on the status.
const unsigned int nD(const Block &b)
AVec< int > castTransformVector(AVec< int > s)
bool in(const T &xx, const T &x1, const T &x2)
Checks the belonging to a closed interval [x1,x2], .
const bool in(const Block &b, AVec< int > a)
AVec< int > DV
Discrete Vector.
acl::VectorOfElements dx(const TemplateVE &a)
differential operator
const Block offset(const Block &bl, int a=1)
The class represents several Element.
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
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.