AccuracyEvaluation.h File Reference

Detailed Description

#include "core/DataTypes.h"
#include "core/Set.h"
#include "core/OpenMP.h"
#include "core/logging/Logging.h"
#include "core/debug/CheckFunctions.h"
#include "core/math/Vector3.h"
#include "core/mpi/MPIManager.h"
#include "core/mpi/Reduce.h"
#include "core/uid/SUID.h"
#include "domain_decomposition/StructuredBlockStorage.h"
#include "field/EvaluationFilter.h"
#include "field/iterators/IteratorMacros.h"
#include <algorithm>
#include <cstdlib>
#include <fstream>
#include <string>
#include <type_traits>

Classes

class  walberla::field::AccuracyEvaluation< Field_T, SolutionFunction_T, Filter_T >
 Class for evaluating the accuracy of a simulation. More...
 

Namespaces

 walberla
 \file TimestepTracker.h \ingroup lbm \author Frederik Hennig frede.nosp@m.rik..nosp@m.henni.nosp@m.g@fa.nosp@m.u.de
 
 walberla::field
 
 walberla::field::internal
 

Macros

#define WALBERLA_FIELD_MAKE_ACCURACY_EVALUATION_CONFIG_PARSER(config)
 
#define WALBERLA_FIELD_MAKE_ACCURACY_EVALUATION_SET_AND_RETURN()
 

Functions

const std::string walberla::field::internal::accuracyEvaluationFilename ("accuracy.dat")
 
const std::string walberla::field::internal::accuracyEvaluationConfigBlock ("AccuracyEvaluation")
 
template<typename T >
real_t walberla::field::internal::accuracyEvaluationAbsError (const T &error)
 
template<>
real_t walberla::field::internal::accuracyEvaluationAbsError (const Vector3< real_t > &error)
 
template<typename Field_T , typename SolutionFunction_T >
shared_ptr< AccuracyEvaluation< Field_T, SolutionFunction_T > > walberla::field::makeAccuracyEvaluation (const weak_ptr< StructuredBlockStorage > &blocks, const ConstBlockDataID &fieldId, const SolutionFunction_T &solution, const uint_t plotFrequency, const uint_t logFrequency, const Set< SUID > &requiredSelectors=Set< SUID >::emptySet(), const Set< SUID > &incompatibleSelectors=Set< SUID >::emptySet())
 
template<typename Field_T , typename FlagField_T , typename SolutionFunction_T >
shared_ptr< AccuracyEvaluation< Field_T, SolutionFunction_T, FlagFieldEvaluationFilter< FlagField_T > > > walberla::field::makeAccuracyEvaluation (const weak_ptr< StructuredBlockStorage > &blocks, const ConstBlockDataID &fieldId, const ConstBlockDataID &flagFieldId, const Set< FlagUID > &cellsToEvaluate, const SolutionFunction_T &solution, const uint_t plotFrequency, const uint_t logFrequency, const Set< SUID > &requiredSelectors=Set< SUID >::emptySet(), const Set< SUID > &incompatibleSelectors=Set< SUID >::emptySet())
 
template<typename Field_T , typename Filter_T , typename SolutionFunction_T >
shared_ptr< AccuracyEvaluation< Field_T, SolutionFunction_T, Filter_T > > walberla::field::makeAccuracyEvaluation (const weak_ptr< StructuredBlockStorage > &blocks, const ConstBlockDataID &fieldId, const SolutionFunction_T &solution, const Filter_T &filter, const uint_t plotFrequency, const uint_t logFrequency, const Set< SUID > &requiredSelectors=Set< SUID >::emptySet(), const Set< SUID > &incompatibleSelectors=Set< SUID >::emptySet())
 
void walberla::field::internal::accuracyEvaluationConfigParser (const Config::BlockHandle &parentBlockHandle, const std::string &configBlockName, uint_t &defaultPlotFrequency, uint_t &defaultLogFrequency, std::string &defaultFilename, real_t &defaultNormalizationFactor)
 
void walberla::field::internal::accuracyEvaluationConfigParser (const shared_ptr< Config > &config, const std::string &configBlockName, uint_t &defaultPlotFrequency, uint_t &defaultLogFrequency, std::string &defaultFilename, real_t &defaultNormalizationFactor)
 
template<typename Field_T , typename SolutionFunction_T , typename Config_T >
shared_ptr< AccuracyEvaluation< Field_T, SolutionFunction_T > > walberla::field::makeAccuracyEvaluation (const Config_T &config, const weak_ptr< StructuredBlockStorage > &blocks, const ConstBlockDataID &fieldId, const SolutionFunction_T &solution, const std::string &configBlockName=internal::accuracyEvaluationConfigBlock, const Set< SUID > &requiredSelectors=Set< SUID >::emptySet(), const Set< SUID > &incompatibleSelectors=Set< SUID >::emptySet())
 
template<typename Field_T , typename FlagField_T , typename SolutionFunction_T , typename Config_T >
shared_ptr< AccuracyEvaluation< Field_T, SolutionFunction_T, FlagFieldEvaluationFilter< FlagField_T > > > walberla::field::makeAccuracyEvaluation (const Config_T &config, const weak_ptr< StructuredBlockStorage > &blocks, const ConstBlockDataID &fieldId, const ConstBlockDataID &flagFieldId, const Set< FlagUID > &cellsToEvaluate, const SolutionFunction_T &solution, const std::string &configBlockName=internal::accuracyEvaluationConfigBlock, const Set< SUID > &requiredSelectors=Set< SUID >::emptySet(), const Set< SUID > &incompatibleSelectors=Set< SUID >::emptySet())
 
template<typename Field_T , typename Filter_T , typename SolutionFunction_T , typename Config_T >
shared_ptr< AccuracyEvaluation< Field_T, SolutionFunction_T, Filter_T > > walberla::field::makeAccuracyEvaluation (const Config_T &config, const weak_ptr< StructuredBlockStorage > &blocks, const ConstBlockDataID &fieldId, const SolutionFunction_T &solution, const Filter_T &filter, const std::string &configBlockName=internal::accuracyEvaluationConfigBlock, const Set< SUID > &requiredSelectors=Set< SUID >::emptySet(), const Set< SUID > &incompatibleSelectors=Set< SUID >::emptySet())
 

Macro Definition Documentation

◆ WALBERLA_FIELD_MAKE_ACCURACY_EVALUATION_CONFIG_PARSER

#define WALBERLA_FIELD_MAKE_ACCURACY_EVALUATION_CONFIG_PARSER (   config)
Value:
uint_t defaultPlotFrequency = uint_t(0); \
uint_t defaultLogFrequency = uint_t(0); \
std::string defaultFilename = internal::accuracyEvaluationFilename; \
real_t defaultNormalizationFactor = uint_t(1); \
internal::accuracyEvaluationConfigParser( config, configBlockName, defaultPlotFrequency, defaultLogFrequency, defaultFilename, defaultNormalizationFactor );

◆ WALBERLA_FIELD_MAKE_ACCURACY_EVALUATION_SET_AND_RETURN

#define WALBERLA_FIELD_MAKE_ACCURACY_EVALUATION_SET_AND_RETURN ( )
Value:
evaluation->setNormalizationFactor( defaultNormalizationFactor ); \
evaluation->setFilename( defaultFilename ); \
return evaluation;
void accuracyEvaluationConfigParser(const shared_ptr< Config > &config, const std::string &configBlockName, uint_t &defaultPlotFrequency, uint_t &defaultLogFrequency, std::string &defaultFilename, real_t &defaultNormalizationFactor)
Definition: AccuracyEvaluation.h:390
std::size_t uint_t
Definition: DataTypes.h:133
const std::string accuracyEvaluationFilename("accuracy.dat")