34 class ExpressionContainer;
41 template <
typename V>
class DataWithGhostNodes;
47 class DistanceFunction;
51 class AbstractDataWithGhostNodes;
The class represents several Element.
Virtual class describes general interface for boundary conditions which connect two datas.
const Block & getBlock1()
acl::SPVectorOfElementsData directions1ACL
BCondConnector(const Block &b1, const Block &b2)
void loadDirectionsToACL()
void addGhostPoint(AVec< int > a1, int d1, AVec< int > a2, int d2)
std::vector< int > indices2
acl::SPVectorOfElementsData indices1ACL
std::vector< int > directions2
void addGhostPoint(AVec< int > a1, AVec< int > a2)
acl::SPVectorOfElementsData directions2ACL
std::vector< int > indices1
std::vector< int > directions1
const Block & getBlock2()
acl::SPVectorOfElementsData indices2ACL
Virtual class describes general interface for boundary conditions which connect two datas.
AVec< int > sliceDimentions1
AVec< int > sliceIncrements1
void addGhostSlice2(AVec< int > pB, AVec< int > pE, int dir)
const Block & getBlock1()
const VectorTemplate *const templ
void addGhostSlice1(AVec< int > pB, AVec< int > pE, int dir)
AVec< int > sliceDimentions2
BCondConnectorSlice(const Block &b1, const Block &b2, const VectorTemplate *const t)
const Block & getBlock2()
AVec< int > sliceIncrements2
Virtual class describes general interface for boundary conditions.
const VectorTemplate *const templ
const VectorTemplate * getVT()
BCondDynamic(const Block &b, const VectorTemplate *const t)
acl::SPVectorOfElementsData normalsACL
acl::SPVectorOfElementsData pointsACL
BCondDynamic(const Block &b)
Virtual class describes general interface for boundary conditions.
BCond(const Block &b, const VectorTemplate *const t)
std::vector< int > directions
acl::SPVectorOfElementsData neighbourIndicesACL
std::vector< int > neighbourIndices
std::vector< int > indices
void loadDirectionsToACL()
const VectorTemplate *const templ
acl::SPVectorOfElementsData directionsACL
void addPoint(AVec< int > a, int d=0, double fr=0)
void loadNeighbourIndicesToACL()
const VectorTemplate * getVT()
acl::SPVectorOfElementsData indicesACL
acl::SPVectorOfElementsData fractionsACL
std::vector< double > fractions
Virtual class describes general interface for boundary conditions.
BCondSlice(const Block &b)
BCondSlice(const Block &b, const VectorTemplate *const t)
AVec< int > sliceDimentions
const VectorTemplate *const templ
void addGhostSlice(AVec< int > pB, AVec< int > pE, int dir)
AVec< int > sliceIncrements
Virtual class describes general interface for boundary conditions.
acl::VectorOfElements isGhostNode(unsigned int i)
returns expression corresponding to check if the node in i^th direction is ghost one
const VectorTemplate * getVT()
acl::VectorOfElements currentPoint
BCondWithMap(SPDistanceFunction m, SPDistanceFunction cd, const Block &b, const VectorTemplate *const vt)
BCondWithMap(SPDistanceFunction m, const Block &b, const VectorTemplate *const vt)
acl::VectorOfElements isComputationNode(const vector< unsigned int > &ii)
returns expression corresponding to check if nodes in directions ii are computation ones
unique_ptr< TemplateVE > mapTVE
SPAbstractDataWithGhostNodes map
boundary description for the particular BC
BCondWithMap(SPAbstractDataWithGhostNodes m, SPAbstractDataWithGhostNodes cd, const VectorTemplate *const vt)
bool pointsListFlag
flag whether the point list to be generated or not
BCondWithMap(SPAbstractDataWithGhostNodes m, const VectorTemplate *const vt)
acl::VectorOfElements isComputationNode(unsigned int i)
returns expression corresponding to check if the node in i^th direction is computation one
unique_ptr< TemplateVE > cDomainTVE
SPAbstractDataWithGhostNodes computationalDomain
Computational domain which contains all boundaries and the particular boundary as well.
BCondWithMap(SPAbstractDataWithGhostNodes m, SPDistanceFunction cd, const VectorTemplate *const vt)
SPDistanceFunction computationalDomainDF
acl::VectorOfElements isGhostNode()
returns expression corresponding to check if the current node is ghost one
virtual void initMapInfrastructure(acl::ExpressionContainer &ec)
initialize mapTVE and cDomainTVE
const VectorTemplate *const templ
acl::VectorOfElements isComputationNode()
returns expression corresponding to check if the current node is computation one
Defines set of vectros with several properties.
void addSliceY(BCond &, int y)
void addSliceZ(BCond &, int z)
void addSliceX(BCond &, int x)
SlicesNames
defines names of walls of a box
SPDataWrapperACLData generateDataContainerACL_SP(const Block &b, unsigned int n=1)
generates pointer to ACL Data field with n components
std::shared_ptr< DistanceFunction > SPDistanceFunction
Advanced Computational Language.
shared_ptr< VectorOfElementsData > SPVectorOfElementsData
Advanced Simulation Library.
DataWithGhostNodes< acl::VectorOfElementsData > DataWithGhostNodesACLData
std::shared_ptr< BCond > SPBCond
void addSlices(BCond &, const vector< SlicesNames > &)
std::shared_ptr< AbstractDataWithGhostNodes > SPAbstractDataWithGhostNodes
DataWithGhostNodes< acl::VectorOfElements > DataWithGhostNodesACL
std::shared_ptr< DataWithGhostNodesACL > SPDataWithGhostNodesACL
std::shared_ptr< DataWithGhostNodesACLData > SPDataWithGhostNodesACLData