#ifndef REDUCEDMODELEVALUATOR_HPP #define REDUCEDMODELEVALUATOR_HPP #include "reducedmodeloptimizer_structs.hpp" class ReducedModelEvaluator { public: inline static constexpr int NumberOfEvaluationScenarios{36}; struct Results { std::array distances_drm2reduced; std::array distances_normalizedDrm2reduced; std::array 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 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