Go to the source code of this file.
Typedefs | |
typedef void(* | FEM_Update_mesh_fn )(int userTag) |
typedef void(* | FEM_Update_mesh_fortran_fn )(int *userTag) |
typedef void(* | FEM_PupFn )(pup_er, void *) |
typedef void(* | FEM_Mesh_alloc_fn )(void *param, int *size, int *maxSize) |
typedef int | FEM_Comm_t |
typedef void(* | FEM_Userdata_fn )(pup_er p, void *data) |
Functions | |
void | FEM_Init (FEM_Comm_t defaultCommunicator) |
Initialize the FEM framework (must have called MPI_Init). | |
void | FEM_Done (void) |
int | FEM_My_partition (void) |
int | FEM_Num_partitions (void) |
double | FEM_Timer (void) |
void | FEM_Print (const char *str) |
void | FEM_Print_partition (void) |
int | FEM_Mesh_allocate (void) |
mesh creation functions | |
int | FEM_Mesh_copy (int fem_mesh) |
build new mesh | |
void | FEM_Mesh_deallocate (int fem_mesh) |
int | FEM_Mesh_read (const char *prefix, int partNo, int nParts) |
void | FEM_Mesh_write (int fem_mesh, const char *prefix, int partNo, int nParts) |
int | FEM_Mesh_assemble (int nParts, const int *srcMeshes) |
void | FEM_Mesh_partition (int fem_mesh, int nParts, int *destMeshes) |
int | FEM_Mesh_recv (int fromRank, int tag, FEM_Comm_t comm_context) |
void | FEM_Mesh_send (int fem_mesh, int toRank, int tag, FEM_Comm_t comm_context) |
int | FEM_Mesh_reduce (int fem_mesh, int toRank, FEM_Comm_t comm_context) |
int | FEM_Mesh_broadcast (int fem_mesh, int fromRank, FEM_Comm_t comm_context) |
void | FEM_Mesh_copy_globalno (int src_mesh, int dest_mesh) |
void | FEM_Mesh_print (int fem_mesh) |
void | FEM_Mesh_set_conn (int fem_mesh, int entity, const int *conn, int firstItem, int length, int width) |
void | FEM_Mesh_get_conn (int fem_mesh, int entity, int *conn, int firstItem, int length, int width) |
void | FEM_Mesh_set_data (int fem_mesh, int entity, int attr, const void *data, int firstItem, int length, int datatype, int width) |
void | FEM_Mesh_get_data (int fem_mesh, int entity, int attr, void *data, int firstItem, int length, int datatype, int width) |
void | FEM_Mesh_conn (int fem_mesh, int entity, int *conn, int firstItem, int length, int width) |
int | FEM_Mesh_get_length (int fem_mesh, int entity) |
void | FEM_Mesh_data (int fem_mesh, int entity, int attr, void *data, int firstItem, int length, int datatype, int width) |
void | FEM_Mesh_data_layout (int fem_mesh, int entity, int attr, void *data, int firstItem, int length, IDXL_Layout_t layout) |
void | FEM_Mesh_data_offset (int fem_mesh, int entity, int attr, void *data, int firstItem, int length, int type, int width, int offsetBytes, int distanceBytes, int skewBytes) |
void | FEM_Register_array (int fem_mesh, int entity, int attr, void *data, int datatype, int width) |
void | FEM_Register_array_layout (int fem_mesh, int entity, int attr, void *data, IDXL_Layout_t layout) |
void | FEM_Register_entity (int fem_mesh, int entity, void *data, int len, int max, FEM_Mesh_alloc_fn fn) |
void | FEM_Mesh_set_length (int fem_mesh, int entity, int newLength) |
int | FEM_Mesh_get_width (int fem_mesh, int entity, int attr) |
void | FEM_Mesh_set_width (int fem_mesh, int entity, int attr, int newWidth) |
int | FEM_Mesh_get_datatype (int fem_mesh, int entity, int attr) |
int | FEM_Mesh_get_entities (int fem_mesh, int *entities) |
int | FEM_Mesh_get_attributes (int fem_mesh, int entity, int *attributes) |
const char * | FEM_Get_entity_name (int entity, char *storage) |
Return the human-readable version of this entity code, like "FEM_NODE". | |
const char * | FEM_Get_attr_name (int attr, char *storage) |
Return the human-readable version of this attribute code, like "FEM_CONN". | |
const char * | FEM_Get_datatype_name (int datatype, char *storage) |
int | FEM_Mesh_is_get (int fem_mesh) |
int | FEM_Mesh_is_set (int fem_mesh) |
void | FEM_Mesh_become_get (int fem_mesh) |
void | FEM_Mesh_become_set (int fem_mesh) |
void | FEM_Mesh_pup (int fem_mesh, int dataTag, FEM_Userdata_fn fn, void *data) |
void | FEM_Add_ghost_layer (int nodesPerTuple, int doAddNodes) |
void | FEM_Add_ghost_elem (int elType, int tuplesPerElem, const int *elem2tuple) |
void | FEM_Add_ghost_stencil (int nElts, int addNodes, const int *ends, const int *adj) |
void | FEM_Add_ghost_stencil_type (int elType, int nElts, int addNodes, const int *ends, const int *adj2) |
void | FEM_Add_elem2face_tuples (int fem_mesh, int elem_type, int nodesPerTuple, int tuplesPerElem, const int *elem2tuple) |
Register a set of tuples for a single element type Must be called once for each element type. | |
void | FEM_Add_linear_periodicity (int nFaces, int nPer, const int *facesA, const int *facesB, int nNodes, const double *nodeLocs) |
void | FEM_Sym_coordinates (int who, double *d_locs) |
void | FEM_Set_sym_nodes (const int *canon, const int *sym) |
void | FEM_Get_sym (int who, int *destSym) |
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. | |
IDXL_Layout_t | FEM_Create_simple_field (int base_type, int vec_len) |
IDXL_Layout_t | FEM_Create_field (int base_type, int vec_len, int init_offset, int distance) |
IDXL_t | FEM_Comm_shared (int fem_mesh, int entity) |
IDXL_t | FEM_Comm_ghost (int fem_mesh, int entity) |
void | FEM_Get_roccom_pconn_size (int fem_mesh, int *total_len, int *ghost_len) |
void | FEM_Get_roccom_pconn (int fem_mesh, const int *paneFmChunk, int *pconn) |
void | FEM_Set_roccom_pconn (int fem_mesh, const int *paneFmChunk, const int *src, int total_len, int ghost_len) |
int | FEM_Register (void *userData, FEM_PupFn _pup_ud) |
void | FEM_Migrate (void) |
void * | FEM_Get_userdata (int n) |
void | FEM_Barrier (void) |
void | init (void) |
void | driver (void) |
void | FEM_Mesh_create_node_elem_adjacency (int fem_mesh) |
void | FEM_Mesh_create_node_node_adjacency (int fem_mesh) |
void | FEM_Mesh_create_elem_elem_adjacency (int fem_mesh) |
void | FEM_Print_n2n (int mesh, int nodeid) |
void | FEM_Print_n2e (int mesh, int nodeid) |
void | FEM_Print_e2e (int mesh, int eid) |
void | FEM_Print_e2n (int mesh, int eid) |
void | FEM_Mesh_allocate_valid_attr (int fem_mesh, int entity_type) |
void | FEM_set_entity_valid (int mesh, int entityType, int entityIdx) |
void | FEM_set_entity_invalid (int mesh, int entityType, int entityIdx) |
int | FEM_is_valid (int mesh, int entityType, int entityIdx) |
unsigned int | FEM_count_valid (int mesh, int entityType) |
void | FEM_set_entity_coord2 (int mesh, int entityType, int entityIdx, double x, double y) |
void | FEM_set_entity_coord3 (int mesh, int entityType, int entityIdx, double x, double y, double z) |
int | FEM_Mesh_default_read (void) |
int | FEM_Mesh_default_write (void) |
void | FEM_Mesh_set_default_read (int fem_mesh) |
void | FEM_Mesh_set_default_write (int fem_mesh) |
void | FEM_Exchange_ghost_lists (int who, int nIdx, const int *localIdx) |
int | FEM_Get_ghost_list_length (void) |
void | FEM_Get_ghost_list (int *dest) |
void | FEM_Update_field (int fid, void *nodes) |
void | FEM_Update_ghost_field (int fid, int elTypeOrMinusOne, void *nodes) |
void | FEM_Reduce_field (int fid, const void *nodes, void *outbuf, int op) |
void | FEM_Reduce (int fid, const void *inbuf, void *outbuf, int op) |
void | FEM_Read_field (int fid, void *nodes, const char *fname) |
void | FEM_Set_node (int nNodes, int doublePerNode) |
void | FEM_Set_node_data (const double *data) |
void | FEM_Set_elem (int elType, int nElem, int doublePerElem, int nodePerElem) |
void | FEM_Set_elem_data (int elType, const double *data) |
void | FEM_Set_elem_conn (int elType, const int *conn) |
void | FEM_Set_sparse (int uniqueIdentifier, int nRecords, const int *nodes, int nodesPerRec, const void *data, int dataPerRec, int dataType) |
void | FEM_Set_sparse_elem (int uniqueIdentifier, const int *rec2elem) |
void | FEM_Get_node (int *nNodes, int *doublePerNode) |
void | FEM_Get_node_data (double *data) |
void | FEM_Get_elem (int elType, int *nElem, int *doublePerElem, int *nodePerElem) |
void | FEM_Get_elem_data (int elType, double *data) |
void | FEM_Get_elem_conn (int elType, int *conn) |
int | FEM_Get_sparse_length (int uniqueIdentifier) |
void | FEM_Get_sparse (int uniqueIdentifier, int *nodes, void *data) |
void | FEM_Set_mesh (int nelem, int nnodes, int nodePerElem, int *conn) |
int | FEM_Get_node_ghost (void) |
int | FEM_Get_elem_ghost (int elemType) |
void | FEM_Update_mesh (FEM_Update_mesh_fn callFn, int userValue, int doWhat) |
void | FEM_Set_partition (int *elem2chunk) |
int | FEM_add_node (int mesh, int *adjacent_nodes=0, int num_adjacent_nodes=0, int *chunks=0, int numChunks=0, int forceShared=0, int upcall=0) |
int | FEM_add_element (int mesh, int *conn, int conn_size, int elem_type=0, int chunkNo=-1) |
void | FEM_remove_node (int mesh, int node) |
int | FEM_remove_element (int mesh, int element, int elem_type=0, int permanent=-1) |
int | FEM_purge_element (int mesh, int element, int elem_type=0) |
int | FEM_Modify_Lock (int mesh, int *affectedNodes, int numAffectedNodes, int *affectedElts=0, int numAffectedElts=0, int elemtype=0) |
int | FEM_Modify_Unlock (int mesh) |
int | FEM_Modify_LockN (int mesh, int nodeId, int readLock) |
int | FEM_Modify_UnlockN (int mesh, int nodeId, int readLock) |
void | FEM_REF_INIT (int mesh, int dim) |
void | FEM_Print_Mesh_Summary (int mesh) |
Prints the mesh summary, i.e. | |
void | FEM_Serial_split (int nchunks) |
void | FEM_Serial_begin (int chunkNo) |
void | FEM_Serial_read (int chunkNo, int nChunks) |
void | FEM_Serial_assemble (void) |
int | FEM_Get_comm_partners (void) |
int | FEM_Get_comm_partner (int partnerNo) |
int | FEM_Get_comm_count (int partnerNo) |
void | FEM_Get_comm_nodes (int partnerNo, int *nodeNos) |
typedef void(* FEM_Update_mesh_fn)(int userTag) |
typedef void(* FEM_Update_mesh_fortran_fn)(int *userTag) |
typedef void(* FEM_Mesh_alloc_fn)(void *param, int *size, int *maxSize) |
typedef int FEM_Comm_t |
void FEM_Done | ( | void | ) |
int FEM_My_partition | ( | void | ) |
Referenced by checkTriangle(), commState(), driver(), FEM_REFINE2D_Coarsen(), FEM_REFINE2D_Newmesh(), Bulk_Adapt::Refine_h(), resize_edges(), resize_elems(), and resize_nodes().
int FEM_Num_partitions | ( | void | ) |
double FEM_Timer | ( | void | ) |
void FEM_Print | ( | const char * | str | ) |
void FEM_Print_partition | ( | void | ) |
void FEM_Mesh_deallocate | ( | int | fem_mesh | ) |
int FEM_Mesh_recv | ( | int | fromRank, | |
int | tag, | |||
FEM_Comm_t | comm_context | |||
) |
void FEM_Mesh_send | ( | int | fem_mesh, | |
int | toRank, | |||
int | tag, | |||
FEM_Comm_t | comm_context | |||
) |
int FEM_Mesh_reduce | ( | int | fem_mesh, | |
int | toRank, | |||
FEM_Comm_t | comm_context | |||
) |
void FEM_Mesh_print | ( | int | fem_mesh | ) |
void FEM_Mesh_set_conn | ( | int | fem_mesh, | |
int | entity, | |||
const int * | conn, | |||
int | firstItem, | |||
int | length, | |||
int | width | |||
) |
Definition at line 76 of file fem_mesh.C.
void FEM_Mesh_get_conn | ( | int | fem_mesh, | |
int | entity, | |||
int * | conn, | |||
int | firstItem, | |||
int | length, | |||
int | width | |||
) |
Definition at line 91 of file fem_mesh.C.
void FEM_Mesh_get_data | ( | int | fem_mesh, | |
int | entity, | |||
int | attr, | |||
void * | data, | |||
int | firstItem, | |||
int | length, | |||
int | datatype, | |||
int | width | |||
) |
Referenced by IFEM_Solve_shared_comm::IFEM_Solve_shared_comm().
Definition at line 62 of file fem_mesh.C.
Referenced by FEM_Mesh_get_conn(), and FEM_Mesh_set_conn().
Referenced by derive_shared_nodes(), driver(), BulkAdapt::dumpConn(), FEM_Adapt_Algs::FEM_mesh_smooth(), FEM_REFINE2D_Coarsen(), FEM_REFINE2D_Newmesh(), FEM_REFINE2D_Split(), FEM_Refine_Operation(), FEM_Update_ghost_field(), getRoccomPconn(), IFEM_Solve_shared_comm::IFEM_Solve_shared_comm(), mesh_conn(), mesh_data(), ParFUM_recreateSharedNodes(), readFEM(), readGhostFEM(), and repeat_after_split().
void FEM_Mesh_data | ( | int | fem_mesh, | |
int | entity, | |||
int | attr, | |||
void * | data, | |||
int | firstItem, | |||
int | length, | |||
int | datatype, | |||
int | width | |||
) |
Definition at line 108 of file fem_mesh.C.
Referenced by derive_shared_nodes(), FEM_Mesh_conn(), FEM_Adapt_Algs::FEM_mesh_smooth(), FEM_REFINE2D_Newmesh(), FTN_NAME(), FEM_Adapt_Algs::GradateMesh(), mesh_conn(), mesh_data(), Bulk_Adapt::ParFUM_GradateMesh(), ParFUM_import_elems(), ParFUM_import_nodes(), ParFUM_recreateSharedNodes(), readFEM(), readGhostFEM(), and writeFEM().
void FEM_Mesh_data_offset | ( | int | fem_mesh, | |
int | entity, | |||
int | attr, | |||
void * | data, | |||
int | firstItem, | |||
int | length, | |||
int | type, | |||
int | width, | |||
int | offsetBytes, | |||
int | distanceBytes, | |||
int | skewBytes | |||
) |
void FEM_Register_array | ( | int | fem_mesh, | |
int | entity, | |||
int | attr, | |||
void * | data, | |||
int | datatype, | |||
int | width | |||
) |
Referenced by init(), resize_edges(), resize_elems(), and resize_nodes().
void FEM_Register_entity | ( | int | fem_mesh, | |
int | entity, | |||
void * | data, | |||
int | len, | |||
int | max, | |||
FEM_Mesh_alloc_fn | fn | |||
) |
Referenced by init(), resize_edges(), resize_elems(), and resize_nodes().
CLINKAGE const char * FEM_Get_entity_name | ( | int | entity, | |
char * | storage | |||
) |
Return the human-readable version of this entity code, like "FEM_NODE".
storage, which must be at least 80 bytes long, is used for non-static names, like the user tag "FEM_ELEM+2".
Definition at line 1039 of file fem_mesh.C.
CLINKAGE const char * FEM_Get_attr_name | ( | int | attr, | |
char * | storage | |||
) |
Return the human-readable version of this attribute code, like "FEM_CONN".
storage, which must be at least 80 bytes long, is used for non-static names, like the user tag "FEM_DATA+7".
Referenced by FEM_Entity::create(), and FEM_Entity::pup().
const char* FEM_Get_datatype_name | ( | int | datatype, | |
char * | storage | |||
) |
Referenced by FEM_REFINE2D_Split(), mesh_conn(), and mesh_data().
void FEM_Mesh_become_get | ( | int | fem_mesh | ) |
Referenced by ParFUM_import_elems(), ParFUM_import_nodes(), and ParFUM_recreateSharedNodes().
void FEM_Mesh_become_set | ( | int | fem_mesh | ) |
Referenced by ParFUM_import_elems(), and ParFUM_import_nodes().
void FEM_Mesh_pup | ( | int | fem_mesh, | |
int | dataTag, | |||
FEM_Userdata_fn | fn, | |||
void * | data | |||
) |
void FEM_Add_linear_periodicity | ( | int | nFaces, | |
int | nPer, | |||
const int * | facesA, | |||
const int * | facesB, | |||
int | nNodes, | |||
const double * | nodeLocs | |||
) |
Definition at line 393 of file symmetries.C.
void FEM_Sym_coordinates | ( | int | who, | |
double * | d_locs | |||
) |
Definition at line 414 of file symmetries.C.
Referenced by FTN_NAME().
Definition at line 439 of file symmetries.C.
Referenced by FEM_Make_node_globalno(), FEM_REFINE2D_Split(), FEM_Refine_Operation(), getRoccomPconn(), and IFEM_Solve_shared_comm::IFEM_Solve_shared_comm().
Referenced by FEM_Update_ghost_field(), and getRoccomPconn().
void FEM_Set_roccom_pconn | ( | int | fem_mesh, | |
const int * | paneFmChunk, | |||
const int * | src, | |||
int | total_len, | |||
int | ghost_len | |||
) |
void FEM_Migrate | ( | void | ) |
void* FEM_Get_userdata | ( | int | n | ) |
void FEM_Barrier | ( | void | ) |
void init | ( | void | ) |
Definition at line 2 of file compat_init.c.
void driver | ( | void | ) |
Definition at line 2 of file compat_driver.c.
void FEM_Mesh_create_node_elem_adjacency | ( | int | fem_mesh | ) |
void FEM_Mesh_create_node_node_adjacency | ( | int | fem_mesh | ) |
void FEM_Mesh_create_elem_elem_adjacency | ( | int | fem_mesh | ) |
Definition at line 1984 of file fem_mesh.C.
Referenced by Bulk_Adapt::Bulk_Adapt_Init(), FEM_ADAPT_Init(), and ParFUM_SA_Init().
Referenced by FEM_Adapt_Algs::FEM_mesh_smooth(), FEM_Adapt_Algs::GradateMesh(), and Bulk_Adapt::ParFUM_GradateMesh().
void FEM_set_entity_coord3 | ( | int | mesh, | |
int | entityType, | |||
int | entityIdx, | |||
double | x, | |||
double | y, | |||
double | z | |||
) |
int FEM_Mesh_default_read | ( | void | ) |
Referenced by driver(), FEM_Adapt_Algs::FEM_mesh_smooth(), FEM_Update_ghost_field(), FTN_NAME(), FEM_Adapt_Algs::GradateMesh(), Bulk_Adapt::ParFUM_GradateMesh(), repeat_after_split(), resize_edges(), resize_elems(), and resize_nodes().
int FEM_Mesh_default_write | ( | void | ) |
Referenced by FEM_Serial_split(), FTN_NAME(), and init().
void FEM_Mesh_set_default_read | ( | int | fem_mesh | ) |
void FEM_Mesh_set_default_write | ( | int | fem_mesh | ) |
void FEM_Update_field | ( | int | fid, | |
void * | nodes | |||
) |
void FEM_Read_field | ( | int | fid, | |
void * | nodes, | |||
const char * | fname | |||
) |
Definition at line 77 of file fem_compat.C.
void FEM_Set_node_data | ( | const double * | data | ) |
void FEM_Set_elem_data | ( | int | elType, | |
const double * | data | |||
) |
void FEM_Set_sparse | ( | int | uniqueIdentifier, | |
int | nRecords, | |||
const int * | nodes, | |||
int | nodesPerRec, | |||
const void * | data, | |||
int | dataPerRec, | |||
int | dataType | |||
) |
void FEM_Get_node_data | ( | double * | data | ) |
void FEM_Get_elem_data | ( | int | elType, | |
double * | data | |||
) |
int FEM_Get_node_ghost | ( | void | ) |
void FEM_Update_mesh | ( | FEM_Update_mesh_fn | callFn, | |
int | userValue, | |||
int | doWhat | |||
) |
Definition at line 350 of file fem_compat.C.
void FEM_Set_partition | ( | int * | elem2chunk | ) |
int FEM_add_node | ( | int | mesh, | |
int * | adjacent_nodes = 0 , |
|||
int | num_adjacent_nodes = 0 , |
|||
int * | chunks = 0 , |
|||
int | numChunks = 0 , |
|||
int | forceShared = 0 , |
|||
int | upcall = 0 | |||
) |
Definition at line 17 of file fem_mesh_modify.C.
References FEM_add_node().
Referenced by femMeshModify::addNodeRemote(), FEM_Adapt::edge_bisect_help(), FEM_add_node(), and FEM_Adapt::vertex_split_help().
Definition at line 1756 of file fem_mesh_modify.C.
References CkArrayOptions::bindTo(), CmiMemoryCheck(), comm, TCharm::get(), TCharm::getProxy(), PUP::m, meshMod, MPI_Bcast, MPI_Comm_rank, msg, and size.
Referenced by FEM_ADAPT_Init().
void FEM_Serial_split | ( | int | nchunks | ) |
Definition at line 373 of file fem_compat.C.
void FEM_Serial_begin | ( | int | chunkNo | ) |
void FEM_Serial_assemble | ( | void | ) |
int FEM_Get_comm_partners | ( | void | ) |