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 (co)variance when one or both variables are Vector components. More...
#include <statistics_utilities.h>
Public Member Functions | |
ComponentwiseVarianceSampler (const StatisticsSampler::Pointer pQuantity1, std::size_t ComponentIndex1, const StatisticsSampler::Pointer pQuantity2, std::size_t ComponentIndex2) | |
Initialize a sampler for the (co)variance between two given 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... | |
virtual std::size_t | ComponentIndex (std::size_t i, std::size_t j) const |
Helper returning the correct argument in calls to GetComponentOffset for matrix quantities. 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 (co)variance when one or both variables are Vector components.
Note that it is only prepared to accept scalar or vector component arguments, for full vectors, use the general VarianceSampler.
|
inline |
Initialize a sampler for the (co)variance between two given quantities.
Note that online recording of a variance requires also recording the averages of each quantity. When using this class with a scalar quantity, pass 0 as its ComponentIndex.
pQuantity1 | Sampler for the average of the first quantity of the variance. |
ComponentIndex1 | Index of the component of pQuantity1 to be used in the (co)variance. |
pQuantity2 | Sampler for the average of the second quantity of the variance. |
ComponentIndex2 | Index of the component of pQuantity2 to be used in the (co)variance. |
|
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.