50struct LBMSimulationParameter;
52class CudaMemoryManager;
100 void addLevelData(
int level);
101 void addPointsToLevelData(
LevelData& levelData, std::vector<uint>& indices,
int level);
107 std::vector<PostProcessingVariable> getPostProcessingVariables(
Statistic statistic,
int level)
const;
108 std::vector<PostProcessingVariable> getAllPostProcessingVariables(
int level)
const;
110 void writeParallelFile(
int t);
111 void writeGridFiles(
int level,
int t);
112 void writeGridFile(
int level,
int t,
uint part);
114 std::vector<std::vector<double>>&
nodeData);
115 void appendTimeseriesFile(
int level,
int t);
118 std::vector<real> getTimestepData(
real time,
int timestep,
int level);
120 std::vector<std::string> getVarNames();
122 uint getNumberOfTimestepsInTimeseries(
int level)
static WbWriterVtkXmlBinary * getInstance()
Class for LBM-parameter management.
Computes statistics of pointwise data. Data can be written to vtk-file or timeseries file....
static GridParams getGridParams(LBMSimulationParameter *para)
void addProbePointsFromList(std::vector< real > coordsX, std::vector< real > coordY, std::vector< real > coordZ)
bool enableComputationVariances
bool enableComputationMeans
void addProbeVolume(const std::shared_ptr< GbObject3D > &probeVolume)
bool fileNameLU
if true, written file name contains time step in LU, else is the number of the written probe files
void addProbePlane(real startX, real startY, real startZ, real length, real width, real height)
SPtr< CudaMemoryManager > cudaMemoryManager
void getTaggedFluidNodes(GridProvider *gridProvider) override
const bool outputTimeSeries
flag initiating time series output.
Probe(std::shared_ptr< Parameter > para, std::shared_ptr< CudaMemoryManager > cudaMemoryManager, const std::string &outputPath, const std::string &probeName, uint tStartSampling, uint tBetweenSamples, uint tStartWritingOutput, uint tBetweenWriting, bool outputTimeSeries, bool sampleEveryTimestep, bool sampleScalar=false)
std::vector< std::shared_ptr< GbObject3D > > probeObjects
bool enableComputationInstantaneous
const uint tBetweenSamples
const uint tStartWritingOutput
const bool sampleEveryTimestep
void addProbePoint(real x, real y, real z)
void addStatistic(Statistic variable)
void sample(int level, uint t) override
std::vector< std::string > fileNamesForCollectionFile
LevelData * getLevelData(int level)
std::vector< LevelData > levelDatas
const uint tBetweenWriting
void addAllAvailableStatistics()
const uint tStartSampling
std::vector< std::string > timeseriesFileNames
Base class for all samplers.
std::shared_ptr< T > SPtr
void removeReceiveNodes(std::vector< uint > &indices, Parameter *para, int level)
void removeInterpolationCells(std::vector< uint > &indices, Parameter *para, int level)
struct holds and manages the LB-parameter of the simulation
std::vector< real > coordinatesX
TimeseriesParams timeseriesParams
LevelData(ProbeData probeDataH, ProbeData probeDataD, std::vector< real > coordinatesX, std::vector< real > coordinatesY, std::vector< real > coordinatesZ)
std::vector< real > coordinatesY
uint numberOfAveragedValues
std::vector< real > coordinatesZ
PostProcessingVariable(std::string name, real conversionFactor)
bool computeInstantaneous
__device__ __host__ ProbeData(bool computeInstantaneous, bool computeMeans, bool computeVariance, bool sampleScalar, uint numberOfPoints, uint numberOfQuantities, uint numberOfTimesteps)
uint lastTimestepInOldTimeseries