36 #ifndef NEKTAR_LIB_MULTIREGIONS_GLOBALLINSYSPETSCFULL_H
37 #define NEKTAR_LIB_MULTIREGIONS_GLOBALLINSYSPETSCFULL_H
45 namespace MultiRegions
60 const boost::weak_ptr<ExpList> &pExpList,
61 const boost::shared_ptr<AssemblyMap> &pLocToGloMap)
73 const boost::weak_ptr<ExpList> &pExpList,
74 const boost::shared_ptr<AssemblyMap> &pLocToGloMap);
virtual ~GlobalLinSysPETScFull()
static std::string className
Name of class.
static Array< OneD, NekDouble > NullNekDouble1DArray
static boost::shared_ptr< DataType > AllocateSharedPtr()
Allocate a shared pointer from the memory pool.
boost::shared_ptr< AssemblyMap > AssemblyMapSharedPtr
#define MULTI_REGIONS_EXPORT
GlobalLinSysPETScFull(const GlobalLinSysKey &pLinSysKey, const boost::weak_ptr< ExpList > &pExpList, const boost::shared_ptr< AssemblyMap > &pLocToGloMap)
Constructor for full direct matrix solve.
virtual void v_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...
Describe a linear system.
A PETSc global linear system.
boost::shared_ptr< GlobalLinSys > GlobalLinSysSharedPtr
Pointer to a GlobalLinSys object.
static GlobalLinSysSharedPtr create(const GlobalLinSysKey &pLinSysKey, const boost::weak_ptr< ExpList > &pExpList, const boost::shared_ptr< AssemblyMap > &pLocToGloMap)
Creates an instance of this class.
virtual void v_DoMatrixMultiply(const Array< OneD, const NekDouble > &input, Array< OneD, NekDouble > &output)
Apply matrix-vector multiplication using local approach and the assembly map.