waLBerla 7.3
Loading...
Searching...
No Matches
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 <string_view>
#include <type_traits>

Classes

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

Namespaces

namespace  walberla
 Storage for detected contacts which can be used to perform actions for all contacts, e.g.
namespace  walberla::field
namespace  walberla::field::internal

Macros

#define WALBERLA_FIELD_MAKE_ACCURACY_EVALUATION_CONFIG_PARSER(config)
#define WALBERLA_FIELD_MAKE_ACCURACY_EVALUATION_SET_AND_RETURN()

Functions

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=std::string(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=std::string(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=std::string(internal::accuracyEvaluationConfigBlock), const Set< SUID > &requiredSelectors=Set< SUID >::emptySet(), const Set< SUID > &incompatibleSelectors=Set< SUID >::emptySet())

Variables

constexpr std::string_view walberla::field::internal::accuracyEvaluationFilename = "accuracy.dat"
constexpr std::string_view walberla::field::internal::accuracyEvaluationConfigBlock = "AccuracyEvaluation"

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 = std::string(internal::accuracyEvaluationFilename); \
real_t defaultNormalizationFactor = uint_t{1}; \
internal::accuracyEvaluationConfigParser( config, configBlockName, defaultPlotFrequency, defaultLogFrequency, defaultFilename, defaultNormalizationFactor );
float real_t
Definition DataTypes.h:197
std::size_t uint_t
Definition DataTypes.h:161

◆ 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;