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.
Public Member Functions | List of all members
Kratos::SymmetricVarianceSampler Class Reference

This class manages the computation of the variance for a given quantity. More...

#include <statistics_utilities.h>

Inheritance diagram for Kratos::SymmetricVarianceSampler:
Collaboration diagram for Kratos::SymmetricVarianceSampler:

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)
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ SymmetricVarianceSampler()

Kratos::SymmetricVarianceSampler::SymmetricVarianceSampler ( const StatisticsSampler::Pointer  pQuantity1)
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.

Parameters
pQuantity1Sampler for the average of the quantity of interest.

Member Function Documentation

◆ ComponentIndex()

std::size_t Kratos::SymmetricVarianceSampler::ComponentIndex ( std::size_t  i,
std::size_t  j 
) const
inlineoverridevirtual

Helper returning the correct argument in calls to GetComponentOffset for matrix quantities.

Reimplemented from Kratos::StatisticsSampler.

◆ OutputHeader()

void Kratos::SymmetricVarianceSampler::OutputHeader ( std::ofstream &  rOutStream,
const std::string &  rSeparator 
) const
inlineoverridevirtual

Write header for the output file.

This function is called when printing to a file.

Parameters
rOutStreamstream for the output file.
rSeparatorSeparator for the output csv file (for example a comma or semicolon).

Reimplemented from Kratos::VarianceSampler.

◆ SampleDataPoint()

void Kratos::SymmetricVarianceSampler::SampleDataPoint ( std::vector< double >::iterator &  BufferIterator,
const StatisticsSampler::IntegrationPointDataView rCurrentStatistics,
const std::vector< double > &  rNewMeasurement,
const std::size_t  NumberOfMeasurements 
)
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.

Parameters
BufferIteratorIterator pointing to the start of the storage of the statistics managed by this class.
[in]rCurrentStatisticsContainer of last known values for recorded quantities at this sampling point.
[in]rNewMeasurementContainer of new measurements for recorded quantities at this sampling point.
[in]NumberOfMeasurementsTotal number of realizations measured at the sampling point (including the current one).

Reimplemented from Kratos::VarianceSampler.


The documentation for this class was generated from the following file: