#include <fem_impl.h>
Public Member Functions | |
void | check (const char *where) |
void | check (const char *where) |
FEMchunk (FEM_Comm_t defaultComm_) | |
FEMchunk (CkMigrateMessage *msg) | |
void | pup (PUP::er &p) |
~FEMchunk () | |
FEM_Mesh * | lookup (int fem_mesh, const char *caller) |
FEM_Mesh * | getMesh (const char *caller) |
FEM_Mesh * | setMesh (const char *caller) |
void | print (int fem_mesh, int idxBase) |
int | getPrimary (int nodeNo) |
const FEM_Comm & | getComm (void) |
void | exchangeGhostLists (int elemType, int inLen, const int *inList, int idxbase) |
void | recvList (int elemType, int fmChk, int nIdx, const int *idx) |
const CkVec< int > & | getList (void) |
void | emptyList (void) |
void | reduce_field (int idxl_datatype, const void *nodes, void *outbuf, int op) |
void | reduce (int idxl_datatype, const void *inbuf, void *outbuf, int op) |
void | readField (int idxl_datatype, void *nodes, const char *fname) |
Static Public Member Functions | |
static FEMchunk * | get (const char *caller) |
Return this thread's single static FEMchunk instance:. | |
Data Fields | |
FEM_Mesh_list | meshes |
Global list of meshes. | |
int | default_read |
Index of default read mesh. | |
int | default_write |
Index of default write mesh. | |
FEM_Comm_t | defaultComm |
Default communicator to use. | |
int | thisIndex |
Global index (rank) in default communicator. | |
Private Member Functions | |
void | initFields (void) |
Private Attributes | |
CkVec< int > | listTmp |
Keeps track of the global list of meshes, and the default read and write meshes.
This class was once an array element, back when the FEM framework was built directly on Charm++.
There's only one of this object per thread, and it's kept in a thread-private variable.
Definition at line 205 of file fem_impl.h.
FEMchunk::FEMchunk | ( | FEM_Comm_t | defaultComm_ | ) |
FEMchunk::FEMchunk | ( | CkMigrateMessage * | msg | ) |
FEMchunk::~FEMchunk | ( | ) |
void FEMchunk::check | ( | const char * | where | ) |
void FEMchunk::check | ( | const char * | where | ) | [inline] |
Definition at line 221 of file fem_impl.h.
void FEMchunk::initFields | ( | void | ) | [private] |
void FEMchunk::pup | ( | PUP::er & | p | ) |
FEMchunk * FEMchunk::get | ( | const char * | caller | ) | [static] |
Return this thread's single static FEMchunk instance:.
Definition at line 47 of file fem.C.
References c, FEM_Abort(), FEM_globalID, and TCHARM_Get_global().
Referenced by FEM_Exchange_ghost_lists(), FEM_Get_ghost_list(), FEM_Get_ghost_list_length(), FEM_master_parallel_part(), FEM_Mesh_allocate(), FEM_Mesh_copy(), FEM_Mesh_partition(), FEM_Set_sym_nodes(), FEM_slave_parallel_part(), FEM_Sym_coordinates(), FORTRAN_AS_C_RETURN(), and FTN_NAME().
Definition at line 238 of file fem_impl.h.
References FEM_T_List< T >::lookup(), and meshes.
Referenced by FEM_master_parallel_part(), FEM_Mesh_partition(), and print().
FEM_Mesh* FEMchunk::getMesh | ( | const char * | caller | ) | [inline] |
Definition at line 242 of file fem_impl.h.
References default_read, FEM_T_List< T >::lookup(), and meshes.
Referenced by exchangeGhostLists(), FEM_Sym_coordinates(), getComm(), and getPrimary().
FEM_Mesh* FEMchunk::setMesh | ( | const char * | caller | ) | [inline] |
Definition at line 244 of file fem_impl.h.
References default_write, FEM_T_List< T >::lookup(), and meshes.
Referenced by FEM_Add_ghost_stencil(), FEM_Set_sym_nodes(), and FTN_NAME().
Definition at line 1403 of file fem.C.
References lookup(), FEM_Mesh::print(), and thisIndex.
Definition at line 248 of file fem_impl.h.
References getMesh(), FEM_Node::getPrimary(), and FEM_Mesh::node.
const FEM_Comm& FEMchunk::getComm | ( | void | ) | [inline] |
Definition at line 249 of file fem_impl.h.
References getMesh(), FEM_Mesh::node, and FEM_Node::shared.
Definition at line 1042 of file fem.C.
References check(), defaultComm, IDXL_Side::findLocalList(), FEM_Mesh::getCount(), IDXL_List::getDest(), FEM_Entity::getGhostRecv(), FEM_Entity::getGhostSend(), IDXL_Side::getLocalList(), getMesh(), IDXL_Side::getRec(), PUP::l, list, listTmp, MPI_Incoming_pup(), MPI_Isend, MPI_Waitall, CkVec< T >::push_back(), CkVec< T >::resize(), PUP::s, FEM_Entity::size(), size, and IDXL_Side::size().
Referenced by FEM_Exchange_ghost_lists(), and FTN_NAME().
Definition at line 254 of file fem_impl.h.
References listTmp.
Referenced by FEM_Get_ghost_list(), FEM_Get_ghost_list_length(), and FTN_NAME().
void FEMchunk::emptyList | ( | void | ) | [inline] |
Definition at line 255 of file fem_impl.h.
References CkVec< T >::length(), and listTmp.
Referenced by FEM_Get_ghost_list(), and FTN_NAME().
void FEMchunk::readField | ( | int | idxl_datatype, | |
void * | nodes, | |||
const char * | fname | |||
) |
Global list of meshes.
Definition at line 208 of file fem_impl.h.
Referenced by FEM_Mesh_Partition_List::accept(), FEM_master_parallel_part(), FEM_Mesh_allocate(), FEM_Mesh_copy(), FEM_slave_parallel_part(), FORTRAN_AS_C_RETURN(), getMesh(), lookup(), and setMesh().
Default communicator to use.
Definition at line 213 of file fem_impl.h.
Referenced by exchangeGhostLists().
Global index (rank) in default communicator.
Definition at line 216 of file fem_impl.h.
Referenced by print().
CkVec<int> FEMchunk::listTmp [private] |
Definition at line 225 of file fem_impl.h.
Referenced by emptyList(), exchangeGhostLists(), and getList().