Added argument for recomputing the base scenarios max force magnitudes
This commit is contained in:
parent
534efb98bb
commit
94408b7a74
|
|
@ -967,7 +967,8 @@ ReducedModelOptimizer::computeFullPatternMaxSimulationForces(
|
||||||
std::array<double, NumberOfBaseSimulationScenarios>
|
std::array<double, NumberOfBaseSimulationScenarios>
|
||||||
ReducedModelOptimizer::getFullPatternMaxSimulationForces(
|
ReducedModelOptimizer::getFullPatternMaxSimulationForces(
|
||||||
const std::vector<BaseSimulationScenario> &desiredBaseSimulationScenarioIndices,
|
const std::vector<BaseSimulationScenario> &desiredBaseSimulationScenarioIndices,
|
||||||
const std::filesystem::path &intermediateResultsDirectoryPath)
|
const std::filesystem::path &intermediateResultsDirectoryPath,
|
||||||
|
const bool &recomputeForceMagnitudes)
|
||||||
{
|
{
|
||||||
std::array<double, NumberOfBaseSimulationScenarios> fullPatternSimulationScenarioMaxMagnitudes;
|
std::array<double, NumberOfBaseSimulationScenarios> fullPatternSimulationScenarioMaxMagnitudes;
|
||||||
//#ifdef POLYSCOPE_DEFINED
|
//#ifdef POLYSCOPE_DEFINED
|
||||||
|
|
@ -978,7 +979,7 @@ ReducedModelOptimizer::getFullPatternMaxSimulationForces(
|
||||||
.append(m_pFullPatternSimulationMesh->getLabel() + ".json"));
|
.append(m_pFullPatternSimulationMesh->getLabel() + ".json"));
|
||||||
const bool fullPatternScenarioMagnitudesExist = std::filesystem::exists(
|
const bool fullPatternScenarioMagnitudesExist = std::filesystem::exists(
|
||||||
patternMaxForceMagnitudesFilePath);
|
patternMaxForceMagnitudesFilePath);
|
||||||
if (fullPatternScenarioMagnitudesExist) {
|
if (fullPatternScenarioMagnitudesExist && !recomputeForceMagnitudes) {
|
||||||
nlohmann::json json;
|
nlohmann::json json;
|
||||||
std::ifstream ifs(patternMaxForceMagnitudesFilePath.string());
|
std::ifstream ifs(patternMaxForceMagnitudesFilePath.string());
|
||||||
ifs >> json;
|
ifs >> json;
|
||||||
|
|
@ -1867,9 +1868,11 @@ void ReducedModelOptimizer::optimize(
|
||||||
global.optimizationSettings = optimizationSettings;
|
global.optimizationSettings = optimizationSettings;
|
||||||
global.pFullPatternSimulationMesh = m_pFullPatternSimulationMesh;
|
global.pFullPatternSimulationMesh = m_pFullPatternSimulationMesh;
|
||||||
|
|
||||||
|
constexpr bool recomputeForceMagnitudes = true;
|
||||||
std::array<double, NumberOfBaseSimulationScenarios> fullPatternSimulationScenarioMaxMagnitudes
|
std::array<double, NumberOfBaseSimulationScenarios> fullPatternSimulationScenarioMaxMagnitudes
|
||||||
= getFullPatternMaxSimulationForces(desiredBaseSimulationScenarioIndices,
|
= getFullPatternMaxSimulationForces(desiredBaseSimulationScenarioIndices,
|
||||||
intermediateResultsDirectoryPath);
|
intermediateResultsDirectoryPath,
|
||||||
|
recomputeForceMagnitudes);
|
||||||
global.fullPatternSimulationJobs
|
global.fullPatternSimulationJobs
|
||||||
= createFullPatternSimulationJobs(m_pFullPatternSimulationMesh,
|
= createFullPatternSimulationJobs(m_pFullPatternSimulationMesh,
|
||||||
fullPatternSimulationScenarioMaxMagnitudes);
|
fullPatternSimulationScenarioMaxMagnitudes);
|
||||||
|
|
@ -1916,7 +1919,7 @@ void ReducedModelOptimizer::optimize(
|
||||||
.append(m_pFullPatternSimulationMesh->getLabel())
|
.append(m_pFullPatternSimulationMesh->getLabel())
|
||||||
.append(pFullPatternSimulationJob->getLabel()));
|
.append(pFullPatternSimulationJob->getLabel()));
|
||||||
// .append(pFullPatternSimulationJob->getLabel() + ".json")
|
// .append(pFullPatternSimulationJob->getLabel() + ".json")
|
||||||
constexpr bool recomputeFullPatternResults = false;
|
constexpr bool recomputeFullPatternResults = true;
|
||||||
SimulationResults fullPatternResults;
|
SimulationResults fullPatternResults;
|
||||||
if (!recomputeFullPatternResults && std::filesystem::exists(jobResultsDirectoryPath)) {
|
if (!recomputeFullPatternResults && std::filesystem::exists(jobResultsDirectoryPath)) {
|
||||||
fullPatternResults.load(std::filesystem::path(jobResultsDirectoryPath).append("Results"),
|
fullPatternResults.load(std::filesystem::path(jobResultsDirectoryPath).append("Results"),
|
||||||
|
|
|
||||||
|
|
@ -257,11 +257,6 @@ private:
|
||||||
#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);
|
||||||
#endif
|
#endif
|
||||||
std::array<double, ReducedModelOptimization::NumberOfBaseSimulationScenarios>
|
|
||||||
getFullPatternMaxSimulationForces(
|
|
||||||
const std::vector<ReducedModelOptimization::BaseSimulationScenario>
|
|
||||||
&desiredBaseSimulationScenarioIndices,
|
|
||||||
const std::filesystem::path &intermediateResultsDirectoryPath);
|
|
||||||
void computeScenarioWeights(const std::vector<ReducedModelOptimization::BaseSimulationScenario>
|
void computeScenarioWeights(const std::vector<ReducedModelOptimization::BaseSimulationScenario>
|
||||||
&baseSimulationScenarios);
|
&baseSimulationScenarios);
|
||||||
std::array<double, ReducedModelOptimization::NumberOfBaseSimulationScenarios>
|
std::array<double, ReducedModelOptimization::NumberOfBaseSimulationScenarios>
|
||||||
|
|
@ -272,6 +267,12 @@ private:
|
||||||
const std::shared_ptr<SimulationMesh> &pMesh,
|
const std::shared_ptr<SimulationMesh> &pMesh,
|
||||||
const std::array<double, ReducedModelOptimization::NumberOfBaseSimulationScenarios>
|
const std::array<double, ReducedModelOptimization::NumberOfBaseSimulationScenarios>
|
||||||
&baseScenarioMaxForceMagnitudes) const;
|
&baseScenarioMaxForceMagnitudes) const;
|
||||||
|
std::array<double, ReducedModelOptimization::NumberOfBaseSimulationScenarios>
|
||||||
|
getFullPatternMaxSimulationForces(
|
||||||
|
const std::vector<ReducedModelOptimization::BaseSimulationScenario>
|
||||||
|
&desiredBaseSimulationScenarioIndices,
|
||||||
|
const std::filesystem::path &intermediateResultsDirectoryPath,
|
||||||
|
const bool &recomputeForceMagnitudes);
|
||||||
};
|
};
|
||||||
inline std::function<void(const double &newE,
|
inline std::function<void(const double &newE,
|
||||||
std::shared_ptr<SimulationMesh> &pReducedPatternSimulationMesh)>
|
std::shared_ptr<SimulationMesh> &pReducedPatternSimulationMesh)>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue