34#ifndef CudamemoryManager_H
35#define CudamemoryManager_H
49class PlanarAverageProbe;
52class BuoyancyProviderPlanarAverage;
376 std::shared_ptr<Parameter> parameter;
377 double memsizeGPU = 0.0;
void cudaCopyDirectionalBoundaryCondition(QforDirectionalBoundaryCondition &boundaryConditionHost, QforDirectionalBoundaryCondition &boundaryConditionDevice)
void cudaFreeIndices(ActuatorFarm *actuatorFarm)
void cudaFreeTurbulentViscosity(int lev)
void cudaAllocMeasurePointsIndex(int lev)
void cudaAllocCoord(int lev)
void cudaAllocCpBottom(int lev)
void cudaCopyProcessNeighborFsHtoD(const ProcessNeighbor27 &neighborHost, const ProcessNeighbor27 &neighborDevice) const
void cudaCopyVelocitiesDtoH(ActuatorFarm *actuatorFarm)
void cudaFreeVelocities(ActuatorFarm *actuatorFarm)
void cudaFreeMeasurePointsIndex(int lev)
void cudaAllocOutflowBC(int lev)
void cudaAllocConcentration(int lev)
void cudaAllocInterfaceCF(int lev)
void cudaCopyPress(int lev)
void cudaFreePrecursorBC(int lev)
void cudaFreeDirectionalBoundaryCondition(int level)
void cudaFreeTaggedFluidNodeIndices(CollisionTemplate tag, int lev)
void cudaFree3rdMoments(int lev)
void cudaAllocPlanarAverageProbeIndices(PlanarAverageProbe *planarAverageProbe, int level)
void cudaCopyInterfaceFC(int lev)
void cudaFreeMeanOutAD(int lev)
void cudaAlloc3rdMoments(int lev, int numofelem)
void cudaCopyInterfaceOffFC(int lev)
void cudaFreePress(int lev)
void cudaAllocSurfaceLayerBC(int lev)
void cudaCopyBuoyancyProviderProfileParametersHtoD(BuoyancyProviderPlanarAverage *buoyancyProvider, int level)
void cudaFreeCpTop(int lev)
void cudaCopyFsForCheckPoint(int lev) const
copy distributions from device to host
void cudaAllocStressBC(int lev)
void cudaCopyTurbulentViscosityDH(int lev)
void cudaCheckInterfaceFCBulk(int lev)
void cudaAllocConcentrationNoFluxBC(int lev)
void cudaFreeConcentrationNoFluxBC(int lev)
void cudaCopyIndicesHtoD(ActuatorFarm *actuatorFarm)
void cudaAllocFsForAllLevelsOnHost() const
void cudaCopyBodyForce(int lev)
void cudaCopyTurbulentDiffusivityHostToDevice(int lev)
void cudaFreeLeafAreaDensity(Forest *forest)
void cudaAllocMeanSP(int lev)
void cudaAllocTaggedFluidNodeIndices(CollisionTemplate tag, int lev)
void cudaCopyBoundingVolumeIndicesHtoD(ActuatorFarm *actuatorFarm)
void cudaCopyConcentrationDirichletBCHostToDevice(int lev)
void cudaFreeTurbulenceIntensity(int lev)
void cudaFreeCpBottom(int lev)
void cudaFreeFsForCheckPointAndRestart(int lev) const
void cudaFreeNeighborWSB(int lev)
void cudaAllocPrecursorData(int lev)
void cudaCopyForcingToDevice()
void cudaFreeCoords(ActuatorFarm *actuatorFarm)
void cudaCopyLeafAreaDensityHtoD(Forest *forest)
void cudaAllocCpBottom2(int lev)
void cudaCopyHigherMoments(int lev, int numofelem)
void cudaFreeBuoyancyProviderReductionParameters(BuoyancyProviderPlanarAverage *buoyancyProvider, int level)
void cudaAllocForces(ActuatorFarm *actuatorFarm)
void cudaCopyWallModel(WallModelParameters &wallModelHost, WallModelParameters &wallModelDevice, uint numberOfNodes)
void cudaCopyLocalReferenceTemperatureHostToDevice(int lev)
void cudaFreePlanarAverageProbeIndices(PlanarAverageProbe *planarAverageProbe, int level)
void cudaAllocInterfaceOffCF(int lev)
void cudaCopyFsForAllLevelsToHost() const
void cudaAllocConcFile(int lev)
void cudaAlloc2ndMoments(int lev, int numofelem)
void cudaCopyForcesHtoD(ActuatorFarm *actuatorFarm)
void cudaFreeGeomValuesBC(int lev)
void cudaFreeNoSlipBC(int lev)
void cudaFreeDirectionalADBoundaryCondition(int level)
void cudaAllocLocalReferenceTemperature(int lev)
void cudaFreeHigherMoments(int lev)
void cudaCopyCpBottomInit(int lev)
void cudaAllocDragLift(int lev, int numofelem)
void cudaCopyTaggedFluidNodeIndices(CollisionTemplate tag, int lev)
void cudaCopyGeomValuesBC(int lev)
void cudaCopy3rdMoments(int lev, int numofelem)
void cudaFreeCpBottom2(int lev)
void cudaCopyForcesDtoH(ActuatorFarm *actuatorFarm)
void cudaAllocGeomValuesBC(int lev)
virtual void cudaCopyProcessNeighborIndex(const ProcessNeighbor27 &neighborHost, const ProcessNeighbor27 &neighborDevice) const
void cudaFreeConcentration(int lev)
void cudaFreeMeanSP(int lev)
void cudaFreeForces(ActuatorFarm *actuatorFarm)
void cudaAllocBodyForce(int lev)
void cudaAllocBuoyancyProviderProfileParameters(BuoyancyProviderPlanarAverage *buoyancyProvider, int level)
void cudaAllocConcentrationDirichletBC(int lev)
void cudaCopyProbeDataDtoH(Probe *probe, int level)
void cudaCopyPrecursorBC(int lev)
void cudaAllocBladeOrientations(ActuatorFarm *actuatorFarm)
void cudaFreeProbeData(Probe *probe, int level)
void cudaCopyLevelForcingToDevice(int level)
void cudaAllocLeafAreaDensity(Forest *forest)
void cudaCopySlipBC(int lev)
void cudaAllocIndices(ActuatorFarm *actuatorFarm)
void cudaCopyBuoyancyProviderReductionParametersDtoH(BuoyancyProviderPlanarAverage *buoyancyProvider, int level)
void cudaCopyNoSlipBC(int lev)
void cudaAllocWallModel(WallModelParameters &wallModelHost, WallModelParameters &wallModelDevice, uint numberOfNodes)
void cudaFreeBodyForce(int lev)
void cudaFreeSlipBC(int lev)
void cudaCopyBuoyancyProviderReferenceTemperaturesDtoHAsync(BuoyancyProviderPlanarAverage *buoyancyProvider, int level)
void cudaCopyTemperatureWallModel(TemperatureWallModelParameters &wallModelHost, TemperatureWallModelParameters &wallModelDevice, uint numberOfNodes)
void cudaFreeQuadricLimiters()
void cudaFreeInterfaceCF(int lev)
void cudaFreeSurfaceLayerBC(int lev)
void cudaCopyBladeOrientationsHtoD(ActuatorFarm *actuatorFarm)
void cudaAllocLevelForcing(int level)
void cudaFreeBuoyancyProviderProfileParameters(BuoyancyProviderPlanarAverage *buoyancyProvider, int level)
void cudaAllocPrecursorWriter(PrecursorWriter *writer, int level)
void cudaFreeTurbulentDiffusivity(int lev)
void cudaFreeConcentrationFluxBC(int lev)
void cudaAllocConcentrationFs(int lev)
void cudaCopyCpTopInit(int lev)
void cudaCopyVeloBC(int lev)
void cudaCopyVelocitiesHtoD(ActuatorFarm *actuatorFarm)
void cudaFreeForestIndices(Forest *forest)
void cudaFreePrecursorWriter(PrecursorWriter *writer, int level)
void cudaCopyDataToHost(int lev)
void cudaAllocPlanarAverageProbeSubgridScaleFluxes(PlanarAverageProbe *planarAverageProbe, int level)
void cudaFreeDampingLayerData(DampingLayer *dampingLayer, int level)
void cudaCopyCpTop(int lev)
void cudaAllocInterfaceFC(int lev)
void cudaAllocGeomBC(int lev)
void cudaAllocNoSlipBC(int lev)
void cudaAllocVelocities(ActuatorFarm *actuatorFarm)
void cudaAllocQuadricLimiters()
void cudaFreeStressBC(int lev)
void cudaCopyCoord(int lev)
void cudaFreeProcessNeighbor(const ProcessNeighbor27 &neighborHost, const ProcessNeighbor27 &neighborDevice) const
void cudaFree2ndMoments(int lev)
void cudaFreeLocalReferenceTemperature(int lev)
void cudaCopyConcFile(int lev)
void cudaCopyInterfaceCF(int lev)
void cudaCopyMeasurePointsIndex(int lev)
void cudaCopyPrecursorData(int lev)
void cudaFreeBoundingVolumeIndices(ActuatorFarm *actuatorFarm)
void cudaFreeTemperatureWallModel(TemperatureWallModelParameters &wallModelHost, TemperatureWallModelParameters &wallModelDevice)
void cudaCopyMeasurePointsToHost(int lev)
void cudaCopyTurbulenceIntensityHD(int lev, uint size)
void cudaAllocConcentrationFluxBC(int lev)
void cudaFreeDragLift(int lev)
void cudaFreeInterfaceOffCF(int lev)
void cudaCopyMeanPrint(int lev)
void cudaCopyConcentrationHostToDevice(int lev)
void cudaAllocInterfaceOffFC(int lev)
void cudaCopyBuoyancyProviderReferenceTemperaturesHtoDAsync(BuoyancyProviderPlanarAverage *buoyancyProvider, int level)
void cudaFreeLevelForcing(int level)
void cudaCopyBladeOrientationsDtoH(ActuatorFarm *actuatorFarm)
void cudaAllocCoords(ActuatorFarm *actuatorFarm)
void cudaCopyCoordsHtoD(ActuatorFarm *actuatorFarm)
void cudaAllocBladeGeometries(ActuatorFarm *actuatorFarm)
void setMemsizeGPU(double admem, bool reset)
void cudaFreeMeanOut(int lev)
void cudaAllocNeighborWSB(int lev)
void cudaCopy2ndMoments(int lev, int numofelem)
void cudaAllocSlipBC(int lev)
void cudaAllocDirectionalADBoundaryCondition(QforDirectionalADBoundaryCondition &boundaryConditionHost, QforDirectionalADBoundaryCondition &boundaryConditionDevice)
void cudaCopyOutflowBC(int lev)
void cudaCopyPrecursorWriterIndicesHtoD(PrecursorWriter *writer, int level)
void cudaAllocBoundingVolumeIndices(ActuatorFarm *actuatorFarm)
void cudaFreeConcFile(int lev)
void cudaFreePrecursorData(int lev)
void cudaAllocDampingLayerData(DampingLayer *dampingLayer, int level)
void cudaCopyFsForRestart(int lev) const
copy distributions from host to device
void cudaCopyNeighborWSB(int lev)
void cudaCopyPrecursorWriterOutputVariablesDtoH(PrecursorWriter *writer, int level)
void cudaCopyForcingToHost()
void cudaCopyBuoyancyProviderProfileParametersDtoH(BuoyancyProviderPlanarAverage *buoyancyProvider, int level)
void cudaAllocTurbulentViscosity(int lev)
void cudaCopyConcentrationNoFluxBCHostToDevice(int lev)
void cudaCopyPrint(int lev)
void cudaCopyTurbulentViscosityHD(int lev)
void cudaFreeInterfaceFC(int lev)
void cudaCopyStressBC(int lev)
void cudaAllocTemperatureWallModel(TemperatureWallModelParameters &wallModelHost, TemperatureWallModelParameters &wallModelDevice, uint numberOfNodes)
void cudaFreeInterfaceOffFC(int lev)
void cudaFreeBladeGeometries(ActuatorFarm *actuatorFarm)
void cudaFreeCoord(int lev)
void cudaAllocPrecursorBC(int lev)
void cudaCopyDampingLayerDataHtoD(DampingLayer *dampingLayer, int level)
void cudaCopyForestIndicesHtoD(Forest *forest)
void cudaCopyGeomBC(int lev)
void cudaFreeConcentrationDirichletBC(int lev)
void cudaAllocMeanOut(int lev)
void cudaCopyDirectionalADBoundaryCondition(QforDirectionalADBoundaryCondition &boundaryConditionHost, QforDirectionalADBoundaryCondition &boundaryConditionDevice)
void cudaAllocProbeData(Probe *probe, int level)
void cudaFreeVeloBC(int lev)
void cudaCopyProbeDataHtoD(Probe *probe, int level)
void cudaAllocForestIndices(Forest *forest)
void cudaFreeWallModel(WallModelParameters &wallModelHost, WallModelParameters &wallModelDevice)
void cudaAllocPress(int lev)
void cudaCopyConcentrationDeviceToHost(int lev)
void cudaCopyBladeGeometriesDtoH(ActuatorFarm *actuatorFarm)
void cudaCopyTurbulenceIntensityDH(int lev, uint size)
void cudaAllocSP(int lev)
void cudaAllocHigherMoments(int lev, int numofelem)
void cudaCopyProcessNeighborFsDtoH(const ProcessNeighbor27 &neighborHost, const ProcessNeighbor27 &neighborDevice) const
void cudaCopyMeanSP(int lev)
virtual ~CudaMemoryManager()=default
void cudaCopyCoordsDtoH(ActuatorFarm *actuatorFarm)
void cudaCopyLocalReferenceTemperatureDeviceToHost(int lev)
void cudaAllocConcentrationNeumannBC(int lev)
void cudaFreeOutflowBC(int lev)
void cudaCopyDragLift(int lev, int numofelem)
void cudaCopyInterfaceOffCF(int lev)
void cudaAllocTurbulentDiffusivity(int lev)
void cudaAllocCpTop(int lev)
void cudaCopyCpBottom(int lev)
void cudaFreeGeomBC(int lev)
void cudaAllocVeloBC(int lev)
void cudaCopyQuadricLimitersToDevice()
void cudaCopyBuoyancyProviderReductionParametersHtoD(BuoyancyProviderPlanarAverage *buoyancyProvider, int level)
virtual void cudaAllocProcessNeighbor(const ProcessNeighbor27 &neighborHost, const ProcessNeighbor27 &neighborDevice)
void cudaFreeForestVelocities(Forest *forest)
void cudaAllocFsForCheckPointAndRestart(int lev) const
void cudaAllocForestVelocities(Forest *forest)
void cudaCopySurfaceLayerBC(int lev)
void cudaAllocMeanOutAD(int lev)
void cudaCopyCpBottom2Init(int lev)
void cudaAllocDirectionalBoundaryCondition(QforDirectionalBoundaryCondition &boundaryConditionHost, QforDirectionalBoundaryCondition &boundaryConditionDevice)
void cudaFreeConcentrationNeumannBC(int lev)
void cudaCopyBladeGeometriesHtoD(ActuatorFarm *actuatorFarm)
void cudaAllocBuoyancyProviderReductionParameters(BuoyancyProviderPlanarAverage *buoyancyProvider, int level)
void cudaCopyForestVelocitiesHtoD(Forest *forest, std::vector< real > &velocitiesX, std::vector< real > &velocitiesY, std::vector< real > &velocitiesZ)
void cudaCopyCpBottom2(int lev)
void cudaCopyConcentrationFluxBCHostToDevice(int lev)
void cudaFreePlanarAverageProbeSubgridScaleFluxes(PlanarAverageProbe *planarAverageProbe, int level)
void cudaAllocTurbulenceIntensity(int lev, uint size)
void cudaFreeBladeOrientations(ActuatorFarm *actuatorFarm)
void cudaCopyTurbulentDiffusivityDeviceToHost(int lev)
void cudaCopyConcentrationNeumannBCHostToDevice(int lev)
Computes spatial statistics across x, y or z-normal planes defined by planeNormal....
Probe writing planes of data to be used as inflow data in successor simulation using PrecursorBC The ...
Computes statistics of pointwise data. Data can be written to vtk-file or timeseries file....
std::shared_ptr< T > SPtr
CollisionTemplate
An enumeration for selecting a template of the collision kernel (CumulantK17)