GiD is a general purpose pre-postprocessor for computer analysis. All the data, geometry and mesh generation can be performed inside. Also, the visualization of all types of results can be performed. It is easy customizable and adaptable by the final user.
It can be adapted to an analysis by the creation of a 'problem type'. In this problem type, it is explained to GiD how are the boundary conditions, materials and al the information needed for the analysis. It is also shown to GiD how is the format of the input file of the analysis program.
There is a second level of adaptation where, by the means of the TCL/TK scripting language, it is possible to change the look and fell of the program and add some functionality to it (until a certain point).
You can get more information in http://www.gidhome.com/whats-gid