PPL Logo

IFEM_Solve_shared_comm Class Reference

Interface between the basic "matrix-style" interface expected by the ILSI solvers, the FEM framework, and the local matrix-multiply function passed in by the user. More...

Inheritance diagram for IFEM_Solve_shared_comm:

Inheritance graph
[legend]
Collaboration diagram for IFEM_Solve_shared_comm:

Collaboration graph
[legend]

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

Detailed Description

Interface between the basic "matrix-style" interface expected by the ILSI solvers, the FEM framework, and the local matrix-multiply function passed in by the user.

Definition at line 33 of file ifem.C.


Constructor & Destructor Documentation

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.

Here is the call graph for this function:

IFEM_Solve_shared_comm::~IFEM_Solve_shared_comm (  )  [inline]

Definition at line 89 of file ifem.C.

References primary, reduce_fid, and shared_fid.


Member Function Documentation

void IFEM_Solve_shared_comm::set_c ( IFEM_Matrix_product_c  A,
void *  ptr_ 
) [inline]

Definition at line 65 of file ifem.C.

References A_c, and ptr.

Referenced by IFEM_Solve_shared().

Here is the caller graph for this function:

void IFEM_Solve_shared_comm::set_f ( IFEM_Matrix_product_f  A,
void *  ptr_ 
) [inline]

Definition at line 68 of file ifem.C.

References A_f, and ptr.

Referenced by FTN_NAME().

Here is the caller graph for this function:

virtual void IFEM_Solve_shared_comm::matrixVectorProduct ( const double *  src,
double *  dest 
) [inline, virtual]

Compute dest = A src, where A is the square stiffness matrix.

Implements ILSI_Comm.

Definition at line 73 of file ifem.C.

References A_c, A_f, length, ptr, and width.

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.

Here is the call graph for this function:


Field Documentation

Definition at line 34 of file ifem.C.

Referenced by IFEM_Solve_shared_comm().

Definition at line 34 of file ifem.C.

Referenced by IFEM_Solve_shared_comm().

Definition at line 35 of file ifem.C.

Referenced by dotProduct(), IFEM_Solve_shared_comm(), and matrixVectorProduct().

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().

Definition at line 38 of file ifem.C.

Referenced by IFEM_Solve_shared_comm().

Definition at line 41 of file ifem.C.

Referenced by matrixVectorProduct(), and set_c().

Definition at line 42 of file ifem.C.

Referenced by matrixVectorProduct(), and set_f().

void* IFEM_Solve_shared_comm::ptr [private]

Definition at line 43 of file ifem.C.

Referenced by matrixVectorProduct(), set_c(), and set_f().


The documentation for this class was generated from the following file:

Generated on Mon Sep 21 08:26:00 2020 for Charm++ by  doxygen 1.5.5