Nektar++
|
#include <PreconditionerBlock.h>
Static Public Member Functions | |
static PreconditionerSharedPtr | create (const boost::shared_ptr< GlobalLinSys > &plinsys, const boost::shared_ptr< AssemblyMap > &pLocToGloMap) |
Creates an instance of this class. |
Static Public Attributes | |
static std::string | className |
Name of class. |
Protected Attributes | |
const boost::weak_ptr < GlobalLinSys > | m_linsys |
PreconditionerType | m_preconType |
DNekBlkMatSharedPtr | m_blkMat |
boost::shared_ptr< AssemblyMap > | m_locToGloMap |
Protected Attributes inherited from Nektar::MultiRegions::Preconditioner | |
const boost::weak_ptr < GlobalLinSys > | m_linsys |
PreconditionerType | m_preconType |
DNekMatSharedPtr | m_preconditioner |
boost::shared_ptr< AssemblyMap > | m_locToGloMap |
LibUtilities::CommSharedPtr | m_comm |
Private Member Functions | |
void | BlockPreconditioner2D (void) |
Construct a block preconditioner from . | |
void | BlockPreconditioner3D (void) |
void | BlockPreconditionerHDG (void) |
virtual void | v_InitObject () |
virtual void | v_DoPreconditioner (const Array< OneD, NekDouble > &pInput, Array< OneD, NekDouble > &pOutput) |
virtual void | v_BuildPreconditioner () |
Additional Inherited Members | |
Protected Member Functions inherited from Nektar::MultiRegions::Preconditioner | |
virtual DNekScalMatSharedPtr | v_TransformedSchurCompl (int offset, const boost::shared_ptr< DNekScalMat > &loc_mat) |
Get block elemental transposed transformation matrix . |
Definition at line 53 of file PreconditionerBlock.h.
Nektar::MultiRegions::PreconditionerBlock::PreconditionerBlock | ( | const boost::shared_ptr< GlobalLinSys > & | plinsys, |
const AssemblyMapSharedPtr & | pLocToGloMap | ||
) |
Definition at line 65 of file PreconditionerBlock.cpp.
|
inlinevirtual |
Definition at line 75 of file PreconditionerBlock.h.
Construct a block preconditioner from .
where is the local schur complement matrix for each element.
Definition at line 123 of file PreconditionerBlock.cpp.
References Vmath::Assmb(), Nektar::eDIAGONAL, Nektar::SpatialDomains::eDirichlet, Nektar::eFULL, Gs::Gather(), Nektar::StdRegions::StdExpansion::GetEdgeInverseBoundaryMap(), Nektar::StdRegions::StdExpansion::GetEdgeNcoeffs(), Gs::gs_add, Gs::Init(), m_blkMat, Nektar::MultiRegions::Preconditioner::m_comm, m_linsys, m_locToGloMap, Nektar::LibUtilities::ReduceMax, and Vmath::Zero().
Referenced by v_BuildPreconditioner().
Definition at line 470 of file PreconditionerBlock.cpp.
References Nektar::StdRegions::StdExpansion::as(), Vmath::Assmb(), Nektar::eDIAGONAL, Nektar::SpatialDomains::eDirichlet, Nektar::eFULL, Gs::Gather(), Nektar::StdRegions::StdExpansion::GetEdgeInverseBoundaryMap(), Nektar::StdRegions::StdExpansion::GetEdgeNcoeffs(), Nektar::StdRegions::StdExpansion::GetFaceIntNcoeffs(), Nektar::StdRegions::StdExpansion::GetFaceInverseBoundaryMap(), Gs::gs_add, Gs::Init(), m_blkMat, Nektar::MultiRegions::Preconditioner::m_comm, m_linsys, m_locToGloMap, Nektar::LibUtilities::ReduceMax, and Vmath::Zero().
Referenced by v_BuildPreconditioner().
Definition at line 978 of file PreconditionerBlock.cpp.
References Nektar::eDIAGONAL, Gs::Gather(), Gs::gs_add, Gs::Init(), m_blkMat, m_linsys, m_locToGloMap, and Nektar::LibUtilities::ReduceMax.
Referenced by v_BuildPreconditioner().
|
inlinestatic |
Creates an instance of this class.
Definition at line 57 of file PreconditionerBlock.h.
|
privatevirtual |
Definition at line 82 of file PreconditionerBlock.cpp.
References ASSERTL0, BlockPreconditioner2D(), BlockPreconditioner3D(), BlockPreconditionerHDG(), Nektar::StdRegions::eHybridDGHelmBndLam, Nektar::MultiRegions::GlobalMatrixKey::GetMatrixType(), and m_linsys.
|
privatevirtual |
Definition at line 1135 of file PreconditionerBlock.cpp.
References Nektar::eWrapper, and m_locToGloMap.
|
privatevirtual |
Definition at line 75 of file PreconditionerBlock.cpp.
References ASSERTL0, Nektar::MultiRegions::eIterativeStaticCond, and m_locToGloMap.
|
static |
Name of class.
Registers the class with the Factory.
Definition at line 68 of file PreconditionerBlock.h.
|
protected |
Definition at line 83 of file PreconditionerBlock.h.
Referenced by BlockPreconditioner2D(), BlockPreconditioner3D(), and BlockPreconditionerHDG().
|
protected |
Definition at line 79 of file PreconditionerBlock.h.
Referenced by BlockPreconditioner2D(), BlockPreconditioner3D(), BlockPreconditionerHDG(), and v_BuildPreconditioner().
|
protected |
Definition at line 85 of file PreconditionerBlock.h.
Referenced by BlockPreconditioner2D(), BlockPreconditioner3D(), BlockPreconditionerHDG(), v_DoPreconditioner(), and v_InitObject().
|
protected |
Definition at line 81 of file PreconditionerBlock.h.