From d8c9f1f267543e21347ffcb2e55a00147faf2855 Mon Sep 17 00:00:00 2001 From: Pietro Incardona <incardon@mpi-cbg.de> Date: Sun, 5 Apr 2020 01:56:06 +0200 Subject: [PATCH] Fixing Bug in DCPSE --- src/DCPSE_op/DCPSE_Solver.hpp | 2 +- src/DCPSE_op/DCPSE_copy/DcpseRhs.hpp | 8 ++++---- src/DCPSE_op/DCPSE_op.hpp | 8 ++++---- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/DCPSE_op/DCPSE_Solver.hpp b/src/DCPSE_op/DCPSE_Solver.hpp index 11618181..1bf0f1ee 100644 --- a/src/DCPSE_op/DCPSE_Solver.hpp +++ b/src/DCPSE_op/DCPSE_Solver.hpp @@ -495,7 +495,7 @@ public: typename Sys_eqs::Vector_type & getB(options_solver opt = options_solver::STANDARD) { #ifdef SE_CLASS1 - consistency(); + //consistency(); #endif if (opt == options_solver::LAGRANGE_MULTIPLIER) { diff --git a/src/DCPSE_op/DCPSE_copy/DcpseRhs.hpp b/src/DCPSE_op/DCPSE_copy/DcpseRhs.hpp index 979582c1..6e80bd6e 100644 --- a/src/DCPSE_op/DCPSE_copy/DcpseRhs.hpp +++ b/src/DCPSE_op/DCPSE_copy/DcpseRhs.hpp @@ -51,10 +51,10 @@ MatrixType &DcpseRhs<dim>::getVector(MatrixType &b) b(i, 0) = sign * dm.evaluate(Point<dim, T>(0)); } //Choosing a(0,0) as a free parameter can let us set b(0,0) for numerical robustness - if (b(0,0) == 0.0 && sign == 1) - { - b(0,0) = 100; - } + //if (b(0,0) == 0.0 && sign == 1) + //{ + // b(0,0) = 100; + //} diff --git a/src/DCPSE_op/DCPSE_op.hpp b/src/DCPSE_op/DCPSE_op.hpp index f61c9dea..c58773cd 100644 --- a/src/DCPSE_op/DCPSE_op.hpp +++ b/src/DCPSE_op/DCPSE_op.hpp @@ -405,10 +405,10 @@ public: o1.template value_nz<Sys_eqs>(p_map,k,cols,coeff_k,comp); auto coeff_kk = dcp[i].getSign() * coeff_dc * coeff / dcp[i].getEpsilonPrefactor(key); - o1.template value_nz<Sys_eqs>(p_map,key,cols,coeff_k,comp); + o1.template value_nz<Sys_eqs>(p_map,key,cols,coeff_kk,comp); - //cols[p_map. template getProp<0>(k)*Sys_eqs::nvar + comp] += coeff_dc * coeff / dcp[i].getEpsilonPrefactor(key); - //cols[p_map. template getProp<0>(key)*Sys_eqs::nvar + comp] += dcp[i].getSign() * coeff_dc * coeff / dcp[i].getEpsilonPrefactor(key); +/* cols[p_map. template getProp<0>(k)*Sys_eqs::nvar + comp] += coeff_dc * coeff / dcp[i].getEpsilonPrefactor(key); + cols[p_map. template getProp<0>(key)*Sys_eqs::nvar + comp] += dcp[i].getSign() * coeff_dc * coeff / dcp[i].getEpsilonPrefactor(key);*/ } } } @@ -583,7 +583,7 @@ public: o2.template value_nz<Sys_eqs>(p_map,k,cols,k_coeff,comp); auto kk_coeff = o1.value(key) * dcp[i].getSign() * coeff_dc * coeff / dcp[i].getEpsilonPrefactor(key); - o2.template value_nz<Sys_eqs>(p_map,k,cols,k_coeff,comp); + o2.template value_nz<Sys_eqs>(p_map,k,cols,kk_coeff,comp); //cols[p_map. template getProp<0>(k)*Sys_eqs::nvar + comp] += o1.value(key)[i] * coeff_dc * coeff / dcp[i].getEpsilonPrefactor(key); //cols[p_map. template getProp<0>(key)*Sys_eqs::nvar + comp] += o1.value(key)[i] * dcp[i].getSign() * coeff_dc * coeff / dcp[i].getEpsilonPrefactor(key); -- GitLab