Public Member Functions | |
IFEM_Solve_shared_comm (int mesh_, int entity_, int length_, int width_) | |
void | set_c (IFEM_Matrix_product_c A, void *ptr_) |
void | set_f (IFEM_Matrix_product_f A, void *ptr_) |
virtual void | matrixVectorProduct (const double *src, double *dest) |
Compute dest = A src, where A is the square stiffness matrix. | |
virtual double | dotProduct (const double *a, const double *b) |
Do a parallel dot product of these two vectors. | |
~IFEM_Solve_shared_comm () | |
Private Attributes | |
int | mesh |
int | entity |
const int | length |
const int | width |
unsigned char * | primary |
IDXL_Layout_t | shared_fid |
IDXL_Layout_t | reduce_fid |
IDXL_t | shared_idxl |
IFEM_Matrix_product_c | A_c |
IFEM_Matrix_product_f | A_f |
void * | ptr |
Definition at line 33 of file ifem.C.
IFEM_Solve_shared_comm::IFEM_Solve_shared_comm | ( | int | mesh_, | |
int | entity_, | |||
int | length_, | |||
int | width_ | |||
) | [inline] |
Definition at line 45 of file ifem.C.
References entity, FEM_Comm_shared(), FEM_Mesh_get_data(), FEM_Mesh_get_length(), length, mesh, primary, reduce_fid, shared_fid, shared_idxl, and width.
IFEM_Solve_shared_comm::~IFEM_Solve_shared_comm | ( | ) | [inline] |
void IFEM_Solve_shared_comm::set_c | ( | IFEM_Matrix_product_c | A, | |
void * | ptr_ | |||
) | [inline] |
Definition at line 65 of file ifem.C.
Referenced by IFEM_Solve_shared().
void IFEM_Solve_shared_comm::set_f | ( | IFEM_Matrix_product_f | A, | |
void * | ptr_ | |||
) | [inline] |
Definition at line 68 of file ifem.C.
Referenced by FTN_NAME().
virtual void IFEM_Solve_shared_comm::matrixVectorProduct | ( | const double * | src, | |
double * | dest | |||
) | [inline, virtual] |
virtual double IFEM_Solve_shared_comm::dotProduct | ( | const double * | a, | |
const double * | b | |||
) | [inline, virtual] |
Do a parallel dot product of these two vectors.
Implements ILSI_Comm.
Definition at line 80 of file ifem.C.
References FEM_Reduce(), length, localDotProduct(), primary, reduce_fid, and width.
int IFEM_Solve_shared_comm::mesh [private] |
int IFEM_Solve_shared_comm::entity [private] |
const int IFEM_Solve_shared_comm::length [private] |
Definition at line 35 of file ifem.C.
Referenced by dotProduct(), IFEM_Solve_shared_comm(), and matrixVectorProduct().
const int IFEM_Solve_shared_comm::width [private] |
Definition at line 35 of file ifem.C.
Referenced by dotProduct(), IFEM_Solve_shared_comm(), and matrixVectorProduct().
unsigned char* IFEM_Solve_shared_comm::primary [private] |
Definition at line 36 of file ifem.C.
Referenced by dotProduct(), IFEM_Solve_shared_comm(), and ~IFEM_Solve_shared_comm().
IDXL_Layout_t IFEM_Solve_shared_comm::shared_fid [private] |
Definition at line 37 of file ifem.C.
Referenced by IFEM_Solve_shared_comm(), and ~IFEM_Solve_shared_comm().
IDXL_Layout_t IFEM_Solve_shared_comm::reduce_fid [private] |
Definition at line 37 of file ifem.C.
Referenced by dotProduct(), IFEM_Solve_shared_comm(), and ~IFEM_Solve_shared_comm().
IDXL_t IFEM_Solve_shared_comm::shared_idxl [private] |
void* IFEM_Solve_shared_comm::ptr [private] |