55class CudaMemoryManager;
56class BoundaryConditionFactory;
95 std::shared_ptr<Parameter>
para;
std::shared_ptr< Parameter > para
void setOutflowSizePerLevel(int level, int sizePerLevel) const
virtual void allocAndCopyForcing()
virtual void sortFluidNodeTags()=0
void setInitialNodeValuesAD(uint numberOfNodes, int level) const
virtual ~GridProvider()=default
void setNumberOfTaggedFluidNodes(uint numberOfNodes, CollisionTemplate tag, int level) const
void setVelocitySizePerLevel(int level, int sizePerLevel) const
static std::shared_ptr< GridProvider > makeGridGenerator(std::shared_ptr< GridBuilder > builder, std::shared_ptr< Parameter > para, std::shared_ptr< CudaMemoryManager > cudaMemoryManager, vf::parallel::Communicator &communicator)
void setPressSizePerLevel(int level, int sizePerLevel) const
virtual void setInitialNodeValues(uint numberOfNodes, int level) const
static std::shared_ptr< GridProvider > makeGridReader(FILEFORMAT format, std::shared_ptr< Parameter > para, std::shared_ptr< CudaMemoryManager > cudaMemoryManager)
virtual void initPeriodicNeigh(std::vector< std::vector< std::vector< unsigned int > > > periodV, std::vector< std::vector< unsigned int > > periodIndex, std::string way)=0
virtual void allocArrays_BoundaryQs()=0
virtual void setBoundingBox()=0
virtual void tagFluidNodeIndices(const std::vector< uint > &taggedFluidNodeIndices, CollisionTemplate tag, uint level)=0
std::shared_ptr< CudaMemoryManager > cudaMemoryManager
virtual void allocArrays_BoundaryValues(const BoundaryConditionFactory *bcFactory)=0
virtual void cudaCopyDataToHost(int level)
void setNumberOfNodes(uint numberOfNodes, int level) const
virtual void allocArrays_CoordNeighborGeo()=0
virtual void freeMemoryOnHost()
virtual void setDimensions()=0
virtual void allocAndCopyQuadricLimiters()
virtual void initalGridInformations()=0
virtual void allocArrays_taggedFluidNodes()=0
virtual void allocArrays_OffsetScale()=0
An abstract class for communication between processes in parallel computation.
std::shared_ptr< T > SPtr
CollisionTemplate
An enumeration for selecting a template of the collision kernel (CumulantK17)