Nektar++
|
#include <GlobalLinSysXxt.h>
Public Member Functions | |
GlobalLinSysXxt (const GlobalLinSysKey &pKey, const boost::weak_ptr< ExpList > &pExp, const boost::shared_ptr< AssemblyMap > &pLocToGloMap) | |
Constructor for full direct matrix solve. More... | |
virtual | ~GlobalLinSysXxt () |
Public Member Functions inherited from Nektar::MultiRegions::GlobalLinSys | |
GlobalLinSys (const GlobalLinSysKey &pKey, const boost::weak_ptr< ExpList > &pExpList, const boost::shared_ptr< AssemblyMap > &pLocToGloMap) | |
Constructor for full direct matrix solve. More... | |
virtual | ~GlobalLinSys () |
const GlobalLinSysKey & | GetKey (void) const |
Returns the key associated with the system. More... | |
const boost::weak_ptr< ExpList > & | GetLocMat (void) const |
void | InitObject () |
void | Initialise (const boost::shared_ptr< AssemblyMap > &pLocToGloMap) |
void | Solve (const Array< OneD, const NekDouble > &in, Array< OneD, NekDouble > &out, const AssemblyMapSharedPtr &locToGloMap, const Array< OneD, const NekDouble > &dirForcing=NullNekDouble1DArray) |
Solve the linear system for given input and output vectors using a specified local to global map. More... | |
boost::shared_ptr< GlobalLinSys > | GetSharedThisPtr () |
Returns a shared pointer to the current object. More... | |
int | GetNumBlocks () |
DNekScalMatSharedPtr | GetBlock (unsigned int n) |
DNekScalBlkMatSharedPtr | GetStaticCondBlock (unsigned int n) |
void | DropStaticCondBlock (unsigned int n) |
void | SolveLinearSystem (const int pNumRows, const Array< OneD, const NekDouble > &pInput, Array< OneD, NekDouble > &pOutput, const AssemblyMapSharedPtr &locToGloMap, const int pNumDir=0) |
Solve the linear system for given input and output vectors. More... | |
Protected Member Functions | |
virtual void | v_SolveLinearSystem (const int pNumRows, const Array< OneD, const NekDouble > &pInput, Array< OneD, NekDouble > &pOutput, const AssemblyMapSharedPtr &locToGloMap, const int pNumDir=0) |
Solve the linear system for given input and output vectors. More... | |
void | GlobalToLocalNoSign (const Array< OneD, const NekDouble > &global, Array< OneD, NekDouble > &local) |
void | LocalToGlobalNoSign (const Array< OneD, const NekDouble > &local, Array< OneD, NekDouble > &global) |
Protected Member Functions inherited from Nektar::MultiRegions::GlobalLinSys | |
virtual int | v_GetNumBlocks () |
Get the number of blocks in this system. More... | |
virtual DNekScalMatSharedPtr | v_GetBlock (unsigned int n) |
Retrieves the block matrix from n-th expansion using the matrix key provided by the m_linSysKey. More... | |
virtual DNekScalBlkMatSharedPtr | v_GetStaticCondBlock (unsigned int n) |
Retrieves a the static condensation block matrices from n-th expansion using the matrix key provided by the m_linSysKey. More... | |
virtual void | v_DropStaticCondBlock (unsigned int n) |
Releases the static condensation block matrices from NekManager of n-th expansion using the matrix key provided by the m_linSysKey. More... | |
PreconditionerSharedPtr | CreatePrecon (AssemblyMapSharedPtr asmMap) |
Create a preconditioner object from the parameters defined in the supplied assembly map. More... | |
Protected Attributes | |
struct Xxt::crs_data * | m_crsData |
Array< OneD, unsigned int > | m_Ai |
Array< OneD, unsigned int > | m_Aj |
Array< OneD, double > | m_Ar |
Array< OneD, NekDouble > | m_locToGloSignMult |
Array< OneD, int > | m_map |
Protected Attributes inherited from Nektar::MultiRegions::GlobalLinSys | |
const GlobalLinSysKey | m_linSysKey |
Key associated with this linear system. More... | |
const boost::weak_ptr< ExpList > | m_expList |
Local Matrix System. More... | |
const map< int, RobinBCInfoSharedPtr > | m_robinBCInfo |
Robin boundary info. More... | |
Solves a linear system using direct methods.
Definition at line 29 of file GlobalLinSysXxt.h.
Nektar::MultiRegions::GlobalLinSysXxt::GlobalLinSysXxt | ( | const GlobalLinSysKey & | pKey, |
const boost::weak_ptr< ExpList > & | pExp, | ||
const boost::shared_ptr< AssemblyMap > & | pLocToGloMap | ||
) |
Constructor for full direct matrix solve.
Definition at line 50 of file GlobalLinSysXxt.cpp.
References m_crsData.
|
virtual |
Definition at line 60 of file GlobalLinSysXxt.cpp.
References Xxt::Finalise(), and m_crsData.
|
protected |
Definition at line 81 of file GlobalLinSysXxt.cpp.
References Vmath::Gathr(), m_locToGloSignMult, and m_map.
Referenced by v_SolveLinearSystem().
|
protected |
Definition at line 87 of file GlobalLinSysXxt.cpp.
References m_map, and Vmath::Scatr().
Referenced by v_SolveLinearSystem().
|
protectedvirtual |
Solve the linear system for given input and output vectors.
Implements Nektar::MultiRegions::GlobalLinSys.
Definition at line 66 of file GlobalLinSysXxt.cpp.
References GlobalToLocalNoSign(), LocalToGlobalNoSign(), m_crsData, m_map, and Xxt::Solve().
Definition at line 43 of file GlobalLinSysXxt.h.
Referenced by Nektar::MultiRegions::GlobalLinSysXxtFull::AssembleMatrixArrays(), and Nektar::MultiRegions::GlobalLinSysXxtStaticCond::v_AssembleSchurComplement().
Definition at line 44 of file GlobalLinSysXxt.h.
Referenced by Nektar::MultiRegions::GlobalLinSysXxtFull::AssembleMatrixArrays(), and Nektar::MultiRegions::GlobalLinSysXxtStaticCond::v_AssembleSchurComplement().
Definition at line 45 of file GlobalLinSysXxt.h.
Referenced by Nektar::MultiRegions::GlobalLinSysXxtFull::AssembleMatrixArrays(), and Nektar::MultiRegions::GlobalLinSysXxtStaticCond::v_AssembleSchurComplement().
|
protected |
Definition at line 42 of file GlobalLinSysXxt.h.
Referenced by Nektar::MultiRegions::GlobalLinSysXxtFull::AssembleMatrixArrays(), GlobalLinSysXxt(), Nektar::MultiRegions::GlobalLinSysXxtStaticCond::v_AssembleSchurComplement(), v_SolveLinearSystem(), and ~GlobalLinSysXxt().
Definition at line 47 of file GlobalLinSysXxt.h.
Referenced by Nektar::MultiRegions::GlobalLinSysXxtFull::CreateMap(), Nektar::MultiRegions::GlobalLinSysXxtStaticCond::CreateMap(), and GlobalToLocalNoSign().
Definition at line 49 of file GlobalLinSysXxt.h.
Referenced by Nektar::MultiRegions::GlobalLinSysXxtFull::CreateMap(), Nektar::MultiRegions::GlobalLinSysXxtStaticCond::CreateMap(), GlobalToLocalNoSign(), LocalToGlobalNoSign(), and v_SolveLinearSystem().