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>
|
||||
ReducedModelOptimizer::getFullPatternMaxSimulationForces(
|
||||
const std::vector<BaseSimulationScenario> &desiredBaseSimulationScenarioIndices,
|
||||
const std::filesystem::path &intermediateResultsDirectoryPath)
|
||||
const std::filesystem::path &intermediateResultsDirectoryPath,
|
||||
const bool &recomputeForceMagnitudes)
|
||||
{
|
||||
std::array<double, NumberOfBaseSimulationScenarios> fullPatternSimulationScenarioMaxMagnitudes;
|
||||
//#ifdef POLYSCOPE_DEFINED
|
||||
|
|
@ -978,7 +979,7 @@ ReducedModelOptimizer::getFullPatternMaxSimulationForces(
|
|||
.append(m_pFullPatternSimulationMesh->getLabel() + ".json"));
|
||||
const bool fullPatternScenarioMagnitudesExist = std::filesystem::exists(
|
||||
patternMaxForceMagnitudesFilePath);
|
||||
if (fullPatternScenarioMagnitudesExist) {
|
||||
if (fullPatternScenarioMagnitudesExist && !recomputeForceMagnitudes) {
|
||||
nlohmann::json json;
|
||||
std::ifstream ifs(patternMaxForceMagnitudesFilePath.string());
|
||||
ifs >> json;
|
||||
|
|
@ -1867,9 +1868,11 @@ void ReducedModelOptimizer::optimize(
|
|||
global.optimizationSettings = optimizationSettings;
|
||||
global.pFullPatternSimulationMesh = m_pFullPatternSimulationMesh;
|
||||
|
||||
constexpr bool recomputeForceMagnitudes = true;
|
||||
std::array<double, NumberOfBaseSimulationScenarios> fullPatternSimulationScenarioMaxMagnitudes
|
||||
= getFullPatternMaxSimulationForces(desiredBaseSimulationScenarioIndices,
|
||||
intermediateResultsDirectoryPath);
|
||||
intermediateResultsDirectoryPath,
|
||||
recomputeForceMagnitudes);
|
||||
global.fullPatternSimulationJobs
|
||||
= createFullPatternSimulationJobs(m_pFullPatternSimulationMesh,
|
||||
fullPatternSimulationScenarioMaxMagnitudes);
|
||||
|
|
@ -1916,7 +1919,7 @@ void ReducedModelOptimizer::optimize(
|
|||
.append(m_pFullPatternSimulationMesh->getLabel())
|
||||
.append(pFullPatternSimulationJob->getLabel()));
|
||||
// .append(pFullPatternSimulationJob->getLabel() + ".json")
|
||||
constexpr bool recomputeFullPatternResults = false;
|
||||
constexpr bool recomputeFullPatternResults = true;
|
||||
SimulationResults fullPatternResults;
|
||||
if (!recomputeFullPatternResults && std::filesystem::exists(jobResultsDirectoryPath)) {
|
||||
fullPatternResults.load(std::filesystem::path(jobResultsDirectoryPath).append("Results"),
|
||||
|
|
|
|||
|
|
@ -257,11 +257,6 @@ private:
|
|||
#ifdef DLIB_DEFINED
|
||||
static double objective(const dlib::matrix<double, 0, 1> &x);
|
||||
#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>
|
||||
&baseSimulationScenarios);
|
||||
std::array<double, ReducedModelOptimization::NumberOfBaseSimulationScenarios>
|
||||
|
|
@ -272,6 +267,12 @@ private:
|
|||
const std::shared_ptr<SimulationMesh> &pMesh,
|
||||
const std::array<double, ReducedModelOptimization::NumberOfBaseSimulationScenarios>
|
||||
&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,
|
||||
std::shared_ptr<SimulationMesh> &pReducedPatternSimulationMesh)>
|
||||
|
|
|
|||
Loading…
Reference in New Issue