Commit f882c192 authored by David Moxey's avatar David Moxey
Browse files

Fix multi-level static condensation bug with preconditioner

parent 4b73bf2f
......@@ -238,8 +238,22 @@ namespace Nektar
bool doGlobalOp = m_expList.lock()->GetGlobalOptParam()->
DoGlobalMatOp(m_linSysKey.GetMatrixType());
// Set up unique map
v_UniqueMap();
// Build precon again if we in multi-level static condensation (a
// bit of a hack)
if (m_linSysKey.GetGlobalSysSolnType()==eIterativeMultiLevelStaticCond)
{
MultiRegions::PreconditionerType pType
= m_locToGloMap->GetPreconType();
std::string PreconType
= MultiRegions::PreconditionerTypeMap[pType];
m_precon = GetPreconFactory().CreateInstance(
PreconType,GetSharedThisPtr(),m_locToGloMap);
m_precon->BuildPreconditioner();
}
if (!doGlobalOp)
{
PrepareLocalSchurComplement();
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment