SPHinXsys  alpha version
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
SPH::RegressionTestTimeAveraged< ObserveMethodType > Class Template Reference

The regression test is based on the time-averaged meanvalue and variance. More...

#include <time_averaged_method.h>

Inherits SPH::RegressionTestBase< ObserveMethodType >.

Inherited by SPH::RegressionTestDynamicTimeWarping< ObserveMethodType >, and SPH::RegressionTestEnsembleAveraged< ObserveMethodType >.

Public Member Functions

template<typename... ConstructorArgs>
 RegressionTestTimeAveraged (ConstructorArgs &&...args)
 
void initializeThreshold (VariableType &threshold_mean, VariableType &threshold_variance)
 
void settingupTheTest ()
 
void readMeanVarianceFromXml ()
 
void searchForStartPoint ()
 
void filterExtremeValues ()
 
void updateMeanVariance ()
 
void writeMeanVarianceToXml ()
 
bool compareMeanVariance ()
 
void resultTest ()
 
void generateDataBase (VariableType threshold_mean, VariableType threshold_variance, string filter="false")
 
void newResultTest (string filter="false")
 
- Public Member Functions inherited from SPH::RegressionTestBase< ObserveMethodType >
template<typename... ConstructorArgs>
 RegressionTestBase (ConstructorArgs &&...args)
 
void writeToXml (ObservedQuantityRecording< VariableType > *observe_method, size_t iteration=0)
 
template<typename ReduceType >
void writeToXml (BodyReducedQuantityRecording< ReduceType > *reduce_method, size_t iteration=0)
 
void readFromXml (ObservedQuantityRecording< VariableType > *observe_method)
 
template<typename ReduceType >
void readFromXml (BodyReducedQuantityRecording< ReduceType > *reduce_method)
 
void transposeTheIndex ()
 
void readResultFromXml ()
 
void writeResultToXml ()
 
void readResultFromXml (int index_of_run_)
 
void writeResultToXml (int index_of_run_)
 
void writeToFile (size_t iteration=0) override
 
void writeXmlToXmlFile ()
 
void readXmlFromXmlFile ()
 

Protected Member Functions

void filterLocalResult (DoubleVec< Real > &current_result)
 
void filterLocalResult (DoubleVec< Vecd > &current_result)
 
void filterLocalResult (DoubleVec< Matd > &current_result)
 
void searchSteadyStart (DoubleVec< Real > &current_result)
 
void searchSteadyStart (DoubleVec< Vecd > &current_result)
 
void searchSteadyStart (DoubleVec< Matd > &current_result)
 
void calculateNewVariance (DoubleVec< Real > &current_result, StdVec< Real > &local_meanvalue, StdVec< Real > &variance, StdVec< Real > &variance_new)
 
void calculateNewVariance (DoubleVec< Vecd > &current_result, StdVec< Vecd > &local_meanvalue, StdVec< Vecd > &variance, StdVec< Vecd > &variance_new)
 
void calculateNewVariance (DoubleVec< Matd > &current_result, StdVec< Matd > &local_meanvalue, StdVec< Matd > &variance, StdVec< Matd > &variance_new)
 
int compareParameter (string par_name, StdVec< Real > &parameter, StdVec< Real > &parameter_new, Real &threshold)
 
int compareParameter (string par_name, StdVec< Vecd > &parameter, StdVec< Vecd > &parameter_new, Vecd &threshold)
 
int compareParameter (string par_name, StdVec< Matd > &parameter, StdVec< Matd > &parameter_new, Matd &threshold)
 
int testNewResult (DoubleVec< Real > &current_result, StdVec< Real > &meanvalue, StdVec< Real > &local_meanvalue, StdVec< Real > &variance)
 
int testNewResult (DoubleVec< Vecd > &current_result, StdVec< Vecd > &meanvalue, StdVec< Vecd > &local_meanvalue, StdVec< Vecd > &variance)
 
int testNewResult (DoubleVec< Matd > &current_result, StdVec< Matd > &meanvalue, StdVec< Matd > &local_meanvalue, StdVec< Matd > &variance)
 

Protected Attributes

int snapshot_for_converged_
 
std::string mean_variance_filefullpath_
 
std::string filefullpath_filter_output_
 
XmlEngine mean_variance_xml_engine_in_
 
XmlEngine mean_variance_xml_engine_out_
 
VariableType threshold_mean_
 
VariableType threshold_variance_
 
StdVec< VariableType > meanvalue_
 
StdVec< VariableType > meanvalue_new_
 
StdVec< VariableType > variance_
 
StdVec< VariableType > variance_new_
 
StdVec< VariableType > local_meanvalue_
 
- Protected Attributes inherited from SPH::RegressionTestBase< ObserveMethodType >
std::string input_folder_path_
 
std::string in_output_filefullpath_
 
std::string result_filefullpath_
 
std::string runtimes_filefullpath_
 
std::string converged
 
XmlMemoryIO xmlmemory_io_
 
XmlEngine observe_xml_engine_
 
XmlEngine result_xml_engine_in_
 
XmlEngine result_xml_engine_out_
 
StdVec< std::string > element_tag_
 
DoubleVec< VariableType > current_result_
 
DoubleVec< VariableType > current_result_trans_
 
DoubleVec< VariableType > result_in_
 
TripleVec< VariableType > result_
 
int snapshot_
 
int observation_
 
int difference_
 
int number_of_run_
 
int label_for_repeat_
 
int number_of_snapshot_old_
 

Detailed Description

template<class ObserveMethodType>
class SPH::RegressionTestTimeAveraged< ObserveMethodType >

The regression test is based on the time-averaged meanvalue and variance.

Member Function Documentation

◆ calculateNewVariance()

template<class ObserveMethodType >
void SPH::RegressionTestTimeAveraged< ObserveMethodType >::calculateNewVariance ( DoubleVec< Real > &  current_result,
StdVec< Real > &  local_meanvalue,
StdVec< Real > &  variance,
StdVec< Real > &  variance_new 
)
protected

the method used for calculating the new variance.

◆ compareMeanVariance()

template<class ObserveMethodType >
bool SPH::RegressionTestTimeAveraged< ObserveMethodType >::compareMeanVariance ( )

write the meanvalue and variance to the .xml file.

◆ compareParameter()

template<class ObserveMethodType >
int SPH::RegressionTestTimeAveraged< ObserveMethodType >::compareParameter ( string  par_name,
StdVec< Real > &  parameter,
StdVec< Real > &  parameter_new,
Real &  threshold 
)
protected

the method used for comparing the meanvalue and variance.

◆ filterExtremeValues()

template<class ObserveMethodType >
void SPH::RegressionTestTimeAveraged< ObserveMethodType >::filterExtremeValues ( )

search for the starting point of the steady result.

◆ filterLocalResult()

template<class ObserveMethodType >
void SPH::RegressionTestTimeAveraged< ObserveMethodType >::filterLocalResult ( DoubleVec< Real > &  current_result)
protected

the method used for filtering local extreme values.

◆ generateDataBase()

template<class ObserveMethodType >
void SPH::RegressionTestTimeAveraged< ObserveMethodType >::generateDataBase ( VariableType  threshold_mean,
VariableType  threshold_variance,
string  filter = "false" 
)
inline

test the new result if it is converged within the range.

◆ initializeThreshold()

template<class ObserveMethodType >
void SPH::RegressionTestTimeAveraged< ObserveMethodType >::initializeThreshold ( VariableType &  threshold_mean,
VariableType &  threshold_variance 
)

initialize the threshold of meanvalue and variance.

◆ newResultTest()

template<class ObserveMethodType >
void SPH::RegressionTestTimeAveraged< ObserveMethodType >::newResultTest ( string  filter = "false")
inline

the interface for testing new result.

◆ readMeanVarianceFromXml()

template<class ObserveMethodType >
void SPH::RegressionTestTimeAveraged< ObserveMethodType >::readMeanVarianceFromXml ( )

setup the test environment and define basic variables.

◆ resultTest()

template<class ObserveMethodType >
void SPH::RegressionTestTimeAveraged< ObserveMethodType >::resultTest ( )

compare the meanvalue and variance between old and new ones.

◆ searchForStartPoint()

template<class ObserveMethodType >
void SPH::RegressionTestTimeAveraged< ObserveMethodType >::searchForStartPoint ( )

read the mean and variance from the .xml file.

◆ searchSteadyStart() [1/3]

template<class ObserveMethodType >
void SPH::RegressionTestTimeAveraged< ObserveMethodType >::searchSteadyStart ( DoubleVec< Real > &  current_result)
protected

the method used for searching steady starting point.

◆ searchSteadyStart() [2/3]

template<class ObserveMethodType >
void SPH::RegressionTestTimeAveraged< ObserveMethodType >::searchSteadyStart ( DoubleVec< Vecd > &  current_result)
protected

This break just jump out of dimension iteration.

◆ searchSteadyStart() [3/3]

template<class ObserveMethodType >
void SPH::RegressionTestTimeAveraged< ObserveMethodType >::searchSteadyStart ( DoubleVec< Matd > &  current_result)
protected

This break just jump out of dimension iteration.

◆ testNewResult()

template<class ObserveMethodType >
int SPH::RegressionTestTimeAveraged< ObserveMethodType >::testNewResult ( DoubleVec< Real > &  current_result,
StdVec< Real > &  meanvalue,
StdVec< Real > &  local_meanvalue,
StdVec< Real > &  variance 
)
protected

the method used for testing the new result with meanvalue and variance.

◆ updateMeanVariance()

template<class ObserveMethodType >
void SPH::RegressionTestTimeAveraged< ObserveMethodType >::updateMeanVariance ( )

filter out the extreme values, its default is false.

◆ writeMeanVarianceToXml()

template<class ObserveMethodType >
void SPH::RegressionTestTimeAveraged< ObserveMethodType >::writeMeanVarianceToXml ( )

update the meanvalue and variance from new result.


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