   Sa Jul 26 02:01:18 CEST 2008 in Munich (Germany), 
   written by Klaus Wittig (klaus.h.wittig@t-online.de)

cgx Change Log
================

NOTE:  This document is potentially incomplete.


cgx 1.7 -> cgx 1.8
---------------------
  o  The copy and swep commands did not copy nurbs so far. Now it does.
  o  The reading of abaqus input files is improved. Initial stresses
     can be read.

  o  Changed or extended commands:
     - graph: Now it is not longer necessary to define a sequence of Datasets
              before the graph command can be used. It is possible to define
              the common part of the Dataset-names and the entity which should
              be plotted (ie. graph nodes t DISP D1).
     - plot, plus:
              Bad elements will be shown with the parameter "eq"
     - proj, copy, swep:
              Now the parameters rad and rot can both use either two points to 
              define the rotational axis or just one global axis (x,y,z)
     - qdis:  Angles between two points (p) relative to one centerpoint (c)
              can be measured.
     - qlin:  A line can be lenghted or shortened by picking the line (l) and
              then one end-point (p) which should be moved.
     - seta:  A mesh referenced by a setname and consisting of independend
              meshes can be separated in several sets. 
              The setnames are generated automatically (seta ! <set>).

  o  New commands:
     - qnor:  A new line normal to a plane defined by three points is
              created.
     - eqal:  Some element quality parameters can be defined. The elements
              will be checked against this parameters either with the menu-
              option "Show Bad Elements" or with the "plot" command. The
              parameters are stored in the fbd file.


cgx 1.6 -> cgx 1.7
---------------------
  o  The hardcopy code is changed. Now it does not use "xwd" any more and 
     works also for other systems than Linux (thanks to Jeff Baylor).
  o  The Coefficients for *EQUATION and the *NODE vectors are written with
     more digits. This improves results for "glued" meshes.
  o  The maximum Shear-Stress (Tresca) is computed automatically for all
     STRESS datasets.
  o  Stress-components in the directions of a cylindrical system around the
     x-axis are computed automatically for all STRESS datasets.
  o  The compressor in the examples-dir comes now with a fillet between disk
     and blades. The stress-distribution is now more realistic.
  o  Changed commands:
     - copy: option "scal" is changed, see "move".
     - del: a background picture can be removed
     - mids: midside nodes can be repositioned in a linear way.
     - move: scaling can be performed to a reference point.
     - proj: Normal projection for all types of surfaces.
     - qpnt: A point can be moved also to a NURBS along the surface-normals.
     - read: If a pixel-file in xwd-format of a certain geometry is available
             it can be included as a background-picture. The user can then
             create geomety based on this picture.
     - send: a forced deflection for spc's (boundary) can be specified.
     - swep: option "scal" is changed, see "move".


cgx 1.5 -> cgx 1.6
---------------------
  o  Capabilities of the command-line are improved. A command history is
     realized.
  o  Entity-names might be as long as 255 characters now.
  o  The sets are selectable by index and by names.
  o  IMPORTANT! Since openFoam-version 1.3 uses a new format it is required to
     convert the resulting files. See section "Remarks Concerning OpenFOAM"
     in the manual.

  o  New commands:
     - length: calculate the length of all lines stored in a set
     - mids:   correct the midside nodes of higher order elements stored in a set
     - split:  split lines and to create points on surfaces included in set1
               where they cross surfaces from set2 
     - tra:    This keyword is used to translate the model on the screen
     - zoom:   This keyword is used to zoom into the model on the screen

  o  Changed commands:
     - graph: Displays also material-properties and amplitudes
     - prnt: Prints also material-properties and amplitudes
     - proj: Normal projection now possible
     - nurs: Nurbs can be created based on existing surfaces following the 
             Coons-algorithm
     - send: Write temperatures with step-information with reference to 
             a cload-file
     - send: thermal connection between parts
     - send: sliding equations (mpcs) between parts
     - send: gap-elements can be defined


cgx 1.4 -> cgx 1.5
---------------------

  o  IMPORTANT! The definition of the line-bias has changed. One decimal digit
     is now supported. A program parameter exists (-oldbias) to convert pre
     v-1.5 models. 
  o  IMPORTANT! The node-numbering has changed. A mesh will have a
     differend node sequence than a pre-1.5 mesh. The mesher has now some
     parameters who control certain aspects of the mesh, see the mesh command. 
  o  ISAAC is now supported (a CFD-3D solver). A mesh can be created and
     results can be visualized.
  o  All geometric operations are now performed with double precission instead
     of float. Results use still float to save space.

  o  New commands:
     - area: This keyword is used to calculate the area and center of 
             gravity of a set of shell elements.
     - bia:  Define a node bias for lines, in addition to qbia 
     - qcut: Cuts the model by a plane and presents the plane. Used to display
             results on this inner section.
     - hcpy: Creates hardcopies and bundles several of them in one file. With
             this feature automatic post-processing is possible.

  o  Changed commands:
     - div:  A bias can be specified in addition to the line-division.
     - mesh: The position of midside nodes of higher order elements are now
             better placed. Parameters to create a blocked mesh for cfd and more. 
     - send: ISSAC (cfd) data are supported. All 3 CFD codes are now treated
             in the same manner
     - seta: A range of node- or element-numbers can be specified.
     - setr: A range of node- or element-numbers can be specified.


cgx 1.3 -> cgx 1.4
---------------------

  o  The color model has changed. Stepped colors are now available on Linux-
     PC's by using textures. This texture-mapping is now default. But if you
     are working on computers who support color-indexing you should change
     to index-mode by editing the cgx.h file (set INX_MODE 1 and TEX_MODE 0).
     The index mode might be faster there.
  o  OpenFOAM is now supported (a CFD solver-lib). A mesh can be created and
     results can be read. Only he8 are supported so far.
  o  You can manipulate the edges which are generated by NETGEN to get better
     results in NETGEN. 

  o  Changed commands:
     - elty: Just type elty to see all sets which have an assigned element-
             type.
     - graph:The dataset-description can be used as a parameter for the 
             x-axis if it is a nummerical value.
     - read: In case NETGEN is used for meshing then the edges which are 
             generated by NETGEN can be read for modifications. They will be
             stored as beam elements.
     - send: It is now possible to write an OpenFOAM polyMesh.
     - qenq: The position of nodes or points is now also given in cylindrical
             coordinates and the sets to which the picked entity belongs are
             listed.


cgx 1.2 -> cgx 1.3
---------------------

  o  IMPORTANT! Some key-values have changed. See 'qpnt', 'qlin', 'qsur',
     'qbod' below. If you do not read it you might not be able to generate
      geometry any more!

  o  The nurbs-trimming capabilities are improved.
  o  A new mesher for unstructured 3-noded triangles is included. With this
     mesher surfaces from cad systems (imported with vda2fbd or step2fbd) are
     meshable (Only surfaces which are related to a nurbs are meshable).
     This mesh might be exported in stl format which can be read by
     other meshing software who fill this volume with tetraeder elements
     (ie. NETGEN). The resulting mesh can be imported in cgx for further
     actions. The unstructured form of an element type must be used (tr3u).
  o  The type of an element can be specified more specificly (reduced 
     integration, incompatible modes (he8r,he8i,he20r). 
  o  A user-function for mesh and result manipulations can be included.
  o  Commands for geometry creation as qlin might modify an already existing
     entity (ie. line, surface..) without destroying the context (if a line
     is redefined all dependent surfaces and bodies will survive).
  o  It is now possible to store all actions or to save an animation in a
     movie.
  o  On startup a result-file (frd) and the corresponding solver input file
     (inp) can be read in together. In this case all sets defined in the 
     input file together with the boundary conditions are available in
     addition to the results ("cgx file.frd file.inp").
  o  On startup an stl file can be read.
  o  On startup automatic line-division-calculation, merging and 
     illumination of surfaces is triggered with the -a parameter instead of
     using the -b parameter.
  o  It is possible to read a solver input file during run-time. For example
     to include additional elements (ie. coming from NETGEN).

  o  New commands:
     - call: This keyword is used to invoke the user provided functions.
     - movi: manipulate giff files to create a movie.
     - volu: This keyword is used to calculate the volume and center of 
             gravity of a set of elements.
     - qele: To manually define elements  

  o  Changed commands:
     - elty: The type of an element can be specified more specificly. It is
             also used to choose the unstructured mesher.
     - qdel: delete also elements and nodes
     - qpnt: The user might specyfy a specific name for the point on the
             command-line or by picking an existing point with the mouse-
             pointer. A point can be moved (projected) to a nurbs-related
             surface. A new point is generated by pressing the "g" (generate)
             key and not longer by pressing the "p" key.
     - qlin: The user might specyfy a specific name for the line on the
             command-line or by picking an existing line with the mouse-
             pointer. The key to end a line has changed from "l" to "g".
     - qsur: The user might specyfy a specific name for the surf on the
             command-line or by picking an existing surf with the mouse-
             pointer. The key to end a line has changed from "l" to "g".
             It is possible to reference a NURBS with the "S" key.
     - qbod: The user might specyfy a specific name for the body on the
             command-line or by picking an existing body with the mouse-
             pointer.
     - qflp: The syntax has changed and all connected surfaces can be 
             oriented regarding the orientation of the selected one.
             Necessary if a cad-volume should be meshed with triangles to
             define a meshable volume.
     - read: It is possible to read a solver input file during run-time.
             For example to include additional elements and nodes. 
     - send: A mesh made of triangles can be exported in stl format.
             and additional features from Paul CARRICO:
             'send all aster' for exporting a complete mesh in CODE ASTER 
             format. The file will have the '.mail' extension
             'send name_set aster names' for exporting the GROUP_NO 
             (node group) and the GROUP_MA (mesh group) which compose the
             set. The file will have '.nam' extension.

  o  New menu-items:
     - Hardcopy -> start recording giff-movie
 

cgx 1.1 -> cgx 1.2
---------------------

  o  Scott Lanham's Nurbs-Trimming functions are stored in a separate library
     called libSNL.

  o  Nodal values can be displayed on the deformed structure with the menu
     item "Toggle Add Displacements".

  o  Arrows representing a vector can be displayed either with the menu
     item "Vector Plot" or in general cases with the command 'lc'. DUNS
     results require the use the command line.

  o  A new entity called 'faces' is available. A face is one side of an
     element and can be used to define boundary conditions. Faces exist
     only on the surface of the part.

  o  New boundary conditions for the thermal capabilities of the solver
     are available like *FILM, *RADIATION etc.

  o  New commands:
     - scal: This keyword is used to scale scalar-, vector-values and 
             the deformed structure. 

  o  Changed commands:
     - qdis: The distances between points are calculated also in the
             cylindrical system.
     - qlin: Lines can be splitted as with 'qspl'.
     - rep:  This command prepares now all types of surfaces for illumination.
             After this command returns you can display all surfaces
             illuminated. This is very helpfull for selection.
     - send: Creates and sends several new boundary conditions for the
             new thermal capabilities of ccx.
     - gsur: formal changes in this command require the update of the
             vda2fbd interface to version 1.0. The version 0.9 of vda2fbd
             might not work for complicated surfaces any longer. 
  

cgx 1.0 -> cgx 1.1
---------------------

  o  Thanks to Scott Lanham Nurbs-Trimming is supported now! CAD-geometries
     can be rendered with illumination. The connection between vda2fbd and
     cgx is much better now.

  o  Wedge-elements can be displayed now.

  o  Bug fixes in:
     - duns-support

  o  Updated documentation.

  o  New commands:
     - qdis: The distances between points are calculated. 

  o  Changed commands:
     - div:  The option "auto" calculates divisions based on element-length
             and curvature. A single line can be used instead of a set.
     - comp: The option e (edges) assigns all edge-points of the
             lines used by the entities which are already included to the set. 
     - qpnt: It is now possible to move a point to a surface if the 
             surface is related to a NURBS.
     - plot/plus: The option 'l' to see elements illuminated is replaced
             by the option 'i'. This option 'i' can also be used with surfaces
             if the surface is related to a NURBS and if the command "rep all"
             was issued before. 
     - rep:  The command (rep) trims the NURBS by the border-lines of the
             related surfaces. If an fbd file is read which 
             includes also NURBS-lines (nurbl) then this commands are issued
             automatically. This is the case if the fbd file was created by
             "vda2fbd" 
              

cgx 0.93 -> cgx 1.0
---------------------

  o  Bug fixes in:
     - command mesh in combination with 7 sided bodies
     - command qspl in combination with splines

  o  Updated documentation.

  o  Some support for the cfd-code duns (www.sourceforge.net) is included.
     It is possible to create 2D- and 3D-meshes and to display the 
     results of a duns-calculation. See the command mesh. To 
     read a result-file you have to use the parameter -duns2d or -duns3d 
     at start-up (example: "cgx -duns2d dunsout").

  o  So far only 6 components (entities) of a dataset could be displayed.
     This has changed and there is no practical restriction any more.

  o  The results of the pre-defined calculations like v. Mises Stress
     are not longer stored in additional datasets. They are added to the 
     basis-datasets. In addition not only the worst-principal-stress is 
     shown, also all 3 principal stresses are included now. 

  o  New commands:
     - qbia: The ratio of the length of the first element to the last 
             element along a line can be set. 

  o  Changed commands:
     - qpnt: A picked first point can be moved to the place of a picked 
             second point.
     - send: Input for the ccx- or abaqus user-routine umpc can be generated.  


cgx 0.92 -> cgx 0.93
---------------------

  o  Bug fixes in:
     - command proj in combination with parameter rot

  o  Updated documentation. Small examples of geometry are shown. A disk,
     a cylinder and a segment of a sphere.

  o  General speed improvements.

  o  Small "undo" functionallity in some "q" commands (ie. qadd, qbod)
     
  o  New commands:
     - mata, mats: Material-numbers can be defined. Usefull for nastran
                   only.
     - nurl, nurs: Definition of NURBS Lines and Shapes, Nurbs-Lines will
                   be transformed to splines. Usefull for CAD-interfaces.
                   Plot this entities with "plot L all" or "plot S all".
     - qseq: Used to redefine a straight- or arc-line as a sequence-line.

  o  Changed commands:
     - body, gbod, qbod: can deal now with five-, six- and seven-sided
                         bodies
     - surf, gsur, qsur: can deal now with three-, four- and five-sided
                         surfaces 
     - comp: Also elements are included in a given set after a
             "comp set up" if nodes were originally included.
     - line, qlin: the definition of arc- and spline-lines are changed.
     - qadd, qbod, qlin, qpnt, qnod, qsur: last action can be erased by
                                           pressing the 'u' key
     - qspl: Multiple crossing lines are splitted in a way, that they use
             a common end-point at the crossing position.
     - read: You might specify a column if you read nodes- or element-
             numbers with the command "read <list-file> '-n'|'-e'&<column>" 

  o  An solver input file (ccx) can be read with the option -c at startup
     (example: "cgx -c solverfile.inp").


cgx 0.91 -> cgx 0.92
---------------------

  o  Bug fixes in:
     - command proj in combination with parameter rot

  o  Updated documentation.

  o  General speed improvements.

  o  Small changes to the mesher. This results in changed node positions
     in situations where opposide edges have different divisions.

  o  Much better element edge representation in the surface mode. In the 
     volume mode the edge representation is unchanged.

  o  New commands:
     - minus: This command will remove certain entities from the display list 
              (annulment of a previous "plus" command).

  o  Changed commands:
     - group: A new mechanism is installed if not suppressed with the 
              parameter -g at the start of the program. This mechanism, called
              "auto-group" assigns the active group number to all elements
              which are displayed by the commands plot or plus. Therefore the
              presentation of results ("Datasets" -> "entity") is restricted
              to the visible sets of elements. With that feature easy insight
              into the structure is possible.

     - plot/plus: A new color l "lighted-grey" is available for elements.
  
  o  New menu-items:
     - Viewing -> Show Bad Elements: Calculates the jacobian matrix and shows
              the elements with negative values. 
 

cgx 0.9 -> cgx 0.91
---------------------

  o  Bug fixes.

  o  Updated documentation.

  o  General speed improvements.

  o  Its now possible to change the first letter in the entity names
     and to define the first node- and element-number of the mesh.
     The function is named "asgn".

  o  Radii can be fixed with the function "corrad".

  o  Time history plots can be created with the function "graph".

  o  Projections of geometry are possible with the function "proj".


