40#include <cuda_runtime.h>
41#include <helper_cuda.h>
66 if(parameter->getIsBodyForce())
73 if(parameter->getUseTurbulentViscosity())
97 double tmp = 3. * (
double)parameter->getParH(
lev)->memSizeRealLBnodes;
124 double tmp = 3. * (
double)parameter->getParH(
lev)->memSizeRealLBnodes;
175 checkCudaErrors(
cudaMalloc((
void**) &(parameter->getParD(
lev)->distributions.f[0]), (
unsigned long long)parameter->getD3Qxx()*(
unsigned long long)parameter->getParD(
lev)->memSizeRealLBnodes));
177 double tmp = 4. * (
double)parameter->getParH(
lev)->memSizeLonglongLBnodes + 5. * (
double)parameter->getParH(
lev)->memSizeRealLBnodes + (
double)parameter->getD3Qxx() * (
double)parameter->getParH(
lev)->memSizeRealLBnodes;
318 unsigned int mem_size_Q_k =
sizeof(
int)*parameter->getParH(
lev)->noSlipBC.numberOfBCnodes;
319 unsigned int mem_size_Q_q =
sizeof(
real)*parameter->getParH(
lev)->noSlipBC.numberOfBCnodes;
335 unsigned int mem_size_Q_k =
sizeof(
int)*parameter->getParH(
lev)->noSlipBC.numberOfBCnodes;
336 unsigned int mem_size_Q_q =
sizeof(
real)*parameter->getParH(
lev)->noSlipBC.numberOfBCnodes;
349 unsigned int mem_size_Q_k =
sizeof(
int)*parameter->getParH(
lev)->geometryBC.numberOfBCnodes;
350 unsigned int mem_size_Q_q =
sizeof(
real)*parameter->getParH(
lev)->geometryBC.numberOfBCnodes;
366 unsigned int mem_size_Q_k =
sizeof(
int)*parameter->getParH(
lev)->geometryBC.numberOfBCnodes;
367 unsigned int mem_size_Q_q =
sizeof(
real)*parameter->getParH(
lev)->geometryBC.numberOfBCnodes;
380 unsigned int mem_size_Q_k =
sizeof(
int)*parameter->getParH(
lev)->pressureBC.numberOfBCnodes;
381 unsigned int mem_size_Q_q =
sizeof(
real)*parameter->getParH(
lev)->pressureBC.numberOfBCnodes;
401 unsigned int mem_size_Q_k =
sizeof(
int)*parameter->getParH(
lev)->pressureBC.numberOfBCnodes;
402 unsigned int mem_size_Q_q =
sizeof(
real)*parameter->getParH(
lev)->pressureBC.numberOfBCnodes;
454 auto& parH = parameter->getParHostAsReference(
lev);
455 auto& parD = parameter->getParDeviceAsReference(
lev);
457 for (
size_t i = 0;
i < parH.pressureBCDirectional.size();
i++) {
509 auto& parH = parameter->getParHostAsReference(
lev);
510 auto& parD = parameter->getParDeviceAsReference(
lev);
512 for (
size_t i = 0;
i < parH.concentrationBCDirectional.size();
i++) {
531 parameter->forcingH[0] = parameter->getForcesDouble()[0];
532 parameter->forcingH[1] = parameter->getForcesDouble()[1];
533 parameter->forcingH[2] = parameter->getForcesDouble()[2];
558 for (
int i = 0;
i < level;
i++) {
559 fx_t *= vf::basics::constant::c2o1;
560 fy_t *= vf::basics::constant::c2o1;
561 fz_t *= vf::basics::constant::c2o1;
568 parameter->getParH(level)->forcing[0] = parameter->forcingH[0] /
fx_t;
569 parameter->getParH(level)->forcing[1] = parameter->forcingH[1] /
fy_t;
570 parameter->getParH(level)->forcing[2] = parameter->forcingH[2] /
fz_t;
598 parameter->quadricLimitersH[0] = parameter->getQuadricLimitersDouble()[0];
599 parameter->quadricLimitersH[1] = parameter->getQuadricLimitersDouble()[1];
600 parameter->quadricLimitersH[2] = parameter->getQuadricLimitersDouble()[2];
630 if(parameter->getDiffOn())
650 if(parameter->getDiffOn())
661 if (parameter->getDiffOn())
665 if (parameter->getDiffOn()) {
674 if (parameter->getDiffOn())
678 if (parameter->getDiffOn())
690 double tmp = (
double)parameter->getParH(
lev)->memSizeLonglongLBnodes;
708 double tmp = (
double)parameter->getParH(
lev)->memSizeRealLBnodes;
809 double tmp = 5. * (
double)parameter->getParH(
lev)->memSizeRealLBnodes;
897 size_t memsize =
sizeof(
uint) * parameter->getParH(
lev)->fineToCoarseBulk.numberOfCells;
899 for (
uint i = 0;
i < parameter->getParH(
lev)->fineToCoarseBulk.numberOfCells;
i++)
900 printf(
"%d %d\n",
i, parameter->getParH(
lev)->fineToCoarseBulk.coarseCellIndices[
i]);
982 unsigned int mem_size_Q_q =
sizeof(
real)*parameter->getParH(
lev)->geometryBC.numberOfBCnodes;
1000 unsigned int mem_size_Q_q =
sizeof(
real)*parameter->getParH(
lev)->geometryBC.numberOfBCnodes;
1015 unsigned int mem_size_Q_k =
sizeof(
int)*parameter->getParH(
lev)->slipBC.numberOfBCnodes;
1037 unsigned int mem_size_Q_k =
sizeof(
int)*parameter->getParH(
lev)->slipBC.numberOfBCnodes;
1057 auto& parH = parameter->getParHostAsReference(
lev);
1058 auto& parD = parameter->getParDeviceAsReference(
lev);
1081 auto& parH = parameter->getParHostAsReference(
lev);
1082 auto& parD = parameter->getParDeviceAsReference(
lev);
1104 const size_t memSizeInt =
sizeof(
int)*parameter->getParH(
lev)->surfaceLayerBC.numberOfBCnodes;
1105 const size_t memSizeReal =
sizeof(
real)*parameter->getParH(
lev)->surfaceLayerBC.numberOfBCnodes;
1127 const size_t memSizeInt =
sizeof(
int)*parameter->getParH(
lev)->surfaceLayerBC.numberOfBCnodes;
1128 const size_t memSizeReal =
sizeof(
real)*parameter->getParH(
lev)->surfaceLayerBC.numberOfBCnodes;
1228 const size_t memSize =
sizeof(
real) * numberOfNodes;
1254 const size_t memSize =
sizeof(
real) * numberOfNodes;
1324 size_t size = parameter->getParH(
lev)->precursorBC.numberOfPrecursorNodes*
sizeof(
real)*parameter->getParH(
lev)->precursorBC.numberOfQuantities;
1359 auto precurser = ¶meter->getParH(
lev)->precursorBC;
1419 checkCudaErrors(
cudaMalloc((
void**) &(parameter->getParD(
lev)->velocityInXdirectionAtMeasurePoints), parameter->getParD(
lev)->memSizeRealMeasurePoints ));
1420 checkCudaErrors(
cudaMalloc((
void**) &(parameter->getParD(
lev)->velocityInYdirectionAtMeasurePoints), parameter->getParD(
lev)->memSizeRealMeasurePoints ));
1421 checkCudaErrors(
cudaMalloc((
void**) &(parameter->getParD(
lev)->velocityInZdirectionAtMeasurePoints), parameter->getParD(
lev)->memSizeRealMeasurePoints ));
1425 double tmp = (
double)parameter->getParH(
lev)->memSizeIntegerMeasurePoints + 4. * (
double)parameter->getParH(
lev)->memSizeRealMeasurePoints;
1454 checkCudaErrors(
cudaMallocHost((
void**) &(parameter->getParH(
lev)->distributions.f[0] ), (
unsigned long long)parameter->getD3Qxx()*(
unsigned long long)parameter->getParH(
lev)->memSizeRealLBnodes));
1458 for (
int level = 0; level <= parameter->getMaxLevel(); level++) {
1472 for (
int level = 0; level <= parameter->getMaxLevel(); level++)
1679 unsigned int mem_size_int =
sizeof(
unsigned int) * parameter->getParH(
lev)->numberOfPointsCpTop;
1696 unsigned int mem_size_int =
sizeof(
unsigned int) * parameter->getParH(
lev)->numberOfPointsCpTop;
1718 unsigned int mem_size_int =
sizeof(
unsigned int) * parameter->getParH(
lev)->numberOfPointsCpBottom;
1735 unsigned int mem_size_int =
sizeof(
unsigned int) * parameter->getParH(
lev)->numberOfPointsCpBottom;
1757 unsigned int mem_size_int =
sizeof(
unsigned int) * parameter->getParH(
lev)->numberOfPointsCpBottom2;
1774 unsigned int mem_size_int =
sizeof(
unsigned int) * parameter->getParH(
lev)->numberOfPointsCpBottom2;
1799 double tmp = (
double)parameter->getParH(
lev)->memSizeRealLBnodes;
1820 double tmp = (
double)(27 * parameter->getParH(
lev)->memSizeRealLBnodes);
1826 const uint size = parameter->getParH(
lev)->memSizeRealLBnodes;
1849 const size_t size = parameter->getParH(
lev)->memSizeRealLBnodes;
1869 auto*
bcParamsH = ¶meter->getParH(
lev)->AdvectionDiffusionNoFluxBC;
1870 auto*
bcParamsD = ¶meter->getParD(
lev)->AdvectionDiffusionNoFluxBC;
1888 auto*
bcParamsH = ¶meter->getParH(
lev)->AdvectionDiffusionNoFluxBC;
1889 auto*
bcParamsD = ¶meter->getParD(
lev)->AdvectionDiffusionNoFluxBC;
1898 const auto*
bcParamsH = ¶meter->getParH(
lev)->AdvectionDiffusionNoFluxBC;
1899 const auto*
bcParamsD = ¶meter->getParD(
lev)->AdvectionDiffusionNoFluxBC;
1908 auto*
bcParamsH = ¶meter->getParH(
lev)->AdvectionDiffusionFluxBC;
1909 auto*
bcParamsD = ¶meter->getParD(
lev)->AdvectionDiffusionFluxBC;
1935 auto*
bcParamsH = ¶meter->getParH(
lev)->AdvectionDiffusionFluxBC;
1936 auto*
bcParamsD = ¶meter->getParD(
lev)->AdvectionDiffusionFluxBC;
1949 const auto*
bcParamsH = ¶meter->getParH(
lev)->AdvectionDiffusionFluxBC;
1950 const auto*
bcParamsD = ¶meter->getParD(
lev)->AdvectionDiffusionFluxBC;
1967 auto*
bcParamsH = ¶meter->getParH(
lev)->AdvectionDiffusionDirichletBC;
1968 auto*
bcParamsD = ¶meter->getParD(
lev)->AdvectionDiffusionDirichletBC;
1994 auto*
bcParamsH = ¶meter->getParH(
lev)->AdvectionDiffusionDirichletBC;
1995 auto*
bcParamsD = ¶meter->getParD(
lev)->AdvectionDiffusionDirichletBC;
2008 auto*
bcParamsH = ¶meter->getParH(
lev)->AdvectionDiffusionDirichletBC;
2009 auto*
bcParamsD = ¶meter->getParD(
lev)->AdvectionDiffusionDirichletBC;
2029 const auto*
bcParamsH = ¶meter->getParH(
lev)->AdvectionDiffusionNeumannBC;
2030 const auto*
bcParamsD = ¶meter->getParD(
lev)->AdvectionDiffusionNeumannBC;
2056 const auto*
bcParamsH = ¶meter->getParH(
lev)->AdvectionDiffusionNeumannBC;
2057 const auto*
bcParamsD = ¶meter->getParD(
lev)->AdvectionDiffusionNeumannBC;
2070 const auto*
bcParamsH = ¶meter->getParH(
lev)->AdvectionDiffusionNeumannBC;
2071 const auto*
bcParamsD = ¶meter->getParD(
lev)->AdvectionDiffusionNeumannBC;
2122 parameter->getParH(
lev)->taggedFluidNodeIndices[tag],
2352 if (
actuatorFarm->localSmearingWidthDCurrentTimestep !=
nullptr)
2358 if (
actuatorFarm->localSmearingWidthDPreviousTimestep !=
nullptr)
2439 auto& reductionParameters =
buoyancyProvider->getReductionParameter(level);
2440 const size_t memSize =
sizeof(
uint) * reductionParameters.numberOfPlanes;
2452 auto& reductionParameters =
buoyancyProvider->getReductionParameter(level);
2455 reductionParameters.numberOfNodesPerPlaneHost,
2462 auto& reductionParameters =
buoyancyProvider->getReductionParameter(level);
2473 const size_t sizeReal =
sizeof(
real) * data.numberOfNodes;
2474 const size_t sizeUint =
sizeof(
uint) * data.numberOfNodes;
2559 (
void**)&
forest->leafAreaDensityH,
2560 sizeof(
real) *
forest->getNumberOfIndices()));
2563 (
void**)&
forest->leafAreaDensityD,
2564 sizeof(
real) *
forest->getNumberOfIndices()));
2572 forest->leafAreaDensityD,
2573 forest->leafAreaDensityH,
2580 if (
forest->leafAreaDensityD)
2583 if (
forest->leafAreaDensityH)
2592 auto* probeDataH = &
probe->getLevelData(level)->probeDataH;
2593 auto* probeDataD = &
probe->getLevelData(level)->probeDataD;
2594 const size_t sizeData =
sizeof(
real)*probeDataH->numberOfPoints*probeDataH->numberOfTimesteps*probeDataH->numberOfQuantities;
2601 if(probeDataH->computeInstantaneous)
2607 if(probeDataH->computeMeans)
2613 if(probeDataH->computeVariances)
2625 auto* probeDataH = &
probe->getLevelData(level)->probeDataH;
2626 auto* probeDataD = &
probe->getLevelData(level)->probeDataD;
2627 const size_t sizeData =
sizeof(
real)*probeDataH->numberOfPoints*probeDataH->numberOfTimesteps*probeDataH->numberOfQuantities;
2632 if(probeDataH->computeInstantaneous)
2636 if(probeDataH->computeMeans)
2640 if(probeDataH->computeVariances)
2648 auto* probeDataH = &
probe->getLevelData(level)->probeDataH;
2649 auto* probeDataD = &
probe->getLevelData(level)->probeDataD;
2650 const size_t sizeData =
sizeof(
real)*probeDataH->numberOfPoints*probeDataH->numberOfTimesteps*probeDataH->numberOfQuantities;
2651 if(probeDataH->computeInstantaneous)
2655 if(probeDataH->computeMeans)
2659 if(probeDataH->computeVariances)
2667 auto* probeDataH = &
probe->getLevelData(level)->probeDataH;
2668 auto* probeDataD = &
probe->getLevelData(level)->probeDataD;
2672 if(probeDataH->computeInstantaneous)
2677 if(probeDataH->computeMeans)
2682 if(probeDataH->computeVariances)
2704 const size_t size =
sizeof(
real) * data->maxNumberOfPointsPerPlane;
2712 double tmp = 6. * size;
2747 size_t dataSize =
prec->numberOfPointsInBC*
sizeof(
real)*
prec->numberOfQuantities;
2748 size_t dataSizeH = dataSize *
prec->numberOfTimeStepsPerFile;
2793 this->memsizeGPU = 0.;
2797 this->memsizeGPU +=
admem;
2803 return this->memsizeGPU;
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 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 cudaFreeProbeData(Probe *probe, int level)
void cudaCopyLevelForcingToDevice(int level)
void cudaAllocLeafAreaDensity(Forest *forest)
void cudaCopySlipBC(int lev)
void cudaAllocIndices(ActuatorFarm *actuatorFarm)
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 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)
CudaMemoryManager(std::shared_ptr< Parameter > parameter)
void cudaFreeProcessNeighbor(const ProcessNeighbor27 &neighborHost, const ProcessNeighbor27 &neighborDevice) const
void cudaFree2ndMoments(int lev)
void cudaFreeLocalReferenceTemperature(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 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 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 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)
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 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 ...
PrecursorStruct * getPrecursorStruct(int level)
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)