69 lines
3.2 KiB
C++
69 lines
3.2 KiB
C++
#ifndef REDUCEDMODELEVALUATOR_HPP
|
|
#define REDUCEDMODELEVALUATOR_HPP
|
|
|
|
#include "reducedmodeloptimizer_structs.hpp"
|
|
|
|
class ReducedModelEvaluator
|
|
{
|
|
public:
|
|
inline static constexpr int NumberOfEvaluationScenarios{36};
|
|
struct Results
|
|
{
|
|
std::array<double, NumberOfEvaluationScenarios> distances_drm2reduced;
|
|
std::array<double, NumberOfEvaluationScenarios> distances_normalizedDrm2reduced;
|
|
std::array<std::string, NumberOfEvaluationScenarios> evaluationScenarioLabels;
|
|
};
|
|
ReducedModelEvaluator();
|
|
static Results evaluateReducedModel(
|
|
ReducedModelOptimization::Results &optimizationResult,
|
|
const std::filesystem::path &tileInto_triMesh_filePath,
|
|
const std::filesystem::path &scenariosDirectoryPath,
|
|
const std::filesystem::path &reducedPatternFilePath,
|
|
const std::filesystem::path &fullPatternTessellatedResultsDirectoryPath);
|
|
static Results evaluateReducedModel(ReducedModelOptimization::Results &optimizationResult);
|
|
static void printResults(
|
|
const ReducedModelEvaluator::Results &evaluationResults,
|
|
const std::string &resultsLabel,
|
|
const std::filesystem::path &resultsOutputDirPath = std::filesystem::path());
|
|
|
|
inline static std::array<std::string, NumberOfEvaluationScenarios>
|
|
scenariosTestSetLabels{"22Hex_randomBending0",
|
|
"22Hex_randomBending1",
|
|
"22Hex_randomBending2",
|
|
"22Hex_randomBending3",
|
|
"22Hex_randomBending4",
|
|
"22Hex_randomBending5",
|
|
"22Hex_randomBending6",
|
|
"22Hex_randomBending7",
|
|
"22Hex_randomBending8",
|
|
"22Hex_randomBending9",
|
|
"22Hex_randomBending10",
|
|
"22Hex_randomBending11",
|
|
"22Hex_randomBending12",
|
|
"22Hex_randomBending13",
|
|
"22Hex_randomBending14",
|
|
"22Hex_randomBending15",
|
|
"22Hex_randomBending16",
|
|
"22Hex_randomBending17",
|
|
"22Hex_randomBending18",
|
|
"22Hex_randomBending19",
|
|
"22Hex_randomBending20",
|
|
"22Hex_bending_0.005N",
|
|
"22Hex_bending_0.01N",
|
|
"22Hex_bending_0.03N",
|
|
"22Hex_bending_0.05N",
|
|
"22Hex_pullOppositeVerts_0.05N",
|
|
"22Hex_pullOppositeVerts_0.1N",
|
|
"22Hex_pullOppositeVerts_0.3N",
|
|
"22Hex_shear_2N",
|
|
"22Hex_shear_5N",
|
|
"22Hex_axial_10N",
|
|
"22Hex_axial_20N",
|
|
"22Hex_cylinder_0.05N",
|
|
"22Hex_cylinder_0.1N",
|
|
"22Hex_s_0.05N",
|
|
"22Hex_s_0.1N"};
|
|
};
|
|
|
|
#endif // REDUCEDMODELEVALUATOR_HPP
|