Go to the source code of this file.
Data Structures | |
class | FEM_Mesh_Partition_List |
Enumerations | |
enum | { FEM_globalID = 33 } |
Functions | |
void | FEM_Abort (const char *msg) |
void | FEM_Abort (const char *caller, const char *sprintf_msg, int int0, int int1, int int2) |
CLINKAGE void | pupFEM_Chunk (pup_er cp) |
CLINKAGE void | FEM_Init (FEM_Comm_t defaultComm) |
Initialize the FEM framework (must have called MPI_Init). | |
FORTRAN_AS_C (FEM_INIT, FEM_Init, fem_init,(int *comm),(*comm)) void _registerfem(void) | |
CLINKAGE int | FEM_Mesh_allocate (void) |
mesh creation functions | |
FORTRAN_AS_C_RETURN (int, FEM_MESH_ALLOCATE, FEM_Mesh_allocate, fem_mesh_allocate,(void),()) | |
Return a new'd copy of this class, by calling pup. | |
CLINKAGE int | FEM_Mesh_copy (int fem_mesh) |
build new mesh | |
FORTRAN_AS_C_RETURN (int, FEM_MESH_COPY, FEM_Mesh_copy, fem_mesh_copy,(int *m),(*m)) CLINKAGE void FEM_Mesh_deallocate(int fem_mesh) | |
FORTRAN_AS_C (FEM_MESH_DEALLOCATE, FEM_Mesh_deallocate, fem_mesh_deallocate,(int *m),(*m)) CLINKAGE int FEM_Mesh_read(const char *prefix | |
FEM_Partition & | FEM_curPartition (void) |
static void | clearPartition (void) |
static void | FEM_Mesh_partition (FEM_Mesh *src, int _nchunks, FEM_Mesh_Output *out) |
CLINKAGE void | FEM_Mesh_partition (int fem_mesh, int nParts, int *destMeshes) |
FORTRAN_AS_C (FEM_MESH_PARTITION, FEM_Mesh_partition, fem_mesh_partition,(int *mesh, int *nParts, int *dest),(*mesh,*nParts, dest)) CLINKAGE int FEM_Mesh_recv(int fromRank | |
CLINKAGE int | FEM_Mesh_broadcast (int fem_mesh, int masterRank, FEM_Comm_t comm_context) |
FORTRAN_AS_C_RETURN (int, FEM_MESH_BROADCAST, FEM_Mesh_broadcast, fem_mesh_broadcast,(int *mesh, int *rank, int *comm),(*mesh,*rank,*comm)) CLINKAGE void FEM_Mesh_copy_globalno(int src_mesh | |
n (n_) | |
addNodes (addNodes_) | |
ends (new int[n]) | |
adj (new int[2 *userEnds[n-1]]) | |
CLINKAGE void | FEM_Add_ghost_stencil_type (int elType, int nElts, int addNodes, const int *ends, const int *adj2) |
FLINKAGE void | FTN_NAME (FEM_ADD_GHOST_STENCIL_TYPE, fem_add_ghost_stencil_type) |
int | globalElem2elType (const FEM_Mesh *m, int globalElem) |
CLINKAGE void | FEM_Add_ghost_stencil (int nElts, int addNodes, const int *ends, const int *adj) |
FLINKAGE void | FTN_NAME (FEM_ADD_GHOST_STENCIL, fem_add_ghost_stencil) |
CLINKAGE void | FEM_Add_ghost_layer (int nodesPerTuple, int doAddNodes) |
FLINKAGE void | FTN_NAME (FEM_ADD_GHOST_LAYER, fem_add_ghost_layer) |
static void | add_ghost_elem (int elType, int tuplesPerElem, const int *elem2tuple, int idxBase) |
CLINKAGE void | FEM_Add_ghost_elem (int elType, int tuplesPerElem, const int *elem2tuple) |
FLINKAGE void | FTN_NAME (FEM_ADD_GHOST_ELEM, fem_add_ghost_elem) |
CLINKAGE void | FEM_Update_ghost_field (int fid, int elType, void *v_data) |
FLINKAGE void | FTN_NAME (FEM_UPDATE_GHOST_FIELD, fem_update_ghost_field) |
CLINKAGE void | FEM_Exchange_ghost_lists (int elemType, int nIdx, const int *localIdx) |
FLINKAGE void | FTN_NAME (FEM_EXCHANGE_GHOST_LISTS, fem_exchange_ghost_lists) |
CLINKAGE int | FEM_Get_ghost_list_length (void) |
FLINKAGE int | FTN_NAME (FEM_GET_GHOST_LIST_LENGTH, fem_get_ghost_list_length) |
CLINKAGE void | FEM_Get_ghost_list (int *dest) |
FLINKAGE void | FTN_NAME (FEM_GET_GHOST_LIST, fem_get_ghost_list) |
static void | getRoccomPconn (IDXL_Side_t is, int bias, CkVec< int > &pconn, const int *paneFmChunk) |
Extract an IDXL_Side_t into Roccom format. | |
static CkVec< int > | getRoccomPconn (int fem_mesh, int *ghost_len, const int *paneFmChunk) |
Extract all FEM communication information into Roccom format. | |
CLINKAGE void | FEM_Get_roccom_pconn_size (int fem_mesh, int *total_len, int *ghost_len) |
FORTRAN_AS_C (FEM_GET_ROCCOM_PCONN_SIZE, FEM_Get_roccom_pconn_size, fem_get_roccom_pconn_size,(int *mesh, int *tl, int *gl),(*mesh, tl, gl)) CLINKAGE void FEM_Get_roccom_pconn(int fem_mesh | |
int | commState (int entityNo, const IDXL_Side &s) |
CLINKAGE void | FEM_Make_node_globalno (int fem_mesh, FEM_Comm_t comm_context) |
Based on shared node communication list, compute FEM_NODE FEM_GLOBALNO and FEM_NODE_PRIMARY. | |
FORTRAN_AS_C (FEM_MAKE_NODE_GLOBALNO, FEM_Make_node_globalno, fem_make_node_globalno,(int *mesh, int *comm),(*mesh,*comm)) class localToGlobal | |
CLINKAGE void | FEM_Add_elem2face_tuples (int fem_mesh, int elem_type, int nodesPerTuple, int tuplesPerElem, const int *elem2tuple) |
Variables | |
int | femVersion = 1 |
static CmiNodeLock | femLock = 0 |
int | partNo |
int | tag |
const int * | paneFmChunk |
void FEM_Abort | ( | const char * | msg | ) |
Definition at line 17 of file fem.C.
Referenced by splitter::addGhostPair(), FEM_Mesh_list::bad(), FEM_Sparse_Elem_Checker::check(), FEM_Elem_Conn_Checker::check(), checkIsSet(), splitter::consistencyCheck(), splitter::copySparseChunks(), FEM_Entity::create(), FEM_Abort(), FEM_Index_Check(), FEM_Is_NULL(), FEM_openMeshFile(), FORTRAN_AS_C(), FEM_chunk::get(), FEMchunk::get(), FEM_Mesh::lookup(), and type2base().
CLINKAGE void pupFEM_Chunk | ( | pup_er | cp | ) |
Definition at line 36 of file fem.C.
References c, FEM_globalID, PUP::er::isDeleting(), p, FEMchunk::pup(), TCHARM_Get_global(), and TCHARM_Set_global().
Referenced by FEM_Init(), and pupFEM_Chunk().
void FEM_Init | ( | FEM_Comm_t | defaultComm | ) |
Initialize the FEM framework (must have called MPI_Init).
Definition at line 53 of file fem.C.
Referenced by FTN_NAME().
int FEM_Mesh_allocate | ( | void | ) |
mesh creation functions
Definition at line 81 of file fem.C.
Referenced by FTN_NAME().
FORTRAN_AS_C_RETURN | ( | int | , | |
FEM_MESH_ALLOCATE | , | |||
FEM_Mesh_allocate | , | |||
fem_mesh_allocate | , | |||
(void) | , | |||
() | ||||
) |
Return a new'd copy of this class, by calling pup.
Definition at line 89 of file fem.C.
References buf, PUP::fromMemBuf(), len, PUP::size(), and PUP::toMemBuf().
build new mesh
Definition at line 104 of file fem.C.
Referenced by FEM_master_parallel_part(), FEM_Mesh_partition(), and FEM_slave_parallel_part().
Definition at line 109 of file fem.C.
References c, caller, FEM_T_List< T >::destroy(), FEMchunk::get(), and FEMchunk::meshes.
FORTRAN_AS_C | ( | FEM_MESH_DEALLOCATE | , | |
FEM_Mesh_deallocate | , | |||
fem_mesh_deallocate | , | |||
(int *m) | , | |||
* | m | |||
) | const |
static void clearPartition | ( | void | ) | [static] |
Definition at line 173 of file fem.C.
Referenced by FEM_Mesh_Parallel_broadcast(), and FEM_Mesh_partition().
static void FEM_Mesh_partition | ( | FEM_Mesh * | src, | |
int | _nchunks, | |||
FEM_Mesh_Output * | out | |||
) | [static] |
Definition at line 202 of file fem.C.
References clearPartition(), FEM_curPartition(), FEM_Mesh_split(), and FEM_Mesh::setAscendingGlobalno().
Referenced by FEM_Mesh_broadcast(), FEM_Mesh_partition(), FEM_Serial_split(), and FEM_Partition::getPartition().
FORTRAN_AS_C | ( | FEM_MESH_PARTITION | , | |
FEM_Mesh_partition | , | |||
fem_mesh_partition | , | |||
(int *mesh, int *nParts, int *dest) | , | |||
*,*, | dest | |||
) |
int FEM_Mesh_broadcast | ( | int | fem_mesh, | |
int | masterRank, | |||
FEM_Comm_t | comm_context | |||
) |
Definition at line 301 of file fem.C.
Referenced by FTN_NAME().
FORTRAN_AS_C_RETURN | ( | int | , | |
FEM_MESH_BROADCAST | , | |||
FEM_Mesh_broadcast | , | |||
fem_mesh_broadcast | , | |||
(int *mesh, int *rank, int *comm) | , | |||
*,*,* | comm | |||
) |
n | ( | n_ | ) |
addNodes | ( | addNodes_ | ) |
Referenced by FEM_Ghost_Layer::pup(), and FEM_Ghost_Stencil::wantNodes().
ends | ( | new | int[n] | ) |
Referenced by adj(), and FEM_Ghost_Stencil::getNeighbor().
adj | ( | new int] | [2 *userEnds[n-1] | ) |
Definition at line 871 of file fem.C.
References ends().
Referenced by adj(), copyOut(), fillAdjArray(), FTN_NAME(), FEM_Ghost_Stencil::getNeighbor(), printOut(), sortAdjArrays(), and BulkAdapt::update_local_edge_adj().
void FEM_Add_ghost_stencil_type | ( | int | elType, | |
int | nElts, | |||
int | addNodes, | |||
const int * | ends, | |||
const int * | adj2 | |||
) |
Definition at line 892 of file fem.C.
Referenced by FEM_Add_ghost_stencil().
FLINKAGE void FTN_NAME | ( | FEM_ADD_GHOST_STENCIL_TYPE | , | |
fem_add_ghost_stencil_type | ||||
) |
Definition at line 900 of file fem.C.
References FEM_Partition::addGhostStencil(), FEM_curPartition(), and PUP::s.
Definition at line 911 of file fem.C.
References FEM_Mesh::elem, FEM_Entity_Types< T >::has(), FEM_Entity_Types< T >::size(), and PUP::t.
Referenced by FEM_Add_ghost_stencil().
Definition at line 929 of file fem.C.
Referenced by FTN_NAME().
FLINKAGE void FTN_NAME | ( | FEM_ADD_GHOST_STENCIL | , | |
fem_add_ghost_stencil | ||||
) |
Definition at line 966 of file fem.C.
References adj(), and FEM_Add_ghost_stencil().
Definition at line 978 of file fem.C.
Referenced by FTN_NAME(), and init().
FLINKAGE void FTN_NAME | ( | FEM_ADD_GHOST_LAYER | , | |
fem_add_ghost_layer | ||||
) |
Definition at line 985 of file fem.C.
References FEM_Add_ghost_layer().
static void add_ghost_elem | ( | int | elType, | |
int | tuplesPerElem, | |||
const int * | elem2tuple, | |||
int | idxBase | |||
) | [static] |
Definition at line 989 of file fem.C.
References CkCopyArray(), FEM_Partition::curLayer(), FEM_Ghost_Layer::elem, FEM_curPartition(), and FEM_Ghost_Layer::nodesPerTuple.
Referenced by FEM_Add_ghost_elem(), and FTN_NAME().
FLINKAGE void FTN_NAME | ( | FEM_ADD_GHOST_ELEM | , | |
fem_add_ghost_elem | ||||
) |
Definition at line 1003 of file fem.C.
References add_ghost_elem().
Definition at line 1007 of file fem.C.
Referenced by FEM_Adapt_Algs::FEM_mesh_smooth(), FEM_REFINE2D_Newmesh(), and FTN_NAME().
FLINKAGE void FTN_NAME | ( | FEM_UPDATE_GHOST_FIELD | , | |
fem_update_ghost_field | ||||
) |
Definition at line 1022 of file fem.C.
References data, and FEM_Update_ghost_field().
FLINKAGE void FTN_NAME | ( | FEM_EXCHANGE_GHOST_LISTS | , | |
fem_exchange_ghost_lists | ||||
) |
Definition at line 1106 of file fem.C.
References FEMchunk::exchangeGhostLists(), and FEMchunk::get().
int FEM_Get_ghost_list_length | ( | void | ) |
Definition at line 1112 of file fem.C.
Referenced by FEM_Get_ghost_list(), and FTN_NAME().
FLINKAGE int FTN_NAME | ( | FEM_GET_GHOST_LIST_LENGTH | , | |
fem_get_ghost_list_length | ||||
) |
Definition at line 1117 of file fem.C.
References FEM_Get_ghost_list_length().
FLINKAGE void FTN_NAME | ( | FEM_GET_GHOST_LIST | , | |
fem_get_ghost_list | ||||
) |
Definition at line 1128 of file fem.C.
References FEMchunk::emptyList(), FEM_Get_ghost_list_length(), FEMchunk::get(), FEMchunk::getList(), and CkVec< T >::getVec().
static void getRoccomPconn | ( | IDXL_Side_t | is, | |
int | bias, | |||
CkVec< int > & | pconn, | |||
const int * | paneFmChunk | |||
) | [static] |
Extract an IDXL_Side_t into Roccom format.
Definition at line 1142 of file fem.C.
References nn, and CkVec< T >::push_back().
Referenced by FEM_Get_roccom_pconn_size(), and getRoccomPconn().
static CkVec<int> getRoccomPconn | ( | int | fem_mesh, | |
int * | ghost_len, | |||
const int * | paneFmChunk | |||
) | [static] |
Extract all FEM communication information into Roccom format.
Definition at line 1159 of file fem.C.
References FEM_Comm_ghost(), FEM_Comm_shared(), FEM_Mesh_get_entities(), FEM_Mesh_get_length(), getRoccomPconn(), IDXL_Create(), and CkVec< T >::size().
FORTRAN_AS_C | ( | FEM_GET_ROCCOM_PCONN_SIZE | , | |
FEM_Get_roccom_pconn_size | , | |||
fem_get_roccom_pconn_size | , | |||
(int *mesh, int *tl, int *gl) | , | |||
*,, | gl | |||
) |
Definition at line 1252 of file fem.C.
References FEM_My_partition(), IDXL_Side::getRec(), and r.
Referenced by FEM_Make_node_globalno().
void FEM_Make_node_globalno | ( | int | fem_mesh, | |
FEM_Comm_t | comm_context | |||
) |
FORTRAN_AS_C | ( | FEM_MAKE_NODE_GLOBALNO | , | |
FEM_Make_node_globalno | , | |||
fem_make_node_globalno | , | |||
(int *mesh, int *comm) | , | |||
*,* | comm | |||
) |
Definition at line 1324 of file fem.C.
References FEM_Entity::getGlobalno(), and PUP::l.
void FEM_Add_elem2face_tuples | ( | int | fem_mesh, | |
int | elem_type, | |||
int | nodesPerTuple, | |||
int | tuplesPerElem, | |||
const int * | elem2tuple | |||
) |
Definition at line 1422 of file fem.C.
Referenced by FEM_ADAPT_Init().
int femVersion = 1 |
Definition at line 10 of file fem.C.
Referenced by allocated(), FEM_Entity::FEM_Entity(), FEM_Entity::pup(), FEM_Attribute::pup(), FEM_Attribute::pupSingle(), read_version(), FEM_Attribute::register_data(), FEM_Attribute::set(), FEM_Attribute::tryAllocate(), and write_version().
CmiNodeLock femLock = 0 [static] |
const int* paneFmChunk |