Release Note v131

TARGET DATE: May 16

Repo: http://redmine.scorec.rpi.edu/svn/fmdb/software/branches/v1.3.1RC/FMDB

Constraints

  • single part per mesh instance
  • single partition per process
  • test version for itaps support (No SCOREC use)
  • No SCOREC MeshAdapt Compatibility (Please use v1.3.0 in trunk repo for MeshAdapt run)

Bug Fixes

New API/Features

  • enum type for entity type, topology and status
        typedef enum FMDB_EntType {/*0*/FMDB_VERTEX=0, /*1*/FMDB_EDGE,   /*2*/FMDB_FACE,
                                /*3*/FMDB_REGION,   /*4*/FMDB_ALLTYPE};
        typedef enum FMDB_EntTopo {/*0*/FMDB_POINT=0,  /*1*/FMDB_LINE,   /*2*/FMDB_POLYGON, 
                                /*3*/FMDB_TRI,      /*4*/FMDB_QUAD,   /*5*/FMDB_POLYHEDRON,
                                /*6*/FMDB_TET,      /*7*/FMDB_HEX,    /*8*/FMDB_PRISM, 
                                /*9*/FMDB_PYRAMID,  /*10*/FMDB_SEPTA, /*11*/FMDB_ALLTOPO};
        typedef enum FMDB_EntStatus {/*0*/ FMDB_INTER=0, /*1*/ FMDB_BDRY,  /*2*/ FMDB_GHOST};
    
  • multiple mesh instances per process
  • partial iMeshP support
  • get/set MPI_Comm (not fully functional)
       int FMDB_SetComm (MPI_Comm comm);
       int FMDB_GetComm (MPI_Comm *comm);
    

Modified API/Features

  • entity set per mesh instance (prev: per part)
      <old>
         int FMDB_EntSet_NonPO_Create (pPart part, int isList, pEntSet& entSet);
         int FMDB_EntSet_Del (pPart part, pEntSet entSet);
      <new>
         int FMDB_EntSet_NonPO_Create (pMeshMdl mesh, int isList, pEntSet& entSet);
         int FMDB_EntSet_Del (pMeshMdl mesh, pPart part, pEntSet entSet);
    
  • tag iD per mesh instance (prev: per process)
    - tagging api takes mesh instance as input
  • tag file I/O applied only to tag made through FMDB.h
  • FMDB_Init(MPI_Comm) initializes MPI with given communicator if not initialized
      <old>
        int FMDB_Init(int &argc, char **&argv)
      <new>
        int FMDB_Init(MPI_Comm)
    
  • FMDB_Finalize(void) finalizes MPI if not finalized
  • GetNumEnt-kind functions take both entity type and topology
      <old>
        int FMDB_Part_GetNumEntType (pPart part, int type, int* numEnt);
        int FMDB_Part_GetNumEntTopo (pPart part, int topo, int* numEnt);
        int FMDB_Part_GetNumPartBdry (pPart part, int type, int* numEnt);
      <new> 
        int FMDB_Part_GetNumEnt (pPart part, int type, int topo, int* numEnt);
        int FMDB_Part_GetNumPartBdry (pPart part, int type, int topo, int* numEnt);
    
  • Iter_Init functions take both entity type and topology
      <old>
        int FMDB_PartIter_InitType (pPart part, int type, pPartIter& iter, pMeshEnt& meshEnt);
        int FMDB_PartIter_InitTopo (pPart part, int topo, pPartIter& iter, pMeshEnt& meshEnt);
        int FMDB_PartIter_InitPartBdry (pPart part, int destPart, int type, pPartIter& iter, pMeshEnt& meshEnt);
        int FMDB_EntSetIter_InitType (pEntSet entSet, int type, pEntSetIter& iter, pMeshEnt& meshEnt);
        int FMDB_EntSetIter_InitTopo (pEntSet entSet, int topo, pEntSetIter& iter, pMeshEnt& meshEnt);
      <new>
        int FMDB_PartIter_Init (pPart part, int type, int topo, pPartIter& iter, pMeshEnt& meshEnt);
        int FMDB_PartIter_InitPartBdry (pPart part, int destPart, int type, int topo, pPartIter& iter, pMeshEnt& meshEnt);
        int FMDB_EntSetIter_Init (pEntSet entSet, int type, int topo, pEntSetIter& iter, pMeshEnt& meshEnt);
    

Removed/ToBeRemoved Fuctions/Files

  • MARK (alternate: tagging functions)
    - include/oldFMDB.h: MarkID, EN_mark, EN_setMark
    - include/FMDBInternals.h: MD_registerMark, MD_markID,

Build Change/Note

build script changes
. --enable-imesh is turned on when ENABLE_IMESH is set to '1' in the environment
. --enable-imeshp and --enable-imesh are turned on when ENABLE_IMESHP is set to '1' in the environment

Prev Release
Next Release

Back to Top...