Nektar++
|
#include <PreconditionerLinearWithLowEnergy.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. More... | |
Static Public Attributes | |
static std::string | className |
Name of class. More... | |
Protected Attributes | |
PreconditionerSharedPtr | m_linSpacePrecon |
PreconditionerSharedPtr | m_lowEnergyPrecon |
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 | |
virtual void | v_InitObject () |
virtual void | v_DoTransformToLowEnergy (Array< OneD, NekDouble > &pInOut, int offset) |
Transform from original basis to low energy basis. More... | |
virtual void | v_DoTransformFromLowEnergy (Array< OneD, NekDouble > &pInput) |
Transform from low energy basis to orignal basis. More... | |
virtual DNekScalMatSharedPtr | v_TransformedSchurCompl (int offset, const boost::shared_ptr< DNekScalMat > &loc_mat) |
Get block elemental transposed transformation matrix . More... | |
virtual void | v_DoPreconditioner (const Array< OneD, NekDouble > &pInput, Array< OneD, NekDouble > &pOutput) |
Apply a preconditioner to the conjugate gradient method. More... | |
virtual void | v_BuildPreconditioner () |
Additional Inherited Members |
This class implements preconditioning for the conjugate gradient matrix solver.
Definition at line 49 of file PreconditionerLinearWithLowEnergy.h.
Nektar::MultiRegions::PreconditionerLinearWithLowEnergy::PreconditionerLinearWithLowEnergy | ( | const boost::shared_ptr< GlobalLinSys > & | plinsys, |
const AssemblyMapSharedPtr & | pLocToGloMap | ||
) |
Definition at line 63 of file PreconditionerLinearWithLowEnergy.cpp.
|
inlinevirtual |
Definition at line 71 of file PreconditionerLinearWithLowEnergy.h.
|
inlinestatic |
Creates an instance of this class.
Definition at line 53 of file PreconditionerLinearWithLowEnergy.h.
References Nektar::MemoryManager< DataType >::AllocateSharedPtr().
|
privatevirtual |
Reimplemented from Nektar::MultiRegions::Preconditioner.
Definition at line 110 of file PreconditionerLinearWithLowEnergy.cpp.
References m_linSpacePrecon, and m_lowEnergyPrecon.
|
privatevirtual |
Apply a preconditioner to the conjugate gradient method.
Reimplemented from Nektar::MultiRegions::Preconditioner.
Definition at line 120 of file PreconditionerLinearWithLowEnergy.cpp.
References m_linSpacePrecon, m_lowEnergyPrecon, and Vmath::Vadd().
|
privatevirtual |
Transform from low energy basis to orignal basis.
Reimplemented from Nektar::MultiRegions::Preconditioner.
Definition at line 92 of file PreconditionerLinearWithLowEnergy.cpp.
References m_lowEnergyPrecon.
|
privatevirtual |
Transform from original basis to low energy basis.
Reimplemented from Nektar::MultiRegions::Preconditioner.
Definition at line 82 of file PreconditionerLinearWithLowEnergy.cpp.
References m_lowEnergyPrecon.
|
privatevirtual |
Reimplemented from Nektar::MultiRegions::Preconditioner.
Definition at line 73 of file PreconditionerLinearWithLowEnergy.cpp.
References Nektar::LibUtilities::NekFactory< tKey, tBase, >::CreateInstance(), Nektar::MultiRegions::GetPreconFactory(), m_linSpacePrecon, Nektar::MultiRegions::Preconditioner::m_linsys, Nektar::MultiRegions::Preconditioner::m_locToGloMap, and m_lowEnergyPrecon.
|
privatevirtual |
Get block elemental transposed transformation matrix .
Reimplemented from Nektar::MultiRegions::Preconditioner.
Definition at line 100 of file PreconditionerLinearWithLowEnergy.cpp.
References m_lowEnergyPrecon.
|
static |
Name of class.
Registers the class with the Factory.
Definition at line 64 of file PreconditionerLinearWithLowEnergy.h.
|
protected |
Definition at line 76 of file PreconditionerLinearWithLowEnergy.h.
Referenced by v_BuildPreconditioner(), v_DoPreconditioner(), and v_InitObject().
|
protected |
Definition at line 77 of file PreconditionerLinearWithLowEnergy.h.
Referenced by v_BuildPreconditioner(), v_DoPreconditioner(), v_DoTransformFromLowEnergy(), v_DoTransformToLowEnergy(), v_InitObject(), and v_TransformedSchurCompl().