36 #ifndef NEKTAR_LIB_UTILITIES_COMMUNICATION_XXT_HPP 
   37 #define NEKTAR_LIB_UTILITIES_COMMUNICATION_XXT_HPP 
   69         unsigned int n, *Lrp, *Lj;
 
   74         unsigned int n, *Arp, *Aj; 
double *A;
 
  123         unsigned int *
Xp; 
double *X;   
 
  126         double *vl, *vc, *
vx, *combuf;
 
  133           unsigned int n, 
const unsigned long *
id,
 
  134           unsigned int nz, 
const unsigned int *Ai, 
const unsigned int *Aj,
 
  135           const double *A,  
unsigned int null_space, 
const struct comm *
comm);
 
  165 #ifdef NEKTAR_USE_MPI 
  166         unsigned int nz = pAr.num_elements();
 
  168         ASSERTL1(vCommMpi, 
"Failed to cast MPI Comm object.");
 
  170         MPI_Comm_dup(vCommMpi->GetComm(), &vComm.
c);
 
  171         vComm.
id = vCommMpi->GetRank();
 
  172         vComm.
np = vCommMpi->GetSize();
 
  174                                             &pAj[0], &pAr[0], 0, &vComm);
 
  175         MPI_Comm_free(&vComm.
c);
 
  190 #ifdef NEKTAR_USE_MPI 
  204 #ifdef NEKTAR_USE_MPI 
  206         MPI_Finalized(&finalized);
 
  207         if (pCrs && !finalized)
 
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. 
 
void nektar_crs_free(struct crs_data *data)
 
boost::shared_ptr< Comm > CommSharedPtr
Pointer to a Communicator object. 
 
boost::shared_ptr< CommMpi > CommMpiSharedPtr
Pointer to a Communicator object. 
 
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. 
 
struct crs_data * nektar_crs_setup(unsigned int n, const unsigned long *id, unsigned int nz, const unsigned int *Ai, const unsigned int *Aj, const double *A, unsigned int null_space, const struct comm *comm)
 
static void Finalise(crs_data *pCrs)
Deallocates the crs mapping data. 
 
void nektar_crs_stats(struct crs_data *data)
 
#define ASSERTL1(condition, msg)
Assert Level 1 – Debugging which is used whether in FULLDEBUG or DEBUG compilation mode...
 
void nektar_crs_solve(double *x, struct crs_data *data, double *b)