![]() |
Mesh Oriented datABase
(version 5.4.1)
Array-based unstructured mesh datastructure
|
00001 #ifndef IMESHP_REC_CBIND_H__
00002 #define IMESHP_REC_CBIND_H__
00003
00004 #include "iMeshP.h"
00005 #include "iMeshP_protos.h"
00006 #include "moab_mpi.h"
00007
00008 #ifdef __cplusplus
00009 extern "C" {
00010 #endif
00011
00012 /** \brief Convert a fortran to C communicator
00013 * Given a Fortran communicator, convert to a C communicator that can be passed back to iMeshP.
00014 * Though this is an iMeshP function, it doesn't take an iMeshP Partition handle, since the (C)
00015 * communicator is needed by the function that creates the partition.
00016 * COMMUNICATION: None.
00017 *
00018 * \param instance (In) Mesh instance to contain the partition.
00019 * \param fcomm (In) Pointer to fortran communicator
00020 * \param ccomm (Out) Pointer to the C communicator
00021 * \param err (Out) Error code.
00022 */
00023 void iMeshP_getCommunicator( iMesh_Instance instance, int* fcomm, MPI_Comm* ccomm, int* err );
00024
00025 /** \brief Assign a global id space to entities
00026 * Assign a global id space to entities and vertices, and optionally intermediate-dimension entities
00027 *
00028 * COMMUNICATION: Collective.
00029 */
00030 void iMeshP_assignGlobalIds( iMesh_Instance instance,
00031 const iMeshP_PartitionHandle partition,
00032 const iBase_EntitySetHandle this_set,
00033 const int dimension,
00034 const int start_id,
00035 const int largest_dim_only,
00036 const int parallel,
00037 const int owned_only,
00038 int* err );
00039
00040 #ifdef __cplusplus
00041 }
00042 #endif
00043
00044 #endif