GiD - The personal pre and post processor


From version 2.8 to 2.9

  • GiD_fWriteCoordinates*Block() Added coordinates block function to write array of coordinates with a single call.
  • GiD_fWriteElements*Block() Added elements block function to write array of element's connectivities with a single call.
  • GiD_fWriteResultBlock() Added result block function to write array of result values with a single call.
  • GiD_PostGetVersion() added to return library version, and if hdf5 is enabled, hdf5 library version too.
  • GiD_PostIsThreadSafe( format) : function which returns if format is thread-safe, i.e. several files with this format can be opened and written at the same time. For instance, some HDF5 compilations are not thread-safe, and can not be used to write several hdf5 files at the same time from the same program.
  • gidpost-swig/ : to use gidpost library as python module.
  • several corrected bugs in library.
  • updated some C and Fortran examples to use the new GiD_fWrite*Block functions.
  • updated examples/CmakeLists.txt to include and build more examples.
  • updated documentation.

From version 2.7 to 2.8

  • CMake updated and corrected to compile fortran90 example.
  • Added functions to allow the user to add mesh and result properties / attributes:
     User defined properties defined inside Mesh or Result blocks
       HDF5: stored as properties/attributes (Name, value) of the current Mesh/N or Result/N folder
       ASCII / raw binary: stored as comments
         # Name: value
       to have it like compassis wants:
         # ResultUserDefined \"%s\" \"%s\"      or
         # ResultUserDefined \"%s\" %s
    int GiD_WriteMeshUserAttribute(GP_CONST char * Name,GP_CONST char * Value);
    int GiD_fWriteMeshUserAttribute( GiD_FILE fd, GP_CONST char *Name, GP_CONST char *Value );
    int GiD_WriteResultUserAttribute( GP_CONST char *Name, GP_CONST char *Value );
    int GiD_fWriteResultUserAttribute( GiD_FILE fd, GP_CONST char *Name, GP_CONST char *Value );

From version 2.6 to 2.7

  • Added support for MeshGroups ( BeginMeshGroup(), End..., BeginOnMeshGroup(), End...) in HDF5 as used in GiD, useful for dynamic meshes, refinement, multi-stage simulation, etc.
  • All non implemented functions for HDF5 now return -1, i.e. all GiD_fXXX() functions.

From version 2.5 to 2.6

  • Added support for ComplexMatrix Result types.
  • More exhaustive example and some corrections.

From version 2.4 to 2.5

  • Default format to print real numbers changed from "%g" to "%.9g" increasing the amount of significant digits to be printed in ASCII.
  • New function GiD_PostSetFormatReal to allow change the default format of real numbers.

From version 2.3 to 2.4

  • Allow write OnNurbsSurface results for iso-geometrical analysis

From version 2.1 to 2.3

  • Allow use HD5 from FORTRAN interface
  • Fixed bug with mesh group

From version 2.0 to 2.1

  • Allow write complex scalar and complex vector results
  • Write units of mesh or results
  • Enhanced FORTRAN 77 and 90 interface to be more compatible.

From version 1.7.2 to 2.0

  • New set of functions "GiD_fxxx" that allow specify the file to write, in case of have multiple files of mesh or results.
  • Library rewritten in C avoiding C++ to be more compatible linking with other languages.
  • Optional define of HDF5 to enable write postprocess files using the HDF5 library

Old changes

  • Updated cfortran to release 4.4
  • changing to release 1.8
  • M build/Jamroot, source/gidpost.cpp source/gidpostInt.h: removedC++ dependencies.
  • source/gidpost.cpp:
  • GiD_OpenPostMeshFile should not write a header. Thanks to Janosch Stascheit <>
  • invalid access in GiD_BeginMeshGroup: should ensure that a valid mesh file object is available so etMeshFile() should be called
    before writing. Thanks to Janosch Stascheit<> for providing the fix.
  • source/gidpost.cpp: GiD_BeginOnMeshGroup should be "OnGroup\"%s\"" instead of "Group \"%s\"". Thanks to Janosch Stascheit
  • source/gidpost.cpp: GiD_WritePlainDefMatrix can be written in binary files.
  • GiD_Sphere and GiD_Circle
  • source/ Write2DMatrix is now available on binary format, Z component is set to 0.
  • source/gidpostfor.c: bug reported by a user:GiD_Begin3DMatResult must be ncomp = SetupComponents(6, not 4Factoring fortran declaration in gidpostfor.h
    Defining symbols for both gcc and icc.
  • doc/*:
  • sources/gidpost.cpp,gidpost.h: included pyramid element.
  • tag 1.7: rel_1_7
  • examples/testpost.c: fixed a bug, AsciiZipped must has the mesh
    file in ascii format.
  • gidpost.h: dllexport.
  • all: GiD_BeginMeshColor, GiD_BeginMeshGroup, GiD_EndMeshGroup,
    GiD_BeginOnMeshGroup, GiD_EndOnMeshGroup
  • doc:
  • gidpost.h : documented GiD_ResultDescriptionDim
  • gidpost* : added support to new type specification for result
    groups. The type could be Type:dim, where Type is one valid result
    type and dim is a number giving a valid dimension. Updated fortran
    interface for recently added functions.
  • all: new version 1.60. "Result Groups" can now be written. The
    macro USE_CONST can be used to enable (if defined) or disable (if not defined) the use of const char* arguments.
  • all: ha sido un error cambiar de 'char *' a 'const char *'
  • gidpost.cpp: flag_begin_values = 0; must be set in
  • gidpost.h:
  • gidpost.cpp: values_location_{min,max} not needed, CBufferValue
  • gidpostInt.cpp: now controls the types of results written within
  • gidpostInt.h: a ResultGroup.
  • gidpost.cpp: in GiD_WriteVectorModule, when writing if we are
    inside a ResultGroup block the module value is ignored.
  • gidpostInt.cpp: in CBufferValues::WriteValues, buffer overflow
    is checked after checking for change in location.
  • gidpost.cpp:
  • gidpostInt.cpp:
  • gidpostInt.h: fixed a bug when writing results in a "Result
    Group", vectors can be 3 or 4 component long.
  • examples/testpost.c : bug when passing location id in result
    group sample code.
  • source/gidpost.{h,cpp} including Prism element
  • doc/gidpost.{html,subst} including Prism element documentation.
  • all: change to version 1.52
  • all: constification, version change from 1.5 to 1.51
  • source/gidpostInt.cpp: fixed a bug when writing 3D vectors.
  • source/gidpost.cpp added const char and a filter to remove
    double quotes from names which can cause problems within gid.
  • doc/gidpost.html : commented the GiD_ResultUnit
  • source/gidpost.h : interface because it is not
  • source/gidpostfor.c: supported yet inside GiD.
  • doc/gidpost.html: updated documentation for release 1.5
  • binary/gidpost.lib: binary release for windows
  • gidpost.h:
  • gidpost.cpp:
  • gidpostfor.c: new function 'GiD_WriteCoordinates2D' (to write
    coordinates in 2D but only in ASCII format, the function can be
    used in binary but the library provide the 'z' coordinate a zero.
  • gidpost.h:
  • gidpost.cpp: removed 'char * UnitName' argument , new functions:
    GiD_BeginResultHeader, GiD_ResultRange, GiD_ResultComponents,
    GiD_ResultUnit, GiD_BeginResultGroup, GiD_ResultDescription,
    GiD_ResultValues, GiD_FlushPostFile. Validation in debug mode.
  • gidpostInt.h:
  • gidpostInt.cpp: new member
    CPostFile::WriteValues( int id, int n, double * buffer), new class
    CBufferValues to write the values in a result group, validation in
    debug mode.

  • gidpostfor.c: updated fortran interface for the new
  • testpost.c:
  • testpostfor.f: added test code for the new functionality.