KratosMultiphysics
KRATOS Multiphysics (Kratos) is a framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. Kratos is written in C++, and counts with an extensive Python interface.
|
This class manages the computation of the variance for a given quantity. More...
#include <statistics_utilities.h>
Public Member Functions | |
SymmetricVarianceSampler (const StatisticsSampler::Pointer pQuantity1) | |
Initialize a sampler for the variance of a vecor quantity. More... | |
std::size_t | ComponentIndex (std::size_t i, std::size_t j) const override |
Helper returning the correct argument in calls to GetComponentOffset for matrix quantities. More... | |
void | SampleDataPoint (std::vector< double >::iterator &BufferIterator, const StatisticsSampler::IntegrationPointDataView &rCurrentStatistics, const std::vector< double > &rNewMeasurement, const std::size_t NumberOfMeasurements) override |
For higher-order statistics: operate on lower order data. More... | |
void | OutputHeader (std::ofstream &rOutStream, const std::string &rSeparator) const override |
Write header for the output file. More... | |
Public Member Functions inherited from Kratos::VarianceSampler | |
VarianceSampler (const StatisticsSampler::Pointer pQuantity1, const StatisticsSampler::Pointer pQuantity2) | |
Initialize a sampler for the (co)variance between two given quantities. More... | |
double | Finalize (double Value, std::size_t SampleSize) const override |
Post-process internal data to produce the final value of the statistical result. More... | |
Public Member Functions inherited from Kratos::StatisticsSampler | |
KRATOS_CLASS_POINTER_DEFINITION (StatisticsSampler) | |
StatisticsSampler (std::size_t NumValues) | |
Define a new StatisticsSampler instance. More... | |
virtual | ~StatisticsSampler () |
Destructor. More... | |
virtual void | SampleDataPoint (const Geometry< Node > &rGeometry, const Vector &rShapeFunctions, const Matrix &rShapeDerivatives, std::vector< double >::iterator &BufferIterator) |
For first-order statistics: read data directly. More... | |
std::size_t | GetSize () const |
Number of quantities managed by this statistic. More... | |
virtual std::size_t | GetComponentOffset (std::size_t i) const |
Offset (from the start of the space allocated to this statistic) for the storage of component i. More... | |
std::size_t | GetOffset () const |
Offset (from the start of the statistics container) to the first component stored by this statistic. More... | |
void | SetOffset (std::size_t Offset) |
Assign a new offset (from the start of the statistics container) to the first component stored by this statistic. More... | |
virtual void | OutputResult (std::ofstream &rOutStream, IntegrationPointDataViewIterator &rDataBuffer, std::size_t SampleSize, const std::string &rSeparator) const |
Write results managed by this class to output buffer. More... | |
std::string | GetTag (std::size_t ComponentIndex) const |
Get the string associated one of the components of this statistic. More... | |
Additional Inherited Members | |
Public Types inherited from Kratos::StatisticsSampler | |
typedef Matrix::iterator1 | IntegrationPointDataView |
typedef Matrix::const_iterator2 | IntegrationPointDataViewIterator |
Protected Member Functions inherited from Kratos::VarianceSampler | |
VarianceSampler (const StatisticsSampler::Pointer pQuantity1, const StatisticsSampler::Pointer pQuantity2, std::size_t DataSize) | |
const StatisticsSampler::Pointer | GetQuantity1 () const |
const StatisticsSampler::Pointer | GetQuantity2 () const |
Protected Member Functions inherited from Kratos::StatisticsSampler | |
void | AddTag (std::string Tag) |
This class manages the computation of the variance for a given quantity.
It is essentially intended as a substitution of VarianceSampler for vector quantities. It takes advantage of the fact that variance(ui,uj) = variance(uj,ui), reducing the number of values to be tracked.
|
inline |
Initialize a sampler for the variance of a vecor quantity.
Note that online recording of a variance requires also recording the average of the corresponding quantity.
pQuantity1 | Sampler for the average of the quantity of interest. |
|
inlineoverridevirtual |
Helper returning the correct argument in calls to GetComponentOffset for matrix quantities.
Reimplemented from Kratos::StatisticsSampler.
|
inlineoverridevirtual |
Write header for the output file.
This function is called when printing to a file.
rOutStream | stream for the output file. |
rSeparator | Separator for the output csv file (for example a comma or semicolon). |
Reimplemented from Kratos::VarianceSampler.
|
inlineoverridevirtual |
For higher-order statistics: operate on lower order data.
To be implemented in derived classes. Note that the BufferIterator argument will be advanced during the call.
BufferIterator | Iterator pointing to the start of the storage of the statistics managed by this class. | |
[in] | rCurrentStatistics | Container of last known values for recorded quantities at this sampling point. |
[in] | rNewMeasurement | Container of new measurements for recorded quantities at this sampling point. |
[in] | NumberOfMeasurements | Total number of realizations measured at the sampling point (including the current one). |
Reimplemented from Kratos::VarianceSampler.