From 846289448bb1c5eb0f77843795b6db31367db649 Mon Sep 17 00:00:00 2001 From: iasonmanolas Date: Tue, 20 Jul 2021 16:32:25 +0300 Subject: [PATCH] Refactoring. Fixed bug --- drmsimulationmodel.cpp | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/drmsimulationmodel.cpp b/drmsimulationmodel.cpp index 4e682d1..e33b7b4 100755 --- a/drmsimulationmodel.cpp +++ b/drmsimulationmodel.cpp @@ -692,8 +692,8 @@ double DRMSimulationModel::computeDerivativeTheta3(const EdgeType &e, derivativeF1 = derivativeT1_k - (n * (derivativeT1_k * n)); const double f1Norm = f1.Norm(); - const VectorType derivativeF1Normalized = -f1 * (f1 * derivativeF1) - / (f1Norm * f1Norm * f1Norm) + const double derivativeF1Norm = f1 * derivativeF1 / f1Norm; + const VectorType derivativeF1Normalized = -f1 * derivativeF1Norm / (f1Norm * f1Norm) + derivativeF1 / f1Norm; derivativeF2 = derivativeF1Normalized * cosRotationAngle @@ -713,8 +713,8 @@ double DRMSimulationModel::computeDerivativeTheta3(const EdgeType &e, const VectorType &derivativeOfNormal = node.derivativeOfNormal[dofi]; derivativeF1 = -(n * (t1_k * derivativeOfNormal) + derivativeOfNormal * (t1_k * n)); const double f1Norm = f1.Norm(); - const VectorType derivativeF1Normalized = -f1 * (f1 * derivativeF1) - / (f1Norm * f1Norm * f1Norm) + const double derivativeF1Norm = f1 * derivativeF1 / f1Norm; + const VectorType derivativeF1Normalized = -f1 * derivativeF1Norm / (f1Norm * f1Norm) + derivativeF1 / f1Norm; derivativeF2 = derivativeF1Normalized * cosRotationAngle + @@ -1005,9 +1005,9 @@ void DRMSimulationModel::updateResidualForcesOnTheFly( Node::Forces &force = pMesh->nodes[vi].force; const Vector6d &nodeResidualForce = force.residual; sumOfResidualForces = sumOfResidualForces + nodeResidualForce; - // const double residualForceNorm = nodeResidualForce.norm(); - const double residualForceNorm = nodeResidualForce.getTranslation().norm(); - const bool shouldTrigger = std::isnan(residualForceNorm); + const double residualForceNorm = nodeResidualForce.norm(); + // const double residualForceNorm = nodeResidualForce.getTranslation().norm(); + const bool shouldTrigger = mCurrentSimulationStep == 500; totalResidualForcesNorm += residualForceNorm; #ifdef POLYSCOPE_DEFINED if (std::isnan(force.residual.norm())) { @@ -1751,7 +1751,7 @@ void DRMSimulationModel::draw(const std::string &screenshotsFolder) accelerationX[pMesh->getIndex(v)] = pMesh->nodes[v].acceleration[0]; } meshPolyscopeHandle->addNodeScalarQuantity("Kinetic Energy", kineticEnergies)->setEnabled(false); - meshPolyscopeHandle->addNodeVectorQuantity("Node normals", nodeNormals)->setEnabled(false); + meshPolyscopeHandle->addNodeVectorQuantity("Node normals", nodeNormals)->setEnabled(true); meshPolyscopeHandle->addNodeVectorQuantity("Internal force", internalForces)->setEnabled(false); meshPolyscopeHandle->addNodeVectorQuantity("External force", externalForces)->setEnabled(false); meshPolyscopeHandle->addNodeVectorQuantity("External Moments", externalMoments)->setEnabled(true); @@ -2063,7 +2063,7 @@ SimulationResults DRMSimulationModel::executeSimulation(const std::shared_ptr::Box(*pMesh); computeRigidSupports(); isVertexConstrained.resize(pMesh->VN(), false); - for (auto fixedVertex : pJob->constrainedVertices) { + for (auto fixedVertex : constrainedVertices) { isVertexConstrained[fixedVertex.first] = true; }