35#ifndef BUOYANCY_PROVIDER_H
36#define BUOYANCY_PROVIDER_H
52class CudaMemoryManager;
63 if (!
para->getBuoyancyEnabled())
64 throw std::runtime_error(
"BuoyancyProvider: buoyancy needs to be enabled in Parameter!");
79 VF_LOG_INFO(
"Using BuoyancyProviderPlanarAverage with buoyancy factor {}",
para->getBuoyancyFactor());
80 if (!
para->getBuoyancyEnabled())
81 throw std::runtime_error(
"BuoyancyProvider: buoyancy needs to be enabled in Parameter!");
113 return profileParameters[level];
117 return reductionParameters[level];
121 uint numberOfInitialReferenceValues;
123 std::vector<ProfileParameters> profileParameters;
124 std::vector<ReductionParameters> reductionParameters;
~BuoyancyProviderConstantValue() override=default
BuoyancyProviderConstantValue(std::shared_ptr< Parameter > parameter, std::shared_ptr< CudaMemoryManager > cudaMemoryManager)
void interact(int level, uint) override
void getTaggedFluidNodes(GridProvider *) override
ReductionParameters & getReductionParameter(int level)
~BuoyancyProviderPlanarAverage() override
BuoyancyProviderPlanarAverage(std::shared_ptr< Parameter > parameter, std::shared_ptr< CudaMemoryManager > cudaMemoryManager)
void getTaggedFluidNodes(GridProvider *) override
void interact(int level, uint) override
ProfileParameters & getProfileParameter(int level)
SPtr< CudaMemoryManager > cudaMemoryManager
std::shared_ptr< T > SPtr
real * referenceTemperaturesHost
ProfileParameters(uint numberOfPlanes)
real * referenceTemperaturesDevice
uint * numberOfNodesPerPlaneDevice
uint * numberOfNodesPerPlaneHost
ReductionParameters(uint numberOfPlanes)
size_t sizeOfTemporaryMemory