35 #include <boost/core/ignore_unused.hpp>
42 namespace MultiRegions
53 const std::shared_ptr<AssemblyMap> &pLocToGloMap)
70 boost::ignore_unused(pNumRows, pLocToGloMap, pNumDir);
72 int nLocal =
m_map.size();
84 m_map.get(), local.get());
Describe a linear system.
Array< OneD, NekDouble > m_locToGloSignMult
GlobalLinSysXxt(const GlobalLinSysKey &pKey, const std::weak_ptr< ExpList > &pExp, const std::shared_ptr< AssemblyMap > &pLocToGloMap)
Constructor for full direct matrix solve.
void LocalToGlobalNoSign(const Array< OneD, const NekDouble > &local, Array< OneD, NekDouble > &global)
virtual ~GlobalLinSysXxt()
virtual void v_SolveLinearSystem(const int pNumRows, const Array< OneD, const NekDouble > &pInput, Array< OneD, NekDouble > &pOutput, const AssemblyMapSharedPtr &locToGloMap, const int pNumDir=0) override
Solve the linear system for given input and output vectors.
void GlobalToLocalNoSign(const Array< OneD, const NekDouble > &global, Array< OneD, NekDouble > &local)
struct Xxt::crs_data * m_crsData
std::shared_ptr< AssemblyMap > AssemblyMapSharedPtr
The above copyright notice and this permission notice shall be included.
void Scatr(int n, const T *x, const int *y, T *z)
Scatter vector z[y[i]] = x[i].
void Gathr(int n, const T *sign, const T *x, const int *y, T *z)
Gather vector z[i] = sign[i]*x[y[i]].
static void Finalise(crs_data *pCrs)
Deallocates the crs mapping data.
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.