UG2 LIBRARY : UNSTRUCTURED GRID GENERAL PURPOSE 2D GRID RELATED ROUTINES
------------------------------------------------------------------------

The following 2D grid relate routines can be used to check existing grids for
errors and create a variety of grid lists and connectivity maps.

  ug2_bev                        : Determine a normal vector for each boundary
                                   edge.
  ug2_bnd_nodes                  : Determine node index map for boundary nodes
                                   and optionally either remove interior nodes
                                   from grid data or continue node index map
                                   with interior nodes following boundary nodes.
  ug2_bv                         : Determine a normal vector for each boundary
                                   node.
  ug2_bv2                        : Determine a normal vector for each boundary
                                   node.
  ug2_chk                        : Check element connectivity and element area.
  ug2_chkarea                    : Check element area.
  ug2_chkb                       : Check boundary edge connectivity.
  ug2_chkbedge                   : Check and reorder a boundary edge grid.
  ug2_chkbn                      : Check that all nodes are on a boundary
                                   surface and that all edges reference included
                                   nodes.
  ug2_chkgrid                    : Reorder element connectivity if it is not
                                   consistently ordered and check element
                                   neighbors and connectivity.
  ug2_chkq                       : Check angles of each triangular element.
  ug2_cv_csv_area                : Determine control volume area and control
                                   surface vector terms.
  ug2_cv_ev                      : Determine control volume edge length and
                                   vector terms.
  ug2_cv_gradu                   : Determine gradient of a function.
  ug2_df                         : Determine the distribution function at all
                                   boundary nodes.
  ug2_df0f                       : Set zero value distribution function using
                                   simple averaging.
  ug2_df_gr                      : Interpolate with growth the distribution
                                   function from multiple nodes.
  ug2_dff                        : Determine the distribution function at all
                                   nodes.
  ug2_dfmax                      : Determine the local maximum node distribution
                                   function at all boundary nodes.
  ug2_dx                         : Determine maximum dimension for a set of
                                   nodes.
  ug2_extract_edge               : Extract a boundary edge grid portion from a
                                   given global boundary edge grid.
  ug2_fe_gradu                   : Determine gradient of a function.
  ug2_fe_met_area                : Determine metric terms and element area.
  ug2_ibeibe                     : Determine boundary edge to boundary edge
                                   connectivity. Simply connected edges (no
                                   more than two boundary edges per boundary
                                   node) are reordered if all edges do not have
                                   the save orientation.
  ug2_ibein                      : Create a list of boundary edges surrounding a
                                   node.
  ug2_iboibe                     : Determine the number of closed boundary
                                   objects (curves).
  ug2_ibor                       : Re-order the boundary edge grid connectivity
                                   if any boundary object does not have RH
                                   orientation. 
  ug2_iein                       : Create a list of edges surrounding a node.
  ug2_ielibe                     : Determine for each boundary edge the element
                                   that contains that edge and set the element
                                   neighbors at boundaries.
  ug2_ielibe0                    : Determine for each boundary edge the element
                                   that contains the edge. 
  ug2_ielibe2                    : Determine for each boundary edge the element
                                   that contains the edge from the element to
                                   element connectivity.
  ug2_ieliel                     : Determine the element to element
                                   connectivity.
  ug2_ieliel2                    : Determine the element to element connectivity
                                   and reorder the connectivity if needed.
  ug2_ielin                      : Create a list of elements surrounding a node.
  ug2_inibe                      : Create boundary edge connectivity map.
  ug2_inie                       : Create edge connectivity.
  ug2_injn                       : Reorder nodes in connected or un-connected
                                   groups using element node connectivity.
  ug2_injn2                      : Reorder nodes in connected or un-connected
                                   groups using edge node connectivity.
  ug2_interp                     : Interpolate data at new locations from
                                   existing data and grid.
  ug2_nelem_est                  : Estimate the total number of elements that
                                   will be generated.
  ug2_nnodeb                     : Determine the maximum node index on the
                                   boundary surface.
  ug2_qtria                      : Replace quad faces with tria faces.
  ug2_read_gdata                 : Read boundary edge grid data from a 2D
                                   planar grid file.
  ug2_read_grid_file             : Read 2D grid data from a standard UG 2D grid
                                   file.
  ug2_read_ugrid                 : Read grid data from a 2D UGRID planar grid
                                   file.
  ug2_read_write_mesh            : Read and write grid data from a MESH file
                                   using external routines.
  ug2_reorder0                   : Re-orders the elements so that the elements
                                   with mflag[ielem] == 0 are first in the
                                   ordering if there are at least relem0*nelem
                                   elements to be re-ordered.
  ug2_reorderb                   : Re-orders nodes so that all boundary nodes
                                   are first in the ordering.
  ug2_sign                       : Check the element connectivity ordering for
                                   RH rule.
  ug2_smth                       : Smooth the grid coordinates using optimal
                                   placement or centroid averaging.
  ug2_srch                       : Find the element that contains the node
                                   x01,x02.
  ug2_version                    : Put compile date, compile OS, version date,
                                   and version number in text string.
  ug2_vsmth                      : Determine the smoothing map.
  ug2_write_edge_grid_error_file : Write a UG2 boundary edge grid file with
                                   edges in error identified or a UG2 boundary
                                   edge grid node error file with nodes in error
                                   listed.
  ug2_write_gdata                : Write boundary edge grid data to a 2D planar
                                   grid file.
  ug2_write_grid_file            : Write 2D grid data to a standard UG 2D grid
                                   file. 
  ug2_write_ugrid                : Write grid data to a 2D UGRID planar grid
                                   file.
  ug2_xmax                       : Determine min/max coordinates for a given set
                                   of nodes.

To use these routines, the UG (general purpose routines) and UG2 (general
purpose 2D routines) must be linked using the following compiler flags.

   -Lsimsys_sys_dir -lug2 -lug

The directory simsys_sys_dir is the SimSys system directory. C or C++ source
code that contain a call to one of the UG2 routines must have the following
following include statement.

   #include "simsys_sys_dir/src/ug2/UG2_LIB.h"
