Refactoring.Missing exporting of max magnitudes

This commit is contained in:
iasonmanolas 2021-07-14 17:13:46 +03:00
parent fe7ecbcd38
commit 006f4a122f
1 changed files with 13 additions and 8 deletions

View File

@ -935,14 +935,14 @@ void ReducedModelOptimizer::constructDomeSimulationScenario(
= Eigen::Vector3d(-interfaceVector[0],
-interfaceVector[1],
0)
* 0.01
* 0.005
* std::abs(
forceMagnitude); //NOTE:Should the forced displacement change relatively to the magnitude?
// * std::abs(forceMagnitude / maxForceMagnitude_dome);
job.nodalForcedDisplacements[viPair.second] = Eigen::Vector3d(interfaceVector[0],
interfaceVector[1],
0)
* 0.001 * std::abs(forceMagnitude);
* 0.005 * std::abs(forceMagnitude);
// * std::abs(forceMagnitude / maxForceMagnitude_dome);
// CoordType v = (pMesh->vert[viPair.first].cP() - pMesh->vert[viPair.second].cP())
// ^ CoordType(0, 0, -1).Normalize();
@ -1003,16 +1003,17 @@ double fullPatternMaxSimulationForceRotationalObjective(const double &forceMagni
DRMSimulationModel simulator;
DRMSimulationModel::Settings settings;
settings.totalExternalForcesNormPercentageTermination = 1e-2;
// settings.totalResidualForcesNormThreshold = 1e-3;
// settings.totalTranslationalKineticEnergyThreshold = 1e-6;
// settings.shouldUseTranslationalKineticEnergyThreshold = true;
settings.totalTranslationalKineticEnergyThreshold = 1e-10;
settings.shouldUseTranslationalKineticEnergyThreshold = true;
// settings.shouldDraw = true;
// settings.isDebugMode = true;
// settings.drawingStep = 500;
// settings.beVerbose = true;
// settings.debugModeStep = 200000;
// settings.shouldCreatePlots = true;
settings.maxDRMIterations = 100000;
settings.maxDRMIterations = 150000;
SimulationResults results = simulator.executeSimulation(std::make_shared<SimulationJob>(job),
settings);
const double &desiredRotationAngle = global.desiredMaxRotationAngle;
@ -1042,7 +1043,10 @@ double fullPatternMaxSimulationForceTranslationalObjective(const double &forceMa
DRMSimulationModel simulator;
DRMSimulationModel::Settings settings;
settings.totalResidualForcesNormThreshold = 1e-3;
// settings.totalResidualForcesNormThreshold = 1e-3;
settings.totalExternalForcesNormPercentageTermination = 1e-2;
settings.totalTranslationalKineticEnergyThreshold = 1e-10;
settings.shouldUseTranslationalKineticEnergyThreshold = true;
// settings.totalTranslationalKineticEnergyThreshold = 1e-10;
// settings.shouldUseTranslationalKineticEnergyThreshold = true;
// settings.shouldDraw = true;
@ -1050,7 +1054,7 @@ double fullPatternMaxSimulationForceTranslationalObjective(const double &forceMa
// settings.drawingStep = 200000;
// settings.beVerbose = true;
// settings.debugModeStep = 200000;
settings.maxDRMIterations = 50000;
settings.maxDRMIterations = 250000;
#ifdef POLYSCOPE_DEFINED
// settings.shouldDraw = true;
// settings.isDebugMode = true;
@ -1058,7 +1062,8 @@ double fullPatternMaxSimulationForceTranslationalObjective(const double &forceMa
// settings.debugModeStep = 10000;
// settings.shouldCreatePlots = true;
#endif
SimulationResults results = simulator.executeSimulation(std::make_shared<SimulationJob>(job));
SimulationResults results = simulator.executeSimulation(std::make_shared<SimulationJob>(job),
settings);
const double &desiredDisplacementValue = global.desiredMaxDisplacementValue;
if (!results.converged) {
return std::numeric_limits<double>::max();