Release Note v137

RELEASE DATE: January 4, 2012

[FMDB] Repo: http://redmine.scorec.rpi.edu/anonsvn/fmdb/software/trunk/FMDB
[SCUtil] Repo: http://redmine.scorec.rpi.edu/anonsvn/fmdb/software/trunk/SCORECUtil
[GMI] Repo: http://redmine.scorec.rpi.edu/anonsvn/gmi/trunk

Constraints

  • single partition (communicator) per process
  • the same number of parts per mesh instance

Known Bugs/Issues

See Issue Tickets.

Bug Fixes

  • [FMDB] (#323) Incorrect # owned mesh entities after multi-part distribution
  • [iMesh-FMDB] valgrind error with perfTest example run

New API/Features

  • [FMDB.h] given global part id, getting process rank of the part
        int FMDB_Part_GetRank (int partID, int* rank);
    
  • [FMDB.h] manual part boundary update
     // get entity's remote copies. If no remote copy exists on the part, returns error.
     int FMDB_Ent_GetAllRmt (pMeshEnt meshEnt, std::vector<std::pair<int, pMeshEnt>  >&  vecRmt);

     // get entity's remote copy on a specific part. If no remote copy exists on the part, 
     // returns error.
     int FMDB_Ent_GetRmt(pMeshEnt&  meshEnt, int global_partid, pMeshEnt&  rmtEnt);

     // set or overwrite entity's remote copy on a specific part. If NULL is given for "rmtEnt",
     // existing remote copy on the part is deleted.
     int FMDB_Ent_AddRmt(pMeshEnt meshEnt, int global_partid, pMeshEnt rmtEnt);

     // remove entity's remote copy on a specific part. If no remote copy exists on the part, 
     // returns error. 
     int FMDB_Ent_RmvRmt (pMeshEnt meshEnt, int global_partid);

     // remove entity's remote copy changing it to internal entity. 
     int FMDB_Ent_ClrRmt (pMeshEnt meshEnt);

     // synchronize the global part ids and part partition classification per mesh entity. 
     // This should be called after liberal part creation done through FMDB_Mesh_CreatePart 
     // or part boundary change by FMDB_Ent_(Add|Rmv|Clr)Rmt */
     int FMDB_Mesh_SyncPtn (pMeshMdl mesh);

Modified API/Features

  • [FMDB.h] printing mesh/entity information
        // OLD
        int FMDB_Mesh_DspAllEnt (pMeshMdl mesh);
        int FMDB_Ent_DspInfo (pMeshEnt ent);
    
        // NEW
        int FMDB_Mesh_DspInfo (pMeshMdl mesh);
        int FMDB_Ent_DspInfo (pPart part, pMeshEnt ent);
    
  • [FMDB.h] entity's owning part information
        // OLD
        FMDB_Ent_GetOwnPartID(pMeshEnt meshEnt, int* partID);
        FMDB_Ent_GetOwnEnt(pMeshEnt meshEnt, pMeshEnt& owner);
    
        // NEW
        FMDB_Ent_GetOwnPartID(pMeshEnt meshEnt, pPart part, int* partID);
        FMDB_Ent_GetOwnEnt(pMeshEnt meshEnt, pPart part, pMeshEnt& owner);
    
  • [FMDB.h] setting/getting max # parts per mesh instance on local process
        // OLD
        int FMDB_Mesh_SetNumPart (pMeshMdl mesh, int numPart);
    
        // NEW
        int FMDB_Mesh_SetMaxNumPart (pMeshMdl mesh, int maxNumPart);
        int FMDB_Mesh_GetMaxNumPart (pMeshMdl mesh, int* maxNumPart);
    
  • [FMDB.h] setting remote copy of mesh entity
        // OLD
        int FMDB_Ent_AddRmt (pMeshEnt meshEnt, int partID, pMeshEnt rmtMeshEnt);
    
        // NEW
        int FMDB_Ent_SetRmt (pMeshEnt meshEnt, int partID, pMeshEnt rmtMeshEnt);
    

Removed Fuctions/Files

  • [FMDB_cint.h] void EN_print (pEntity)
  • [FMDB_cint.h] bool M_verify (pPart);
  • [FMDB_Internals.h] bool M_PrintAdjacencyInfo(pPart,int,int);
  • [FMDB_Internals.h] void M_PrintNumEntitiesInfo(pPart);
  • [FMDB_Internals.h] void M_PrintEntityInfo(pMeshEnt);

Build Change/Note

- NONE

Old vs. New API Table

Sample Programs

Prev Release
Next Release

Back to Top...