Nektar++
Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Private Member Functions | List of all members
Nektar::MultiRegions::GlobalLinSysXxtStaticCond Class Reference

A global linear system. More...

#include <GlobalLinSysXxtStaticCond.h>

Inheritance diagram for Nektar::MultiRegions::GlobalLinSysXxtStaticCond:
[legend]

Public Member Functions

 GlobalLinSysXxtStaticCond (const GlobalLinSysKey &mkey, const std::weak_ptr< ExpList > &pExpList, const std::shared_ptr< AssemblyMap > &locToGloMap)
 Constructor for full direct matrix solve. More...
 
 GlobalLinSysXxtStaticCond (const GlobalLinSysKey &mkey, const std::weak_ptr< ExpList > &pExpList, const DNekScalBlkMatSharedPtr pSchurCompl, const DNekScalBlkMatSharedPtr pBinvD, const DNekScalBlkMatSharedPtr pC, const DNekScalBlkMatSharedPtr pInvD, const std::shared_ptr< AssemblyMap > &locToGloMap)
 Constructor for full direct matrix solve. More...
 
 ~GlobalLinSysXxtStaticCond () override
 
- Public Member Functions inherited from Nektar::MultiRegions::GlobalLinSysXxt
 GlobalLinSysXxt (const GlobalLinSysKey &pKey, const std::weak_ptr< ExpList > &pExp, const std::shared_ptr< AssemblyMap > &pLocToGloMap)
 Constructor for full direct matrix solve. More...
 
 ~GlobalLinSysXxt () override
 
- Public Member Functions inherited from Nektar::MultiRegions::GlobalLinSys
 GlobalLinSys (const GlobalLinSysKey &pKey, const std::weak_ptr< ExpList > &pExpList, const std::shared_ptr< AssemblyMap > &pLocToGloMap)
 Constructor for full direct matrix solve. More...
 
virtual ~GlobalLinSys ()
 
const GlobalLinSysKeyGetKey (void) const
 Returns the key associated with the system. More...
 
const std::weak_ptr< ExpList > & GetLocMat (void) const
 
void InitObject ()
 
void Initialise (const std::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...
 
std::shared_ptr< GlobalLinSysGetSharedThisPtr ()
 Returns a shared pointer to the current object. More...
 
int GetNumBlocks ()
 
DNekScalMatSharedPtr GetBlock (unsigned int n)
 
void DropBlock (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...
 
- Public Member Functions inherited from Nektar::MultiRegions::GlobalLinSysStaticCond
 GlobalLinSysStaticCond (const GlobalLinSysKey &mkey, const std::weak_ptr< ExpList > &pExpList, const std::shared_ptr< AssemblyMap > &locToGloMap)
 Constructor for full direct matrix solve. More...
 
 ~GlobalLinSysStaticCond () override
 

Static Public Member Functions

static GlobalLinSysSharedPtr create (const GlobalLinSysKey &pLinSysKey, const std::weak_ptr< ExpList > &pExpList, const std::shared_ptr< AssemblyMap > &pLocToGloMap)
 Creates an instance of this class. More...
 

Static Public Attributes

static std::string className
 Name of class. More...
 
static std::string className2
 

Protected Member Functions

void v_AssembleSchurComplement (std::shared_ptr< AssemblyMap > locToGloMap) override
 Assemble the Schur complement matrix. More...
 
GlobalLinSysStaticCondSharedPtr v_Recurse (const GlobalLinSysKey &mkey, const std::weak_ptr< ExpList > &pExpList, const DNekScalBlkMatSharedPtr pSchurCompl, const DNekScalBlkMatSharedPtr pBinvD, const DNekScalBlkMatSharedPtr pC, const DNekScalBlkMatSharedPtr pInvD, const std::shared_ptr< AssemblyMap > &locToGloMap) override
 
- Protected Member Functions inherited from Nektar::MultiRegions::GlobalLinSys
virtual void v_Solve (const Array< OneD, const NekDouble > &in, Array< OneD, NekDouble > &out, const AssemblyMapSharedPtr &locToGloMap, const Array< OneD, const NekDouble > &dirForcing=NullNekDouble1DArray)=0
 Solve a linear system based on mapping. More...
 
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 a basic matrix system. More...
 
virtual void v_InitObject ()
 
virtual void v_Initialise (const std::shared_ptr< AssemblyMap > &pLocToGloMap)
 
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 void v_DropBlock (unsigned int n)
 Releases the local block matrix from NekManager of 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 Member Functions inherited from Nektar::MultiRegions::GlobalLinSysStaticCond
virtual void v_PreSolve (int scLevel, Array< OneD, NekDouble > &F_bnd)
 
virtual void v_BasisFwdTransform (Array< OneD, NekDouble > &pInOut)
 
virtual void v_CoeffsBwdTransform (Array< OneD, NekDouble > &pInOut)
 
virtual void v_CoeffsFwdTransform (const Array< OneD, NekDouble > &pInput, Array< OneD, NekDouble > &pOutput)
 
virtual void v_AssembleSchurComplement (std::shared_ptr< AssemblyMap > pLoctoGloMap)
 
int v_GetNumBlocks () override
 Get the number of blocks in this system. More...
 
virtual GlobalLinSysStaticCondSharedPtr v_Recurse (const GlobalLinSysKey &mkey, const std::weak_ptr< ExpList > &pExpList, const DNekScalBlkMatSharedPtr pSchurCompl, const DNekScalBlkMatSharedPtr pBinvD, const DNekScalBlkMatSharedPtr pC, const DNekScalBlkMatSharedPtr pInvD, const std::shared_ptr< AssemblyMap > &locToGloMap)=0
 
void v_Solve (const Array< OneD, const NekDouble > &in, Array< OneD, NekDouble > &out, const AssemblyMapSharedPtr &locToGloMap, const Array< OneD, const NekDouble > &dirForcing=NullNekDouble1DArray) override
 Solve the linear system for given input and output vectors using a specified local to global map. More...
 
void v_InitObject () override
 
void v_Initialise (const std::shared_ptr< AssemblyMap > &locToGloMap) override
 Initialise this object. More...
 
void SetupTopLevel (const std::shared_ptr< AssemblyMap > &locToGloMap)
 Set up the storage for the Schur complement or the top level of the multi-level Schur complement. More...
 
void ConstructNextLevelCondensedSystem (const std::shared_ptr< AssemblyMap > &locToGloMap)
 

Private Member Functions

void v_SolveLinearSystem (const int pNumRows, const Array< OneD, const NekDouble > &pInput, Array< OneD, NekDouble > &pOutput, const AssemblyMapSharedPtr &locToGloMap, const int pNumDir) override
 Solve the linear system for given input and output vectors. More...
 

Additional Inherited Members

- Protected Attributes inherited from Nektar::MultiRegions::GlobalLinSysXxt
struct Xxt::crs_datam_crsData
 
Array< OneD, unsigned int > m_Ai
 
Array< OneD, unsigned int > m_Aj
 
Array< OneD, double > m_Ar
 
- Protected Attributes inherited from Nektar::MultiRegions::GlobalLinSys
const GlobalLinSysKey m_linSysKey
 Key associated with this linear system. More...
 
const std::weak_ptr< ExpListm_expList
 Local Matrix System. More...
 
const std::map< int, RobinBCInfoSharedPtrm_robinBCInfo
 Robin boundary info. More...
 
bool m_verbose
 
- Protected Attributes inherited from Nektar::MultiRegions::GlobalLinSysStaticCond
GlobalLinSysStaticCondSharedPtr m_recursiveSchurCompl
 Schur complement for Direct Static Condensation. More...
 
DNekScalBlkMatSharedPtr m_schurCompl
 Block Schur complement matrix. More...
 
DNekScalBlkMatSharedPtr m_BinvD
 Block \( BD^{-1} \) matrix. More...
 
DNekScalBlkMatSharedPtr m_C
 Block \( C \) matrix. More...
 
DNekScalBlkMatSharedPtr m_invD
 Block \( D^{-1} \) matrix. More...
 
std::weak_ptr< AssemblyMapm_locToGloMap
 Local to global map. More...
 
Array< OneD, NekDoublem_wsp
 Workspace array for matrix multiplication. More...
 
Array< OneD, const NekDoublem_sign
 

Detailed Description

A global linear system.

Definition at line 55 of file GlobalLinSysXxtStaticCond.h.

Constructor & Destructor Documentation

◆ GlobalLinSysXxtStaticCond() [1/2]

Nektar::MultiRegions::GlobalLinSysXxtStaticCond::GlobalLinSysXxtStaticCond ( const GlobalLinSysKey pKey,
const std::weak_ptr< ExpList > &  pExpList,
const std::shared_ptr< AssemblyMap > &  pLocToGloMap 
)

Constructor for full direct matrix solve.

For a matrix system of the form

\[ \left[ \begin{array}{cc} \boldsymbol{A} & \boldsymbol{B}\\ \boldsymbol{C} & \boldsymbol{D} \end{array} \right] \left[ \begin{array}{c} \boldsymbol{x_1}\\ \boldsymbol{x_2} \end{array}\right] = \left[ \begin{array}{c} \boldsymbol{y_1}\\ \boldsymbol{y_2} \end{array}\right], \]

where \(\boldsymbol{D}\) and \((\boldsymbol{A-BD^{-1}C})\) are invertible, store and assemble a static condensation system, according to a given local to global mapping. #m_linSys is constructed by AssembleSchurComplement().

Parameters
mKeyAssociated matrix key.
pLocMatSysLocalMatrixSystem
locToGloMapLocal to global mapping.

Definition at line 81 of file GlobalLinSysXxtStaticCond.cpp.

84 : GlobalLinSys(pKey, pExpList, pLocToGloMap),
85 GlobalLinSysXxt(pKey, pExpList, pLocToGloMap),
86 GlobalLinSysStaticCond(pKey, pExpList, pLocToGloMap)
87{
88 ASSERTL1((pKey.GetGlobalSysSolnType() == eXxtStaticCond) ||
89 (pKey.GetGlobalSysSolnType() == eXxtMultiLevelStaticCond),
90 "This constructor is only valid when using static "
91 "condensation");
92 ASSERTL1(pKey.GetGlobalSysSolnType() ==
93 pLocToGloMap->GetGlobalSysSolnType(),
94 "The local to global map is not set up for the requested "
95 "solution type");
96}
#define ASSERTL1(condition, msg)
Assert Level 1 – Debugging which is used whether in FULLDEBUG or DEBUG compilation mode....
Definition: ErrorUtil.hpp:242
GlobalLinSys(const GlobalLinSysKey &pKey, const std::weak_ptr< ExpList > &pExpList, const std::shared_ptr< AssemblyMap > &pLocToGloMap)
Constructor for full direct matrix solve.
GlobalLinSysStaticCond(const GlobalLinSysKey &mkey, const std::weak_ptr< ExpList > &pExpList, const std::shared_ptr< AssemblyMap > &locToGloMap)
Constructor for full direct matrix solve.
GlobalLinSysXxt(const GlobalLinSysKey &pKey, const std::weak_ptr< ExpList > &pExp, const std::shared_ptr< AssemblyMap > &pLocToGloMap)
Constructor for full direct matrix solve.

References ASSERTL1, Nektar::MultiRegions::eXxtMultiLevelStaticCond, Nektar::MultiRegions::eXxtStaticCond, and Nektar::MultiRegions::GlobalLinSysKey::GetGlobalSysSolnType().

◆ GlobalLinSysXxtStaticCond() [2/2]

Nektar::MultiRegions::GlobalLinSysXxtStaticCond::GlobalLinSysXxtStaticCond ( const GlobalLinSysKey mkey,
const std::weak_ptr< ExpList > &  pExpList,
const DNekScalBlkMatSharedPtr  pSchurCompl,
const DNekScalBlkMatSharedPtr  pBinvD,
const DNekScalBlkMatSharedPtr  pC,
const DNekScalBlkMatSharedPtr  pInvD,
const std::shared_ptr< AssemblyMap > &  locToGloMap 
)

Constructor for full direct matrix solve.

Definition at line 101 of file GlobalLinSysXxtStaticCond.cpp.

107 : GlobalLinSys(pKey, pExpList, pLocToGloMap),
108 GlobalLinSysXxt(pKey, pExpList, pLocToGloMap),
109 GlobalLinSysStaticCond(pKey, pExpList, pLocToGloMap)
110{
111 m_schurCompl = pSchurCompl;
112 m_BinvD = pBinvD;
113 m_C = pC;
114 m_invD = pInvD;
115 m_locToGloMap = pLocToGloMap;
116}
DNekScalBlkMatSharedPtr m_schurCompl
Block Schur complement matrix.
std::weak_ptr< AssemblyMap > m_locToGloMap
Local to global map.
DNekScalBlkMatSharedPtr m_BinvD
Block matrix.
DNekScalBlkMatSharedPtr m_C
Block matrix.
DNekScalBlkMatSharedPtr m_invD
Block matrix.

References Nektar::MultiRegions::GlobalLinSysStaticCond::m_BinvD, Nektar::MultiRegions::GlobalLinSysStaticCond::m_C, Nektar::MultiRegions::GlobalLinSysStaticCond::m_invD, Nektar::MultiRegions::GlobalLinSysStaticCond::m_locToGloMap, and Nektar::MultiRegions::GlobalLinSysStaticCond::m_schurCompl.

◆ ~GlobalLinSysXxtStaticCond()

Nektar::MultiRegions::GlobalLinSysXxtStaticCond::~GlobalLinSysXxtStaticCond ( )
override

Definition at line 121 of file GlobalLinSysXxtStaticCond.cpp.

122{
123}

Member Function Documentation

◆ create()

static GlobalLinSysSharedPtr Nektar::MultiRegions::GlobalLinSysXxtStaticCond::create ( const GlobalLinSysKey pLinSysKey,
const std::weak_ptr< ExpList > &  pExpList,
const std::shared_ptr< AssemblyMap > &  pLocToGloMap 
)
inlinestatic

Creates an instance of this class.

Definition at line 60 of file GlobalLinSysXxtStaticCond.h.

64 {
67 pLinSysKey, pExpList, pLocToGloMap);
68 p->InitObject();
69 return p;
70 }
static std::shared_ptr< DataType > AllocateSharedPtr(const Args &...args)
Allocate a shared pointer from the memory pool.
std::shared_ptr< GlobalLinSys > GlobalLinSysSharedPtr
Pointer to a GlobalLinSys object.
Definition: GlobalLinSys.h:51

References Nektar::MemoryManager< DataType >::AllocateSharedPtr(), and CellMLToNektar.cellml_metadata::p.

◆ v_AssembleSchurComplement()

void Nektar::MultiRegions::GlobalLinSysXxtStaticCond::v_AssembleSchurComplement ( std::shared_ptr< AssemblyMap pLocToGloMap)
overrideprotectedvirtual

Assemble the Schur complement matrix.

Construct the local matrix row index, column index and value index arrays and initialize the XXT data structure with this information.

Parameters
locToGloMapLocal to global mapping information.

Reimplemented from Nektar::MultiRegions::GlobalLinSysStaticCond.

Definition at line 130 of file GlobalLinSysXxtStaticCond.cpp.

132{
133 ExpListSharedPtr vExp = m_expList.lock();
134 unsigned int nElmt = m_schurCompl->GetNumberOfBlockRows();
135 DNekScalMatSharedPtr loc_mat;
136 unsigned int iCount = 0;
137 unsigned int rCount = 0;
138 unsigned int nRows = 0;
139 unsigned int nEntries = 0;
140 unsigned int numDirBnd = pLocToGloMap->GetNumGlobalDirBndCoeffs();
141 unsigned int nLocal = pLocToGloMap->GetNumLocalBndCoeffs();
142 const Array<OneD, NekDouble> &vMapSign =
143 pLocToGloMap->GetLocalToGlobalBndSign();
144 bool doSign = pLocToGloMap->GetSignChange();
145 unsigned int i = 0, j = 0, k = 0, n = 0;
146 int gid1;
147 Array<OneD, unsigned int> vSizes(nElmt);
148
149 // First construct a map of the number of local DOFs in each block
150 // and the number of matrix entries for each block
151 for (n = 0; n < nElmt; ++n)
152 {
153 loc_mat = m_schurCompl->GetBlock(n, n);
154 vSizes[n] = loc_mat->GetRows();
155 nEntries += vSizes[n] * vSizes[n];
156 }
157
158 // Set up i-index, j-index and value arrays
159 m_Ai = Array<OneD, unsigned int>(nEntries);
160 m_Aj = Array<OneD, unsigned int>(nEntries);
161 m_Ar = Array<OneD, double>(nEntries, 0.0);
162
163 // Set up the universal ID array for XXT
164 Array<OneD, unsigned long> vId(nLocal);
165
166 // Loop over each elemental block, extract matrix indices and value
167 // and set the universal ID array
168 for (n = iCount = 0; n < nElmt; ++n)
169 {
170 loc_mat = m_schurCompl->GetBlock(n, n);
171 nRows = loc_mat->GetRows();
172
173 for (i = 0; i < nRows; ++i)
174 {
175 gid1 = pLocToGloMap->GetLocalToGlobalBndMap(iCount + i);
176 for (j = 0; j < nRows; ++j)
177 {
178 k = rCount + i * vSizes[n] + j;
179 m_Ai[k] = iCount + i;
180 m_Aj[k] = iCount + j;
181 m_Ar[k] = (*loc_mat)(i, j);
182 if (doSign)
183 {
184 m_Ar[k] *= vMapSign[iCount + i] * vMapSign[iCount + j];
185 }
186 }
187
188 // Dirichlet DOFs are not included in the solve, so we set
189 // these to the special XXT id=0.
190 if (gid1 < numDirBnd)
191 {
192 vId[iCount + i] = 0;
193 }
194 else
195 {
196 vId[iCount + i] =
197 pLocToGloMap->GetGlobalToUniversalBndMap()[gid1];
198 }
199 }
200 iCount += vSizes[n];
201 rCount += vSizes[n] * vSizes[n];
202 }
203
204 // Set up XXT and output some stats
205 LibUtilities::CommSharedPtr vComm = pLocToGloMap->GetComm()->GetRowComm();
206 m_crsData = Xxt::Init(nLocal, vId, m_Ai, m_Aj, m_Ar, vComm);
207 if (m_verbose)
208 {
210 }
211}
const std::weak_ptr< ExpList > m_expList
Local Matrix System.
Definition: GlobalLinSys.h:122
Array< OneD, unsigned int > m_Aj
Array< OneD, unsigned int > m_Ai
std::shared_ptr< Comm > CommSharedPtr
Pointer to a Communicator object.
Definition: Comm.h:55
std::shared_ptr< ExpList > ExpListSharedPtr
Shared pointer to an ExpList object.
std::shared_ptr< DNekScalMat > DNekScalMatSharedPtr
void nektar_crs_stats(struct crs_data *data)
static struct crs_data * Init(unsigned int pRank, const Nektar::Array< OneD, unsigned long > pId, const Nektar::Array< OneD, unsigned int > pAi, const Nektar::Array< OneD, unsigned int > pAj, const Nektar::Array< OneD, NekDouble > pAr, const LibUtilities::CommSharedPtr &pComm)
Initialise the matrix-solve.
Definition: Xxt.hpp:158

References Xxt::Init(), Nektar::MultiRegions::GlobalLinSysXxt::m_Ai, Nektar::MultiRegions::GlobalLinSysXxt::m_Aj, Nektar::MultiRegions::GlobalLinSysXxt::m_Ar, Nektar::MultiRegions::GlobalLinSysXxt::m_crsData, Nektar::MultiRegions::GlobalLinSys::m_expList, Nektar::MultiRegions::GlobalLinSysStaticCond::m_schurCompl, Nektar::MultiRegions::GlobalLinSys::m_verbose, and Xxt::nektar_crs_stats().

◆ v_Recurse()

GlobalLinSysStaticCondSharedPtr Nektar::MultiRegions::GlobalLinSysXxtStaticCond::v_Recurse ( const GlobalLinSysKey mkey,
const std::weak_ptr< ExpList > &  pExpList,
const DNekScalBlkMatSharedPtr  pSchurCompl,
const DNekScalBlkMatSharedPtr  pBinvD,
const DNekScalBlkMatSharedPtr  pC,
const DNekScalBlkMatSharedPtr  pInvD,
const std::shared_ptr< AssemblyMap > &  locToGloMap 
)
overrideprotectedvirtual

Implements Nektar::MultiRegions::GlobalLinSysStaticCond.

Definition at line 213 of file GlobalLinSysXxtStaticCond.cpp.

219{
222 mkey, pExpList, pSchurCompl, pBinvD, pC, pInvD, l2gMap);
223 sys->Initialise(l2gMap);
224 return sys;
225}
std::shared_ptr< GlobalLinSysXxtStaticCond > GlobalLinSysXxtStaticCondSharedPtr

References Nektar::MemoryManager< DataType >::AllocateSharedPtr().

◆ v_SolveLinearSystem()

void Nektar::MultiRegions::GlobalLinSysXxtStaticCond::v_SolveLinearSystem ( const int  pNumRows,
const Array< OneD, const NekDouble > &  pInput,
Array< OneD, NekDouble > &  pOutput,
const AssemblyMapSharedPtr locToGloMap,
const int  pNumDir 
)
overrideprivatevirtual

Solve the linear system for given input and output vectors.

Implements Nektar::MultiRegions::GlobalLinSys.

Definition at line 228 of file GlobalLinSysXxtStaticCond.cpp.

233{
234 int nLocal = pLocToGloMap->GetLocalToGlobalBndSign().size();
235 Vmath::Zero(nLocal, pOutput, 1);
236
237 if (pLocToGloMap->GetSignChange())
238 {
239 Array<OneD, NekDouble> vlocal(nLocal);
240 Vmath::Vmul(nLocal, pLocToGloMap->GetLocalToGlobalBndSign(), 1, pInput,
241 1, vlocal, 1);
242
243 Xxt::Solve(pOutput, m_crsData, vlocal);
244
245 Vmath::Vmul(nLocal, pLocToGloMap->GetLocalToGlobalBndSign(), 1, pOutput,
246 1, pOutput, 1);
247 }
248 else
249 {
250 Xxt::Solve(pOutput, m_crsData, pInput);
251 }
252}
void Vmul(int n, const T *x, const int incx, const T *y, const int incy, T *z, const int incz)
Multiply vector z = x*y.
Definition: Vmath.hpp:72
void Zero(int n, T *x, const int incx)
Zero vector.
Definition: Vmath.hpp:273
static void Solve(Nektar::Array< OneD, NekDouble > pX, struct crs_data *pCrs, Nektar::Array< OneD, NekDouble > pB)
Solve the matrix system for a given input vector b.
Definition: Xxt.hpp:186

References Nektar::MultiRegions::GlobalLinSysXxt::m_crsData, Xxt::Solve(), Vmath::Vmul(), and Vmath::Zero().

Member Data Documentation

◆ className

string Nektar::MultiRegions::GlobalLinSysXxtStaticCond::className
static
Initial value:
=
"Iterative static condensation.")
tKey RegisterCreatorFunction(tKey idKey, CreatorFunction classCreator, std::string pDesc="")
Register a class with the factory.
Definition: NekFactory.hpp:197
static GlobalLinSysSharedPtr create(const GlobalLinSysKey &pLinSysKey, const std::weak_ptr< ExpList > &pExpList, const std::shared_ptr< AssemblyMap > &pLocToGloMap)
Creates an instance of this class.
GlobalLinSysFactory & GetGlobalLinSysFactory()

Name of class.

Registers the class with the Factory.

Definition at line 73 of file GlobalLinSysXxtStaticCond.h.

◆ className2

string Nektar::MultiRegions::GlobalLinSysXxtStaticCond::className2
static
Initial value:
=
"XxtMultiLevelStaticCond", GlobalLinSysXxtStaticCond::create,
"Xxt multi-level static condensation.")

Definition at line 74 of file GlobalLinSysXxtStaticCond.h.