diff --git a/library/SolverUtils/DriverModifiedArnoldi.cpp b/library/SolverUtils/DriverModifiedArnoldi.cpp index 92a2fec85580817391e99fee48d2b04266b64f46..43870583a1a94bc6900cd82ffc5334f8749233cc 100644 --- a/library/SolverUtils/DriverModifiedArnoldi.cpp +++ b/library/SolverUtils/DriverModifiedArnoldi.cpp @@ -141,11 +141,7 @@ namespace Nektar // Normalise first vector in sequence alpha[0] = std::sqrt(Vmath::Dot(ntot, &Kseq[0][0], 1, &Kseq[0][0], 1)); - - if (m_comm->GetRank() == 0) - { - m_comm->AllReduce(alpha[0], Nektar::LibUtilities::ReduceSum); - } + m_comm->AllReduce(alpha[0], Nektar::LibUtilities::ReduceSum); //alpha[0] = std::sqrt(alpha[0]); Vmath::Smul(ntot, 1.0/alpha[0], Kseq[0], 1, Kseq[0], 1); @@ -159,12 +155,9 @@ namespace Nektar // Normalise alpha[i] = std::sqrt(Vmath::Dot(ntot, &Kseq[i][0], 1, &Kseq[i][0], 1)); - - if (m_comm->GetRank() == 0) - { - m_comm->AllReduce(alpha[i], - Nektar::LibUtilities::ReduceSum); - } + m_comm->AllReduce(alpha[i], Nektar::LibUtilities::ReduceSum); + + //alpha[i] = std::sqrt(alpha[i]); Vmath::Smul(ntot, 1.0/alpha[i], Kseq[i], 1, Kseq[i], 1); diff --git a/library/SolverUtils/EquationSystem.cpp b/library/SolverUtils/EquationSystem.cpp index 193dcb64516be35c32fa02e187279be2b35caa8b..16f2fcd0aa75eda0192e33f174a1f3e95f314133 100644 --- a/library/SolverUtils/EquationSystem.cpp +++ b/library/SolverUtils/EquationSystem.cpp @@ -363,6 +363,16 @@ namespace Nektar for (i = 0; i < m_fields.num_elements(); i++) { + + m_fields[i] = MemoryManager<MultiRegions + ::ContField3DHomogeneous1D> + ::AllocateSharedPtr( + m_session, BkeyZR, m_LhomZ, + m_useFFT, m_homogen_dealiasing, + m_graph, + m_session->GetVariable(i), + m_checkIfSystemSingular[i]); + if (i == m_fields.num_elements()-2) { m_fields[i] = MemoryManager<MultiRegions @@ -375,14 +385,7 @@ namespace Nektar m_session->GetVariable(i), m_checkIfSystemSingular[i]); } - m_fields[i] = MemoryManager<MultiRegions - ::ContField3DHomogeneous1D> - ::AllocateSharedPtr( - m_session, BkeyZR, m_LhomZ, - m_useFFT, m_homogen_dealiasing, - m_graph, - m_session->GetVariable(i), - m_checkIfSystemSingular[i]); + } } // Normal homogeneous 1D