This program uses the openGL library for visualization and the glut library [2] for window management and event handling. This results in very high speed if a hardware-accelerated openGL-library is available and still high speed for software-rendering (MesaGL,[1]).

The cgx has pre- and post-processor capabilities. It is able to generate and display beam, shell and brick elements in its linear and quadratic form (fig. 1), tets can be generated from within cgx if either TETGEN [5] or the program ng_vol (part of NETGEN [4]) is accessible (see also ”How to deal with CAD-geometry”). TETGEN comes with cgx.

The built-in mesher creates a structured mesh based on a description of the geometry. For example, it uses lines for beam elements, surfaces for shell elements and volumes (bodies) for brick elements. The program distinguishes between the mesh and the underlying geometry. Elements are made from faces and faces are made from nodes. If you move a node, the corresponding face(s) and element(s) will follow. The geometry behaves according to the mesh: Lines are made from points, surfaces are made from lines and bodies are made of surfaces. As a result, if you modify the position of a point, all related geometry will follow. In other words, if the location of geometric entities is changed, it is necessary to move the points on which the entities rely. It should be noted that faces exist only on free surfaces of the model.

In addition, entities can be grouped together to make sets. Sets are useful to handle parts of a model. For example, sets can be used to manipulate or display a few entities at a time (see also ”How to define a set of entities”).

A simple but powerful entity which can store values (character strings) is also available. This values can be derived from previous commands or calculated results by using an internal stack. Simple calculations can be performed. The values can be used to substitute parameters of subsequent commands. The user might measure a distance or calculate a distance and use this value to move a part of the mesh. Together with a 'while' loop, an 'if' case distinguishing command and the possibility to use system calls via the 'sys' command, elaborated batch files can be written.

After a mesh is created in cgx, it needs written to a file for use with the solver. Likewise, several boundary conditions and loads can be written to files (see ”How to connect independent meshes”, ”How to define loads and constraints” and ”send”). These files need to be added into the control file for later use in ccx. Additional commands, material description and so on must be added with the help of an external editor. Existing fields like a pressure distribution or temperatures my be mapped from one mesh to another. Please see ”How to map loads” how to do that.

After the analysis is completed, the results can be visualized by calling the cgx program again in an independent session. The program is primary controlled by the keyboard with individual commands for each function. Only a subset of commands which are most important for post-processing is also available through a pop-up menu. Shaded animations of static and dynamic results, the common color plots and time history plots can be created. The outer faces can be switched off to make inner structures like a cavity visible or certain faces may be displayed in a transparent manner. Also, a cut through the model can be done which creates a section and it is possible to zoom through the model.

Skilled users might include their own functions. For example someone may need his own functions to manipulate the result-data or he may need an interface to read or write his own results format (see ”call”).

Both the pre- and post- processing can be automated in batch-mode (see ”How to run cgx in batch mode”).

The program searches the home directoy for a file named “.cgx”. The commands written there will be executed during startup. The user might store there ”menu” commands which link user written command files to the menu or other personal settings like “view cl” to switch the command line from the konsole to the graphic's window.