34#ifndef GPU_PARAMETER_H
35#define GPU_PARAMETER_H
60class ConfigurationFile;
66class CudaStreamManager;
68class TransientBCInputFileReader;
299 std::vector<std::vector<double>>
cpTop;
363 explicit Parameter(
const int numberOfProcesses,
const int myId);
364 explicit Parameter(
const int numberOfProcesses,
const int myId, std::optional<const vf::basics::ConfigurationFile*>
configData);
370 std::shared_ptr<LBMSimulationParameter>
getParH(
int level)
const;
372 std::shared_ptr<LBMSimulationParameter>
getParD(
int level);
377 const std::vector<std::shared_ptr<LBMSimulationParameter>>&
getParHallLevels();
378 const std::vector<std::shared_ptr<LBMSimulationParameter>>&
getParDallLevels();
491 void setGridX(std::vector<int> GridX);
492 void setGridY(std::vector<int> GridY);
493 void setGridZ(std::vector<int> GridZ);
754 std::vector<std::shared_ptr<LBMSimulationParameter>>
parH = std::vector<std::shared_ptr<LBMSimulationParameter>>(1);
755 std::vector<std::shared_ptr<LBMSimulationParameter>>
parD = std::vector<std::shared_ptr<LBMSimulationParameter>>(1);
761 void initGridPaths();
762 void initGridBasePoints();
763 void initDefaultLBMkernelAllLevels();
765 void setPathAndFilename(std::string fname);
769 real factorPressBC{ 1.0 };
770 real Diffusivity{ 0.001 };
773 real clockCycleForMeasurePoints{ 1.0 };
775 real vis_ratio{ 1.0 };
777 real u0_ratio{ 1.0 };
778 real delta_rho{ 1.0 };
779 real delta_press{ 1.0 };
780 real SGSConstant{ 0.0 };
781 real outflowPressureCorrectionFactor{ 0.0 };
782 real turbulentPrandtlNumber{ 0.0 };
783 real buoyancyFactor{ 0.0 };
785 real referenceTemperature{ 0.0 };
786 bool diffOn{
false };
787 bool buoyancyEnabled {
false };
788 bool calcDragLift{
false };
789 bool calcCp{
false };
790 bool calcVelocityAndFluctuations{
false };
791 bool isBodyForce{
false };
792 bool allNodesAllFeatures{
false };
793 bool printFiles{
false };
794 bool doRestart{
false };
795 bool doCheckPoint{
false };
796 bool readGeo{
false };
799 bool GeometryValues{
false };
800 bool is2ndOrderMoments{
false };
801 bool is3rdOrderMoments{
false };
802 bool isHighOrderMoments{
false };
803 bool calcMean{
false };
804 bool turbulentViscosityEnabled{
false };
805 bool turbulentDiffusivityEnabled{
false };
806 bool isMeasurePoints{
false };
807 bool isInitNeq{
false };
813 int factor_gridNZ{ 2 };
816 int myProcessId{ 0 };
822 uint tDoCheckPoint{ 0 };
823 uint tDoRestart{ 0 };
824 uint tCalcMedStart{ 0 };
825 uint tCalcMedEnd{ 10 };
829 uint timeStepForMeasurePoints{ 10 };
831 std::vector<uint> devices{ 0, 1 };
832 std::vector<int> GridX, GridY, GridZ;
833 std::vector<real> scaleLBMtoSI, translateLBMtoSI;
834 std::vector<real> minCoordX, minCoordY, minCoordZ, maxCoordX, maxCoordY, maxCoordZ;
836 std::string fname{
"output/simulation" };
837 std::string oPath{
"output/" };
838 std::string gridPath{
"grid/" };
839 std::string oPrefix{
"simulation" };
840 std::string geoVec, coordX, coordY, coordZ, neighborX, neighborY, neighborZ, neighborWSB, scaleCFC, scaleCFF, scaleFCC, scaleFCF, scaleOffsetCF, scaleOffsetFC;
841 std::string noSlipBcPos, noSlipBcQs, noSlipBcValue;
842 std::string slipBcPos, slipBcQs, slipBcValue;
843 std::string pressBcPos, pressBcQs, pressBcValue;
844 std::string geomBoundaryBcQs, velBcQs;
845 std::string geomBoundaryBcValues, velBcValues, pressBcValues, noSlipBcValues;
846 std::string measurePoints;
847 std::string inletBcQs, inletBcValues;
848 std::string outletBcQs, outletBcValues;
849 std::string topBcQs, topBcValues;
850 std::string bottomBcQs, bottomBcValues;
851 std::string frontBcQs, frontBcValues;
852 std::string backBcQs, backBcValues;
853 std::string wallBcQs, wallBcValues;
854 std::string periodicBcQs, periodicBcValues;
855 std::string numberNodes, LBMvsSI;
856 std::string cpTop, cpBottom, cpBottom2;
857 std::string concentration;
864 std::string mainKernel{ vf::collision_kernel::compressible::K17CompressibleNavierStokes };
865 bool multiKernelOn{
false };
866 std::vector<int> multiKernelLevel;
867 std::vector<std::string> multiKernel;
868 bool kernelNeedsFluidNodeIndicesToRun =
false;
869 std::string adKernel;
871 std::vector<SPtr<PreCollisionInteractor>> interactors;
872 std::vector<SPtr<Sampler>> samplers;
875 unsigned int stepEnsight;
880 std::vector<std::string> possNeighborFilesSendX, possNeighborFilesSendY, possNeighborFilesSendZ;
881 std::vector<std::string> possNeighborFilesRecvX, possNeighborFilesRecvY, possNeighborFilesRecvZ;
882 bool isNeigborX, isNeigborY, isNeigborZ;
895 bool useStreams{
false };
896 std::unique_ptr<CudaStreamManager> cudaStreamManager;
Class for LBM-parameter management.
void setIsNeighborZ(bool isNeighbor)
void setUseTurbulentDiffusivity(bool useTurbulentDiffusivity)
void setmeasurePoints(std::string measurePoints)
void setslipBcValue(std::string slipBcValue)
std::string getnoSlipBcValues()
std::string getneighborX()
unsigned int getTimestepStart() const
std::string getpressBcQs()
void setMemsizeGPU(double admem, bool reset)
void setCalcHighOrderMoments(bool isHighOrderMoments)
std::string getbackBcQs()
real getForceRatio() const
void setbottomBcValues(std::string bottomBcValues)
double * getForcesDouble()
real getScaledLengthRatio(int level) const
vf::lbm::advection_diffusion::TurbulenceModel getADTurbulenceModel()
int getTimeCalcMedStart()
std::vector< std::shared_ptr< LBMSimulationParameter > > parH
void setNumberOfProcessNeighborsX(unsigned int numberOfProcessNeighbors, int level, std::string sor)
void addSampler(SPtr< Sampler > sampler)
real getViscosityRatio() const
void setRecvProcessNeighborsAfterFtoCZ(int numberOfNodes, int level, int arrayIndex)
void setscaleOffsetCF(std::string scaleOffsetCF)
std::string getbottomBcValues()
std::vector< std::string > getMultiKernel()
real getclockCycleForMeasurePoints()
std::string getslipBcValue()
int getMyProcessID() const
void setcoordZ(std::string coordZ)
void setPossNeighborFilesX(std::vector< std::string > possNeighborFiles, std::string sor)
void setfrontBcValues(std::string frontBcValues)
std::vector< real > getMaxCoordZ()
void setTimestepOut(unsigned int tout)
void setTurbulenceModel(vf::lbm::TurbulenceModel turbulenceModel)
void setslipBcQs(std::string slipBcQs)
void setDoCheckPoint(bool doCheckPoint)
void initLBMSimulationParameter()
void settimestepForMeasurePoints(unsigned int timestepForMeasurePoints)
void setinletBcValues(std::string inletBcValues)
std::string getinletBcQs()
unsigned int getTimestepStartOut()
void setTimeCalcMedStart(int CalcMedStart)
std::vector< real > getMinCoordZ()
void setneighborZ(std::string neighborZ)
unsigned int getNumberOfProcessNeighborsX(int level, std::string sor)
bool getEvenOrOdd(int level)
real getViscosity() const
void setclockCycleForMeasurePoints(real clockCycleForMeasurePoints)
void setMinCoordX(std::vector< real > MinCoordX)
void setbackBcValues(std::string backBcValues)
std::string getbackBcValues()
void setpressBcQs(std::string pressBcQs)
real getScaledViscosityRatio(int level) const
void setscaleFCC(std::string scaleFCC)
void setslipBcPos(std::string slipBcPos)
std::string getscaleOffsetCF()
void setCalc2ndOrderMoments(bool is2ndOrderMoments)
bool getCalcTurbulenceIntensity()
void setTimestepStartOut(unsigned int tStartOut)
void setinletBcQs(std::string inletBcQs)
void setKernelNeedsFluidNodeIndicesToRun(bool kernelNeedsFluidNodeIndicesToRun)
real getBuoyancyFactor() const
void setGravity(real gravity)
void setUseInitNeq(bool useInitNeq)
std::string getwallBcQs()
void setDensityRatio(real DensityRatio)
void settopBcQs(std::string topBcQs)
void setDiffOn(bool isDiff)
void setcoordY(std::string coordY)
void setRealX(real RealX)
std::vector< real > getTranslateLBMtoSI()
std::string getscaleFCF()
std::shared_ptr< LBMSimulationParameter > getParH(int level) const
Pointer to instance of LBMSimulationParameter - stored on Host System.
vf::lbm::TurbulenceModel getTurbulenceModel()
std::vector< std::shared_ptr< LBMSimulationParameter > > parD
std::vector< real > getScaleLBMtoSI()
unsigned int getNumberOfProcessNeighborsY(int level, std::string sor)
void setcpBottom2(std::string cpBottom2)
std::function< real(real, real, real)> & getInitialLocalReferenceTemperature()
std::string getwallBcValues()
bool useReducedCommunicationAfterFtoC
void initProcessNeighborsAfterFtoCZ(int level)
void setcoordX(std::string coordX)
void setSendProcessNeighborsAfterFtoCY(int numberOfNodes, int level, int arrayIndex)
std::string getoutletBcQs()
std::string getgeomBoundaryBcQs()
std::string getnoSlipBcQs()
void setneighborX(std::string neighborX)
std::string getpressBcPos()
void setBuoyancyFactor(real buoyancyFactor)
std::string getneighborWSB()
std::vector< int > getGridX()
void setgeomBoundaryBcValues(std::string geomBoundaryBcValues)
unsigned int getTimeDoCheckPoint()
std::string getscaleFCC()
bool getCalc2ndOrderMoments()
real getScaledTimeRatio(int level) const
std::string getfrontBcValues()
void setRealY(real RealY)
real getScaledDensityRatio(int level) const
std::string getscaleCFC()
void setReadGeo(bool readGeo)
std::string getMainKernel() const
void setbottomBcQs(std::string bottomBcQs)
void setfrontBcQs(std::string frontBcQs)
real getVelocityRatio() const
void setMaxLevel(int numberOfLevels)
void copyMeasurePointsArrayToVector(int lev)
void setForcing(real forcingX, real forcingY, real forcingZ)
std::function< real(real, real, real)> & getInitialConditionAD()
void setDoRestart(bool doRestart)
void setbackBcQs(std::string backBcQs)
void setConcentration(std::string concFile)
bool getCalc3rdOrderMoments()
void setAllNodesAllFeatures(bool allNodesAllFeatures)
void setperiodicBcValues(std::string periodicBcValues)
std::vector< std::string > getPossNeighborFilesZ(std::string sor)
void setvelBcQs(std::string velBcQs)
void setperiodicBcQs(std::string periodicBcQs)
void setwallBcQs(std::string wallBcQs)
std::unique_ptr< CudaStreamManager > & getStreamManager()
std::string getGridPath()
unsigned int getTimestepForMeasurePoints()
void setMaxCoordY(std::vector< real > MaxCoordY)
void setInitialLocalReferenceTemperature(std::function< real(real, real, real)> initialReferenceTemperature)
std::vector< uint > getDevices() const
bool getKernelNeedsFluidNodeIndicesToRun()
void setVelocityRatio(real VelocityRatio)
void setTurbulentPrandtlNumber(real turbulentPrandtlNumber)
void setnoSlipBcValues(std::string noSlipBcValues)
void setRecvProcessNeighborsAfterFtoCX(int numberOfNodes, int level, int arrayIndex)
std::string getmeasurePoints()
void setCalcTurbulenceIntensity(bool calcVelocityAndFluctuations)
bool overWritingRestart(unsigned int t)
void setADKernel(std::string adKernel)
std::string getbottomBcQs()
bool getDoRestart() const
bool getUseTurbulentViscosity()
unsigned int getTimestepInit()
void initProcessNeighborsAfterFtoCY(int level)
std::string getfrontBcQs()
std::vector< SPtr< Sampler > > getSamplers()
void setoutletBcQs(std::string outletBcQs)
unsigned int getTimestepOfCoarseLevel()
std::shared_ptr< LBMSimulationParameter > getParD(int level)
Pointer to instance of LBMSimulationParameter - stored on Device (GPU)
real * getQuadricLimitersDev()
void setUseStreams(bool useStreams)
sets whether streams and thus communication hiding should be used
real getOutflowPressureCorrectionFactor()
void initProcessNeighborsAfterFtoCX(int level)
real * getQuadricLimitersHost() const
void setCalcCp(bool calcCp)
void setScaleLBMtoSI(std::vector< real > scaleLBMtoSI)
bool getCalcHighOrderMoments()
void setCalcDragLift(bool calcDragLift)
real getReferenceTemperature() const
real getScaledBuoyancyFactor(int level) const
std::string getOutputPrefix() const
void setscaleFCF(std::string scaleFCF)
void setOutputPath(std::string oPath)
void setoutletBcValues(std::string outletBcValues)
std::string getpressBcValue()
std::string getslipBcPos()
bool getIsGeometryValues()
void setFactorPressBC(real factorPressBC)
void setcpTop(std::string cpTop)
void setMaxDev(int maxdev)
void setPossNeighborFilesY(std::vector< std::string > possNeighborFiles, std::string sor)
void setUseGeometryValues(bool GeometryValues)
void setTimestepOfCoarseLevel(unsigned int timestep)
void setwallBcValues(std::string wallBcValues)
real getDensityRatio() const
void setNumberOfProcessNeighborsY(unsigned int numberOfProcessNeighbors, int level, std::string sor)
std::vector< int > getGridY()
void setCalcMean(bool calcMean)
void setMinCoordY(std::vector< real > MinCoordY)
std::string getscaleCFF()
std::vector< real > getMaxCoordX()
real getScaledVelocityRatio(int level) const
std::string getvelBcValues()
std::string getgeomBoundaryBcValues()
std::string getneighborY()
void setUseTurbulentViscosity(bool useTurbulentViscosity)
void setTimeCalcMedEnd(int CalcMedEnd)
void setvelBcValues(std::string velBcValues)
void setSendProcessNeighborsAfterFtoCZ(int numberOfNodes, int level, int arrayIndex)
unsigned int getNumberOfProcessNeighborsZ(int level, std::string sor)
std::function< void(real, real, real, real &, real &, real &, real &)> & getInitialCondition()
void setOutflowPressureCorrectionFactor(real correctionFactor)
void setnoSlipBcValue(std::string noSlipBcValue)
void setscaleCFC(std::string scaleCFC)
void settopBcValues(std::string topBcValues)
unsigned int getTimestepOut()
std::string getperiodicBcQs()
void setNumberOfProcessNeighborsZ(unsigned int numberOfProcessNeighbors, int level, std::string sor)
void configureMainKernel(std::string kernel)
real getScaledStressRatio(int level) const
void setIsGeo(bool isGeo)
std::vector< real > getMinCoordX()
void setAdvectionDiffusionTurbulenceModel(vf::lbm::advection_diffusion::TurbulenceModel turbulenceModel)
void setgeomBoundaryBcQs(std::string geomBoundaryBcQs)
void setpressBcValue(std::string pressBcValue)
real getLengthRatio() const
std::vector< int > getMultiKernelLevel()
void setneighborY(std::string neighborY)
std::string getcpBottom()
void setRecvProcessNeighborsAfterFtoCY(int numberOfNodes, int level, int arrayIndex)
void setLBMvsSI(std::string LBMvsSI)
real getScaledGravity(int level) const
void setIsNeighborY(bool isNeighbor)
void setgeoVec(std::string geoVec)
void setscaleOffsetFC(std::string scaleOffsetFC)
std::string getFName() const
void setCalc3rdOrderMoments(bool is3rdOrderMoments)
std::string getscaleOffsetFC()
void setStepEnsight(unsigned int step)
void addInteractor(SPtr< PreCollisionInteractor > interactor)
void setMultiKernelLevel(std::vector< int > kernelLevel)
void setMultiKernel(std::vector< std::string > kernel)
void setGridPath(std::string gridPath)
void setpressBcPos(std::string pressBcPos)
void setPossNeighborFilesZ(std::vector< std::string > possNeighborFiles, std::string sor)
void setscaleCFF(std::string scaleCFF)
std::string getOutputPath()
real getScaledForceRatio(int level) const
real getScaledPressureRatio(int level) const
bool getBuoyancyEnabled() const
std::string getnoSlipBcValue()
double * getQuadricLimitersDouble()
std::string getslipBcQs()
unsigned int getTimeDoRestart() const
std::string getcpBottom2()
unsigned int getStepEnsight()
void setInitialCondition(std::function< void(real, real, real, real &, real &, real &, real &)> initialCondition)
const std::vector< std::shared_ptr< LBMSimulationParameter > > & getParHallLevels()
void setnumberNodes(std::string numberNodes)
std::string getinletBcValues()
std::string getneighborZ()
unsigned int getTimeStep(int level, unsigned int t, bool isPostCollision)
Get current (sub)time step of a given level.
std::vector< real > getMaxCoordY()
void setObj(std::string str, bool isObj)
void setMinCoordZ(std::vector< real > MinCoordZ)
void setMultiKernelOn(bool isOn)
void setReferenceTemperature(real referenceTemperature)
void setSGSConstant(real SGSConstant)
const std::vector< std::shared_ptr< LBMSimulationParameter > > & getParDallLevels()
unsigned int getTimestepEnd() const
void setTimeDoRestart(unsigned int tDoRestart)
void setViscosityLB(real Viscosity)
void setOutputPrefix(std::string oPrefix)
std::string getnoSlipBcPos()
std::string getperiodicBcValues()
std::vector< SPtr< PreCollisionInteractor > > getInteractors()
void setBuoyancyEnabled(bool buoyancyEnabled)
std::vector< std::string > getPossNeighborFilesY(std::string sor)
void setnoSlipBcPos(std::string noSlipBcPos)
void setUseMeasurePoints(bool useMeasurePoints)
bool getUseMeasurePoints()
LBMSimulationParameter & getParHostAsReference(int level) const
void setMaxCoordX(std::vector< real > MaxCoordX)
void setPrintFiles(bool printfiles)
real getPressureRatio() const
void setSendProcessNeighborsAfterFtoCX(int numberOfNodes, int level, int arrayIndex)
real getTurbulentPrandtlNumber() const
void setpressBcValues(std::string pressBcValues)
void setTranslateLBMtoSI(std::vector< real > translateLBMtoSI)
std::vector< int > getGridZ()
void setGridZ(std::vector< int > GridZ)
std::vector< real > getMinCoordY()
std::string getADKernel()
void setMaxCoordZ(std::vector< real > MaxCoordZ)
void setneighborWSB(std::string neighborWSB)
void setTimestepEnd(unsigned int tend)
void setQuadricLimiters(real quadricLimiterP, real quadricLimiterM, real quadricLimiterD)
void setInitialConditionAD(std::function< real(real, real, real)> initialConditionAD)
bool getUseTurbulentDiffusivity()
void setTimeDoCheckPoint(unsigned int tDoCheckPoint)
LBMSimulationParameter & getParDeviceAsReference(int level) const
std::string getnumberNodes()
void setDiffusivity(real Diffusivity)
void setnoSlipBcQs(std::string noSlipBcQs)
bool getAllNodesAllFeatures() const
void setDevices(std::vector< uint > devices)
void setViscosityRatio(real ViscosityRatio)
std::vector< std::string > getPossNeighborFilesX(std::string sor)
std::string getpressBcValues()
void setVelocityLB(real Velocity)
void setGridY(std::vector< int > GridY)
void setPressRatio(real PressRatio)
double hostQuadricLimiters[3]
void setIsNeighborX(bool isNeighbor)
void setIsBodyForce(bool isBodyForce)
std::string getoutletBcValues()
void setcpBottom(std::string cpBottom)
void setGridX(std::vector< int > GridX)
std::string getConcentration()
void setNumprocs(int numprocs)
real getTimeRatio() const
std::string gettopBcValues()
std::shared_ptr< T > SPtr
curandStateXORWOW curandState
Simple configuration file.
TurbulenceModel
An enumeration for selecting a template of the advection-diffusion turbulence model.
TurbulenceModel
An enumeration for selecting a turbulence model.
stores location of neighboring cell (necessary for refinement into the wall)
uint indexOfProcessNeighborRecv
EdgeNodePositions(uint indexOfProcessNeighborRecv, uint indexInRecvBuffer, uint indexOfProcessNeighborSend, uint indexInSendBuffer)
uint indexOfProcessNeighborSend
struct holds and manages the LB-parameter of the simulation
double * DragLiftPreProcessingInYdirection
std::map< CollisionTemplate, uint * > taggedFluidNodeIndices
unsigned int numberOfMeasurePoints
InterpolationCells coarseToFineBorder
std::vector< ProcessNeighbor27 > sendProcessNeighborsX
stores the base-node-indices of coarse and fine refinement cells
InterpolationCellNeighbor neighborFineToCoarseBulk
std::vector< MeasurePoints > MeasurePointVector
store the indices, velocities and density at distinct measure points
uint * typeOfGridNode
stores the type for every lattice node (f.e. fluid node)
real * concentration
stores a field of concentration values
real * CUMbbb
3rd order moments
std::vector< ProcessNeighbor27 > sendProcessNeighborsAfterFtoCZ
AdvectionDiffusionNoFluxBoundaryConditions AdvectionDiffusionNoFluxBC
stores the advection diffusion noFlux boundary condition data
Distributions27 distributions
store all distribution functions for the D3Q27
InterpolationCellNeighbor neighborFineToCoarse
int * cpTopIndex
stores pressure values at distinct locations
std::vector< ProcessNeighbor27 > sendProcessNeighborsY
real * densityAtMeasurePoints
real * meanVelocityInZdirectionOut
real * coordinateX
store the coordinates for every lattice node
std::vector< ProcessNeighbor27 > recvProcessNeighborsZ
unsigned int numberOfPointsCpBottom2
WallModelParameters momentumWallModel
stores parameters for a wall model
QforBoundaryConditions pressureBC
stores the pressure boundary condition data
std::vector< ProcessNeighbor27 > sendProcessNeighborsAfterFtoCX
std::vector< ProcessNeighbor27 > sendProcessNeighborsZ
real gravity
stores non-dimensional scaled gravity
bool isEvenTimestep
decides if the simulation timestep is even or odd
QforBoundaryConditions velocityBC
stores the velocity boundary condition data
real * meanVelocityInXdirectionOut
std::vector< EdgeNodePositions > edgeNodesYtoZ
real * localReferenceTemperature
stores a field of local reference temperature when using buoyancy
InterpolationCellNeighbor neighborCoarseToFine
stores location of neighboring cell (necessary for refinement into the wall)
QforBoundaryConditions noSlipBC
stores the no slip boundary condition data
AdvectionDiffusionNeumannBoundaryConditions AdvectionDiffusionNeumannBC
stores the advection diffusion Dirichlet boundary condition data
real * meanVelocityInYdirection
InterpolationCells fineToCoarseBulk
QforBoundaryConditions geometryBC
stores the geometry boundary condition data
QforBoundaryConditions surfaceLayerBC
stores the surface layer boundary condition data
std::vector< bool > isOutsideInterface
std::vector< real > turbulenceIntensity
std::vector< double > pressMirror
std::vector< ProcessNeighbor27 > sendProcessNeighborsAfterFtoCY
real * CUMcbb
higher order moments
real * meanVelocityInZdirection
std::vector< std::vector< double > > cpTop
double * DragLiftPostProcessingInZdirection
std::vector< double > DragLiftVectorInXdirection
real * velocityInXdirectionAtMeasurePoints
QforBoundaryConditions stressBC
stores the stress boundary condition data
double * DragLiftPreProcessingInZdirection
std::vector< double > DragLiftVectorInYdirection
uint gridNX
store the grid dimensions of the domain
real gridSpacing
stores the space between the grid nodes
std::vector< EdgeNodePositions > edgeNodesXtoY
InterpolationCells fineToCoarse
unsigned int * indicesOfMeasurePoints
Distributions27 distributionsAD
store all distribution functions for the D3Q27 advection diffusion field
real * meanVelocityInYdirectionOut
std::vector< ProcessNeighbor27 > recvProcessNeighborsAfterFtoCY
unsigned long long memSizeRealLBnodes
stores the size of the memory consumption for real/int values of the arrays (e.g. coordinates,...
unsigned int memSizeRealMeasurePoints
InterpolationCells coarseToFineBulk
unsigned int numberOfPointsCpBottom
InterpolationCellNeighbor neighborCoarseToFineBulk
unsigned int numberOfPointsCpTop
double * DragLiftPreProcessingInXdirection
stores pre- an post-processing values for the calculation
real diffusivity
stores the diffusivity
real * velocityInZdirectionAtMeasurePoints
unsigned long long numberOfNodes
stores the number of nodes (based on indirect addressing scheme)
uint * neighborX
store the neighbors in +X, +Y, +Z, and in diagonal negative direction
real * meanConcentration
store mean macroscopic advection diffusion values
real * meanVelocityInXdirection
store mean macroscopic fluid flow values
QforBoundaryConditions outflowBC
stores the outflow boundary condition data
std::vector< ProcessNeighbor27 > recvProcessNeighborsAfterFtoCX
real * vx_mean
store the turbulent intensity and related values
real * meanConcentrationOut
double * DragLiftPostProcessingInXdirection
std::vector< std::vector< double > > cpBottom2
real outflowPressureCorrectionFactor
can be used for pressure correction at outflow boundary condition
real * velocityX
store the macroscopic values (velocity, density, pressure)
unsigned int memSizeIntegerMeasurePoints
std::vector< SPtr< TransientBCInputFileReader > > transientBCInputFileReader
allows reading values for a boundary condition from a file
std::vector< CollisionTemplate > allocatedBulkFluidNodeTags
real * forceX_SP
store the values of body forces for all 3 dimensions
std::vector< ProcessNeighbor27 > recvProcessNeighborsAfterFtoCZ
unsigned long long memSizeLonglongLBnodes
std::vector< ProcessNeighbor27 > recvProcessNeighborsX
InterpolationCells coarseToFine
stores the base-node-indices of coarse and fine refinement cells
std::vector< double > DragLiftVectorInZdirection
double * DragLiftPostProcessingInYdirection
uint numberofthreads
stores the number of threads per GPU block
unsigned int numberOfPointsPressWindow
real * forcing
sets a uniform forcing on each fluid node in all three spatial dimensions
real referenceTemperature
\biref stores temperature that is set as reference temperature in simulation
AdvectionDiffusionFluxBoundaryConditions AdvectionDiffusionFluxBC
stores the advection diffusion Dirichlet boundary condition data
real * turbulentViscosity
store the turbulent viscosity and diffusivity
real * velocityInYdirectionAtMeasurePoints
real * turbulentDiffusivity
real omegaDiffusivity
stores the value for omega (for the diffusivity)
QforBoundaryConditions slipBC
stores the slip boundary condition data
QforPrecursorBoundaryConditions precursorBC
stores the precursor boundary condition data
SurfaceLayerWallModelParameters surfaceLayerWallModel
stores parameters for a temperature wall model
real omega
stores the value for omega
std::vector< std::vector< double > > cpBottom
std::vector< ProcessNeighbor27 > recvProcessNeighborsY
std::vector< QforDirectionalBoundaryCondition > pressureBCDirectional
stores the data for a directional pressure boundary condition
AdvectionDiffusionDirichletBoundaryConditions AdvectionDiffusionDirichletBC
stores the advection diffusion Dirichlet boundary condition data
std::map< CollisionTemplate, uint > numberOfTaggedFluidNodes
std::vector< QforDirectionalADBoundaryCondition > concentrationBCDirectional
stores the data for directional advection-diffusion (temperature) boundary conditions
std::vector< EdgeNodePositions > edgeNodesXtoZ
real * kxyFromfcNEQ
store higher order moments
real viscosity
stores the value for viscosity
InterpolationCells fineToCoarseBorder
distinguish between bulk and border interpolation cells (necessary for communication hiding)