50 if(para->getMaxLevel() != 0){
52 throw std::runtime_error(
"There is more than one level, but no scalingFactory was provided.");
54 checkScalingFunction(
gridScalingFactory->getGridScalingFC(parameter->getUseTurbulentViscosity()),
this->para->getParD(0)->fineToCoarse,
"scalingFineToCoarse");
55 checkScalingFunction(
gridScalingFactory->getGridScalingCF(parameter->getUseTurbulentViscosity()),
this->para->getParD(0)->coarseToFine,
"scalingCoarseToFine");
56 this->scalingFineToCoarse =
gridScalingFactory->getGridScalingFC(parameter->getUseTurbulentViscosity());
57 this->scalingCoarseToFine =
gridScalingFactory->getGridScalingCF(parameter->getUseTurbulentViscosity());
58 if (para->getDiffOn())
60 this->scalingFineToCoarseAD =
gridScalingFactory->getGridScalingAdvectionDiffusionFC(parameter->getUseTurbulentDiffusivity());
61 this->scalingCoarseToFineAD =
gridScalingFactory->getGridScalingAdvectionDiffusionCF(parameter->getUseTurbulentDiffusivity());
65 if(this->scalingFineToCoarse ==
nullptr)
66 VF_LOG_TRACE(
"Function for scalingFineToCoarse is nullptr");
67 if(this->scalingCoarseToFine ==
nullptr)
68 VF_LOG_TRACE(
"Function for scalingCoarseToFine is nullptr");
70 if (para->getDiffOn())
72 if (this->scalingFineToCoarseAD ==
nullptr)
73 VF_LOG_TRACE(
"Function for scalingFineToCoarseAD is nullptr");
74 if (this->scalingCoarseToFineAD ==
nullptr)
75 VF_LOG_TRACE(
"Function for scalingCoarseToFineAD is nullptr");
82 this->scalingFineToCoarse(para->getParD(level).get(), para->getParD(level+1).get(), fineToCoarse, neighborFineToCoarse,
stream);
83 if (para->getDiffOn())
84 this->scalingFineToCoarseAD(para->getParD(level).get(), para->getParD(level+1).get(), fineToCoarse, neighborFineToCoarse,
stream);
90 this->scalingCoarseToFine(para->getParD(level).get(), para->getParD(level+1).get(), coarseToFine, neighborCoarseToFine,
stream);
91 if (para->getDiffOn())
92 this->scalingCoarseToFineAD(para->getParD(level).get(), para->getParD(level+1).get(), coarseToFine, neighborCoarseToFine,
stream);
void runCoarseToFineKernelLB(const int level, InterpolationCells *coarseToFine, ICellNeigh &neighborCoarseToFine, CudaStreamIndex streamIndex) const
calls the device function of the coarse to fine grid interpolation kernel
void runFineToCoarseKernelLB(const int level, InterpolationCells *fineToCoarse, ICellNeigh &neighborFineToCoarse, CudaStreamIndex streamIndex) const
calls the device function of the fine to coarse grid interpolation kernelH