Refactoring

This commit is contained in:
iasonmanolas 2022-10-20 13:34:53 +03:00
parent db8aa4124e
commit 76433eaa9d
2 changed files with 582 additions and 455 deletions

File diff suppressed because it is too large Load Diff

View File

@ -124,7 +124,11 @@ class ReducedModelOptimizer {
constexpr static std:: constexpr static std::
array<double, ReducedModelOptimization::NumberOfBaseSimulationScenarios> array<double, ReducedModelOptimization::NumberOfBaseSimulationScenarios>
simulationScenariosResolution = {12, 12, 22, 22, 22, 22}; simulationScenariosResolution = {12, 12, 22, 22, 22, 22};
// simulationScenariosResolution = {8, 8, 16, 16, 16, 16};
// simulationScenariosResolution = {4, 4, 8, 8, 8, 8};
// simulationScenariosResolution = {2, 2, 4, 4, 4, 4};
// simulationScenariosResolution = {2, 2, 2, 22, 22, 22}; // simulationScenariosResolution = {2, 2, 2, 22, 22, 22};
// simulationScenariosResolution = {1, 1, 1, 1, 1, 1};
constexpr static std:: constexpr static std::
array<double, ReducedModelOptimization::NumberOfBaseSimulationScenarios> array<double, ReducedModelOptimization::NumberOfBaseSimulationScenarios>
baseScenarioWeights = {1, 1, 2, 2, 2}; baseScenarioWeights = {1, 1, 2, 2, 2};
@ -133,7 +137,7 @@ class ReducedModelOptimizer {
simulationScenariosResolution.end(), simulationScenariosResolution.end(),
0); 0);
inline static int fanCardinality{6}; inline static int fanCardinality{6};
inline static double initialValue_R{0.3}; inline static double initialValue_R{0.5};
inline static double initialValue_theta{0}; inline static double initialValue_theta{0};
int interfaceNodeIndex; int interfaceNodeIndex;
double operator()(const Eigen::VectorXd& x, Eigen::VectorXd&) const; double operator()(const Eigen::VectorXd& x, Eigen::VectorXd&) const;
@ -284,7 +288,7 @@ class ReducedModelOptimizer {
const double& newJ, const double& newJ,
std::shared_ptr<SimulationEdgeMesh>& pReducedPatternSimulationEdgeMesh)> std::shared_ptr<SimulationEdgeMesh>& pReducedPatternSimulationEdgeMesh)>
function_updateReducedPattern_material_J; function_updateReducedPattern_material_J;
static double objective(const std::vector<double>& x); // static double objective(const std::vector<double>& x);
void initializeUpdateReducedPatternFunctions(); void initializeUpdateReducedPatternFunctions();
// static double objective(const double &xValue); // static double objective(const double &xValue);
@ -340,11 +344,22 @@ class ReducedModelOptimizer {
void getResults(const FunctionEvaluation& optimalObjective, void getResults(const FunctionEvaluation& optimalObjective,
const ReducedModelOptimization::Settings& settings, const ReducedModelOptimization::Settings& settings,
ReducedModelOptimization::Results& results); ReducedModelOptimization::Results& results);
double computeFullPatternMaxSimulationForce( // double computeFullPatternMaxSimulationForce(
const ReducedModelOptimization::BaseSimulationScenario& scenario) const; // const ReducedModelOptimization::BaseSimulationScenario& scenario)
// const;
#ifdef DLIB_DEFINED #ifdef DLIB_DEFINED
static double objective(const dlib::matrix<double, 0, 1>& x); static double objective(const dlib::matrix<double, 0, 1>& x);
static double objective(const double& xValue);
ReducedModelOptimizer::FunctionEvaluation optimizeWith_dlib(
const std::vector<ReducedModelOptimization::OptimizationParameterIndex>&
parameterGroup,
const ReducedModelOptimization::Settings& settings,
const int& totalNumberOfOptimizationParameters);
ReducedModelOptimizer::FunctionEvaluation optimizeWith_bobyqa(
const std::vector<ReducedModelOptimization::OptimizationParameterIndex>&
parameterGroup,
const ReducedModelOptimization::Settings& settings);
#endif #endif
std::array<double, ReducedModelOptimization::NumberOfBaseSimulationScenarios> std::array<double, ReducedModelOptimization::NumberOfBaseSimulationScenarios>
computeFullPatternMaxSimulationForces( computeFullPatternMaxSimulationForces(