
================================================================
anbl3 RELEASE NOTES: 03/10/23 RELEASE VERSION 9.34.2
================================================================

Enhancements/ Additions:
------------------------

* 

Bugs Fixed:
-----------

* Corrected a fatal error when tracking boundary-edges on adjacent
  BL intersecting surfaces for use with AFLR4.

================================================================
anbl3 RELEASE NOTES: 11/20/22 RELEASE VERSION 9.33.20
================================================================

Enhancements/ Additions:
------------------------

* Changed all sprintf calls to snprintf.

Bugs Fixed:
-----------

* 

================================================================
anbl3 RELEASE NOTES: 11/10/22 RELEASE VERSION 9.33.19
================================================================

Enhancements/ Additions:
------------------------

* Add changes for compatibility with revised AFLR4.

Bugs Fixed:
-----------

* Correct boundary-edge memory allocation with internal
  boundary-edges on re-generated BL intersecting surfaces.

================================================================
anbl3 RELEASE NOTES: 08/29/22 RELEASE VERSION 9.33.16
================================================================

Enhancements/ Additions:
------------------------

* Add changes for compatibility with AFLR4.

Bugs Fixed:
-----------

* 

================================================================
anbl3 RELEASE NOTES: 05/23/22 RELEASE VERSION 9.33.15
================================================================

Enhancements/ Additions:
------------------------

* Add capability to preserve boundary-edges on individual surfaces
  for use with AFLR4.

Bugs Fixed:
-----------

* 

================================================================
anbl3 RELEASE NOTES: 10/01/21 RELEASE VERSION 9.32.2
================================================================

Enhancements/ Additions:
------------------------

* Changes for compatibility with DGEOM.

Bugs Fixed:
-----------

* 

================================================================
anbl3 RELEASE NOTES: 08/30/21 RELEASE VERSION 9.32.1
================================================================

Enhancements/ Additions:
------------------------

* Changes for compatibility with UG3 library BC setting routine
  ug3_set_ibcibf.

* Changes for compatibility with UG library routines and parameter
  initialization.

* Changes for compatibility with DGEOM and AFLR4.

Bugs Fixed:
-----------

* 

================================================================
anbl3 RELEASE NOTES: 03/17/20 RELEASE VERSION 9.31.3
================================================================

Enhancements/ Additions:
------------------------

* 

Bugs Fixed:
-----------

* Modify secondary check counter used for BL candidate node
  checking so that it works as intended.

* Corrected an issue that resulted in incorrect termination of BL
  advancement. The issue only occurred if the BL generating surface
  was nearby a surface that intersects the BL region. In those cases
  proposed BL nodes could be rejected even though they were not
  visible to the surface that intersects the BL region.

================================================================
anbl3 RELEASE NOTES: 07/03/19 RELEASE VERSION 9.30.2
================================================================

Enhancements/ Additions:
------------------------

* Added capability to time CPU usage of various routines.

Bugs Fixed:
-----------

* 

================================================================
anbl3 RELEASE NOTES: 06/24/19 RELEASE VERSION 9.29.12
================================================================

Enhancements/ Additions:
------------------------

* Changes for compatibility with DGEOM LIB changes.

Bugs Fixed:
-----------

* 

================================================================
anbl3 RELEASE NOTES: 05/03/19 RELEASE VERSION 9.29.10
================================================================

Enhancements/ Additions:
------------------------

* Changes for compatibility with AFLR4 LIB changes.

Bugs Fixed:
-----------

* 

================================================================
anbl3 RELEASE NOTES: 02/16/19 RELEASE VERSION 9.29.9
================================================================

Enhancements/ Additions:
------------------------

* Modified Message_Flag (mmsg) usage for values of 0 (no output)
  and -1 (minimal output).

Bugs Fixed:
-----------

* 

================================================================
anbl3 RELEASE NOTES: 11/20/18 RELEASE VERSION 9.29.5
================================================================

Enhancements/ Additions:
------------------------

* Changes for compatibility with AFLR4 revisions.

* Changes for compatibility with AFLR4 geometry setup API.

Bugs Fixed:
-----------

* 

================================================================
anbl3 RELEASE NOTES: 08/17/18 RELEASE VERSION 9.29.2
================================================================

Enhancements/ Additions:
------------------------

* Added an option for checking the volume of all 12 possible
  tetrahedral BL elements that could be created for each BL face.
  This also insures full pyramid validity. This option is turned
  on,off with the input parameter mblchkv=1,0 and is on by default.

* Added normal distance checking between BL points and surfaces
  that intersect the BL region (symmetry plane).

* Changes for compatibility with AFLR4 discrete geometry API.

Bugs Fixed:
-----------

* Corrected an error in checking points on surfaces that intersect
  the BL region (symmetry plane) that could lead to early
  termination of BL advancement on those surfaces.

================================================================
anbl3 RELEASE NOTES: 02/23/18 RELEASE VERSION 9.28.1
================================================================

Enhancements/ Additions:
------------------------

* Modified boundary surface node checking to better treat
  nodes on boundary surfaces that intersect the BL region 
  differently from those on regular surfaces.

* Added re-ordering of boundary edge nodes on periodic surface
  pairs. This only impacts cases with periodic boundary surfaces
  that intersect the BL region and that do not use BL region
  element combination for (prisms, pyramids and/or hexs) and
  only have BL region tet-elements.

* Modified check of large included angles (angblisimx) between BL
  surface faces and those of rebuild surfaces that intersect the
  BL region. Previous versions simply stopped if this was found.
  The current version stops BL generation at those intersection
  nodes and continues on with all other operations.


Bugs Fixed:
-----------

* 

================================================================
anbl3 RELEASE NOTES: 12/05/17 RELEASE VERSION 9.27.0
================================================================

Enhancements/ Additions:
------------------------

* Modified algorithm for classifying discontinuous surface nodes
  on BL generating surfacesCorrect an error in BL normal vector smoothing.

Bugs Fixed:
-----------

* Correct an error in BL normal vector smoothing.

================================================================
anbl3 RELEASE NOTES: 08/03/17 RELEASE VERSION 9.26.78
================================================================

Enhancements/ Additions:
------------------------

* Added number of BL layers to standard output.

Bugs Fixed:
-----------

* Reduced geometry tolerance used for locating points on edges
  and in faces of surfaces that intersect the BL region. This
  eliminates erroneous projections with small BL normal spacing
  along edges very close to the wall.

================================================================
anbl3 RELEASE NOTES: 02/23/17 RELEASE VERSION 9.25.75
================================================================

Enhancements/ Additions:
------------------------

* Moved ice3_split_data routines to UG3 library (removes ANBL3 dependency on
  ICE3 library).

* Changes for compatibility with 64-bit integers.

* Modified included angle check for surfaces that intersect the BL region
  to include transparent BL generating surfaces as possible neighbors.

* Added a check that prevents BL nodes from being rejected when they are
  advancing away from another potentially interfering boundary. Previously
  this check could made it appear that the normal distance to the
  potentially interfering boundary was very small.

* Modified the default value for the number of layers to smooth BL normal
  spacing (and thickness) over from 5 layers to 20 layers. This prevents
  element quality degradation when the difference in spacing between
  adjacent BL generating surfaces is up to an order of magnitude. 

* Modified open method. With the new method the option flags have changed.
  The new -open2 option is nearly the same as the previous -open option.
  
  -open (or mopen=1) : Generate an open BL region grid for a closed domain.
  With an open BL region the BL grid is generated and the domain is only the
  generated BL region. No isotropic region elements are generated. With a
  closed domain all of the input surfaces are retained and standard boundary
   surface face reorientation is done as needed (same as default).

  -open2 (or mopen=2) : Generate an open BL region grid for an open domain.
  With an open BL region the BL grid is generated and the domain is only the
  generated BL region. No isotropic region elements are generated. With an
  open domain only the input surfaces that are used for BL generation are
  retained and no individual boundary surface face reorientation is done. All
  of the boundary surface faces are assumed to be properly orientated such
  that RH rule ordering points in the direction of BL generation. The only
  possible face reordering is a global reordering using the -revbl (mrevbl=1)
  option. If the input surface grid is a non-closed surface then the BL region
  will be aligned normal to the surface edges. The output grid includes a new
  boundary surface for the exposed surface of the BL region with a boundary
  surface face ID equal to the maximum ID plus 1.

* Reinstated setting of number of BL tet-elements.

Bugs Fixed:
-----------

* 

================================================================
anbl3 RELEASE NOTES: 11/28/16 RELEASE VERSION 9.21.68
================================================================

Enhancements/ Additions:
------------------------

* Changes for compatibility with ICE capability for grids with
  hex-elements that have 2:1 split faces.

* Revised BL element quality checks to omit face angle checks
  if the starting boundary surface mesh is of low quality (or
  was generated with an anisotropic metric adaptation method).

* Revised BL element quality checks to omit element dihedral
  element checks that are dependent upon the initial face angles
  if the starting boundary surface mesh is of low quality (or
  was generated with an anisotropic metric adaptation method).

* Changes for compatibility with revised BL normal vector
  methodology.

* Added most visible normal vector method to normal vector routines.
  The parameter mbv_mode now controls the method for normal vector
  determination.
  If mbv_mode = 1 then use LS method to determine the node normal
  vector that has the minimum deviation with respect to the
  surrounding face normal vectors. This is the default.
  If mbv_mode = 2 then use a most-visible method to determine the
  node normal  vector that maximizes the minimum tetrahedral volume
  for the surrounding faces. 
  If mbv_mode = 3 then use a simple averaging method to determine
  the node  normal vector. 

* Added determinant tolerance to least-squares normal vector
  algorithm.

Bugs Fixed:
-----------

* 

================================================================
anbl3 RELEASE NOTES: 08/19/16 RELEASE VERSION 9.19.58
================================================================

Enhancements/ Additions:
------------------------

* Added capability for transparent/embedded surfaces that intersect
  the BL region to have free edges that also intersect the BL
  region.

* Added more accurate determination of node locations along edges
  that intersect the BL region (both between surfaces and free).

Bugs Fixed:
-----------

* 

================================================================
anbl3 RELEASE NOTES: 08/10/16 RELEASE VERSION 9.18.57
================================================================

Enhancements/ Additions:
------------------------

* Changes for compatibility with revised libraries.

Bugs Fixed:
-----------

* 

================================================================
anbl3 RELEASE NOTES: 07/28/16 RELEASE VERSION 9.18.56
================================================================

Enhancements/ Additions:
------------------------

* Changes for compatibility with new method for least-squares
  optimized BL normal vectors.

Bugs Fixed:
-----------

* Corrected an error with reading a TMP file that only could
  happen when using mpfrmt=0 to return the full volume mesh
  rather than the low memory file writer within BL mesh generation.

* Corrected an error with MESH file type when used for internal
  file writer.

* Corrected an error computing the distance between BL nodes and
  surfaces that intersect the BL region. This error could cause
  boundary recovery to fail due to advancement of the BL outside
  the domain and causing intersection of the BL region with a
  surface that intersects the BL in a region where there should
  be no intersection.

================================================================
anbl3 RELEASE NOTES: 04/07/16 RELEASE VERSION 9.15.48
================================================================

Enhancements/ Additions:
------------------------

* Changes for compatibility with UG3 routine that writes a grid
  file.

Bugs Fixed:
-----------

* 

================================================================
anbl3 RELEASE NOTES: 03/19/16 RELEASE VERSION 9.15.47
================================================================

Enhancements/ Additions:
------------------------

* Minor syntax change in if check.

* Updated internal reduced memory read/write API for the final
  volume grid.

* Combined ANBL3 Lib and ANBL3_API Lib. ANBL3_API Lib is no
  longer separate or used.

Bugs Fixed:
-----------

* 

================================================================
anbl3 RELEASE NOTES: 12/02/15 RELEASE VERSION 9.13.43
================================================================

Enhancements/ Additions:
------------------------

* Added metric blending capability to surface grid regeneration
  for planar surfaces that intersect the BL region.

Bugs Fixed:
-----------

* Modified procedure to reset standard surfaces from standard to
  BL surfaces if they are adjacent to a BL generating surface.
  The original could set inappropriate surfaces to BL generating
  surfaces.

================================================================
anbl3 RELEASE NOTES: 09/28/15 RELEASE VERSION 9.12.40
================================================================

Enhancements/ Additions:
------------------------

* Added modifications as needed for new versions of AFLR4 and DGEOM.

Bugs Fixed:
-----------

* Modified code so that quad surface faces can exist on non-BL
  generating surfaces and BL generating ones with the -blc3 option
  (pyramid transition from quad faces). Previous versions would
  fail if quads existed on both.

* Corrected surface extraction issue with open option BL regions.

================================================================
anbl3 RELEASE NOTES: 02/24/15 RELEASE VERSION 9.9.25
================================================================

Enhancements/ Additions:
------------------------

* Added spline fit capability for curves on rebuild surfaces that
  intersect BL region.

Bugs Fixed:
-----------

* 


================================================================
anbl3 RELEASE NOTES: 12/23/14 RELEASE VERSION 9.9.21
================================================================

Enhancements/ Additions:
------------------------

* Added capability for BL generating embedded/transparent surfaces 
  that have non-manifold (multiple) connections between them and
  other embedded/transparent and/or solid surfaces.

Bugs Fixed:
-----------

* 

================================================================
anbl3 RELEASE NOTES: 08/14/14 RELEASE VERSION 9.7.19
================================================================

Enhancements/ Additions:
------------------------

* Added capability to regenerate surface grids using the AFLR4
  3D surface generator. This is used to rebuild surfaces that
  intersect BL regions. Previously a planar projection was used
  along with AFLR2 to generate projected 2D grids and re-project
  back to the true surface. That imposed restrictions on
  curvature for an individual surface. Those restrictions are no
  longer valid. Note that AFLR4 uses the input surface grid as
  a discrete definition of the geometry and resulting curvature
  is limited by the input resolution. Also, AFLR4 automatically
  checks for planar surfaces, such as symmetry planes, and uses
  2D generation in those cases.

* Removed input parameter angqprojuv that was used to check if
  surface projection was valid. This check used for each surface
  that intersected the BL region and required regeneration. It is
  not applicable now that AFLR4 surface generation with mapping
  generation is used.

* Modified internal API for surface search (ug3_srchbf) to allow
  for a two-pass algorithm that uses a large tolerance on the
  second pass to find locations that are off the surface and near
  a surface node.

Bugs Fixed:
-----------

* 

================================================================
anbl3 RELEASE NOTES: 07/17/14 RELEASE VERSION 9.6.17
================================================================

Enhancements/ Additions:
------------------------

* Revised BL normal smoothing at discontinuous locations on the intersection of
  surfaces that intersect the BL region.

Bugs Fixed:
-----------

* 

================================================================
anbl3 RELEASE NOTES: 06/21/14 RELEASE VERSION 9.5.17
================================================================

Enhancements/ Additions:
------------------------

* Eliminate majority of output during surface regeneration for surfaces that
  intersect the BL region.

* Changed search flag for projecting BL normals on rebuild surfaces that
  intersect the BL region to prevent search failure on the first pass of BL
  grid generation.

* Revised discontinuity check for turning off least-squares BL normals so that
  is based on an edge discontinuity as defined by the discontinuity angle angbd.

* Modified home BL normals are determined on surfaces that intersect the BL
  region using an assumptions of symmetry.

* Revised nearest nearby node factor so that is based on the BL node related
  factor cdfnbl rather than the field related factor cdfn when checking how
  close a BL node can come to an edge on a surface that intersects the BL
  region.

* Corrected an issue during BL grid generation when fixed surfaces that
  intersect the BL region are used with hex elements and pyramid transition.
  Previously the last BL level on the fixed intersecting surface was terminated
  with that combination of options. They are now handled the same as with split
  face transition.

* Added removal of transparent surfaces that are set to generate an attached BL
  region if an open BL mesh is requested (-open or mopen=1).

* Added reset of BL thickness (deldef=0 or -bldel 0) to the option
  maximum BL thickness option -bldelmax.

* Modified BL global termination parameters. The BL global termination parameter
  mblend now can only be 0 or 1 (on or off). The old option for mblend=2
  essentially behaved the same as mblend=1 except that it ignored the BL
  thickness (and that can be controlled using -bldel or deldef or -bldelmax.
  The maximum normal-direction-aspect-ratio parameter cblmnr now helps control
  global termination and functions in that regard the same as the termination
  maximum normal-direction-aspect-ratio parameter cblnrendmx, which is now
  deleted. Also, changed the name of the termination minimum normal-direction-
  aspect-ratio parameter cblnrendmn to cblmnrmin (and not often varied).

Bugs Fixed:
-----------

* Corrected an initialization error that could occur after BL grid generation
  with hex elements and pyramid transition along with constrained/fixed boundary
  surfaces.

================================================================
anbl3 RELEASE NOTES: 05/13/14 RELEASE VERSION 9.2.9
================================================================

Enhancements/ Additions:
------------------------

* Eliminate library dgeom output of error message when locating
  a point on a surface.

Bugs Fixed:
-----------

* 

================================================================
anbl3 RELEASE NOTES: 02/02/14 RELEASE VERSION 9.1.6
================================================================

Enhancements/ Additions:
------------------------

* Convert to new ug parameter structure scheme and eliminate
  use of Error_Message.

Bugs Fixed:
-----------

* 

================================================================
anbl3 RELEASE NOTES: 10/30/13 RELEASE VERSION 8.49.57
================================================================


Enhancements/ Additions:
------------------------

* Added capability for transparent surfaces with free edges that
  intersect the BL region.

* Modified quad pyramid transition capability so that all quad
  faces are retained if mquadp=2.

* Modified final layer termination to include points that are on
  fixed constraint surfaces that intersect the BL region. This
  preserves hex element generation if the BL generating surface
  contains quad faces.

* Added minimum length scale for checking intersections with
  non-BL generating surfaces too account for constraining surfaces
  with high-aspect ratio faces that are near the BL region.

* Added capability to generate BL nodes along curves on continuous
  surfaces that intersect the BL region. Previous versions would
  generate BL nodes along curves if the curve was also a geometric
  edge (discontinuous surfaces).

Bugs Fixed:
-----------

* Corrected a possible spacing error in re-generating edges of
  rebuild surfaces that intersect the BL region.

* Corrected a possible error with regenerating curves of periodic
  rebuild surfaces that intersect the BL region.

Known Issues
------------

* 

================================================================
anbl3 RELEASE NOTES: 09/16/13 RELEASE VERSION 8.46.54
================================================================

Enhancements/ Additions:
------------------------

* Added process to reconnect tria-faces derived from quad-faces
  on the surface at singular points (such as saddle points). This
  modifies the ordering for generating BL elements at such points
  and allows positive volume elements to be generated. The
  number of tria-faces that surround such singular points 
  should be minimized. For example the corner of a box has three
  surfaces and three trias (one for each surface) are optimal.

* Added a check of quad face quality on the outer interface of BL
  regions when hex element combination is selected (mblelc=2).
  Hex element formation is turned off locally if a quad face is
  highly curved or of low quality. The curvature is checked to
  insure that if the outer quad face is represented by tria faces
  the dihedral angle between them doesn't represent a discontinuity
  as defined by angbd. Quality is checked by insuring that the
  corner angles of the outer quad don't exceed angqbfq (new
  parameter with a default of 160 deg). If hex element formation
  is locally turned off then prism elements are formed instead.

Bugs Fixed:
-----------

* 

Known Issues
------------

* 

================================================================
anbl3 RELEASE NOTES: 08/22/13 RELEASE VERSION 8.44.53
================================================================

Enhancements/ Additions:
------------------------

* Modified quad face to pyramid transition process by turning
  off hex generation from quad faces that do not terminate with
  all face points on the same BL level.

* Modified the process that saves the last BL normal spacing
  values for use in BL blending by AFLR3.

Bugs Fixed:
-----------

* Corrected a potential indexing error in the process that saves
  the last BL normal spacing values.

Known Issues
------------

* 

================================================================
anbl3 RELEASE NOTES: 03/16/13 RELEASE VERSION 8.42.51
================================================================

Enhancements/ Additions:
------------------------

* Added modifications to allow for very long file names. Previous
  versions are limited to file path names with about 100 characters 
  or less. The current version allows path names with about 1000
  characters (500 on Windows) or less.

Bugs Fixed:
-----------

* 

Known Issues
------------

* Anisotropic blending is BETA mode at best.

* With hex elements the top face can be inverted at one node
  (corner angle > 180). A check will be added in the future.

* With hex elements the mquadp=1 (isotropic) or 2 (BL cases)
  option to use quad face to pyramid element transitions in
  isotropic regions or for transition from hex to pyramid 
  elements does not work if their are quads on an embedded
  surface (that is not a source surface). For example a wake
  sheet with attached BL region.


================================================================
anbl3 RELEASE NOTES: 02/15/13 RELEASE VERSION 8.40.50
================================================================

Enhancements/ Additions:
------------------------

* Modified limitation on the number of BL layers that will be
  generated for a given boundary surface patch (of the same ID).
  This process prevents regions with coarse BL normal resolution
  from engulfing regions with fine resolution (see Release Notes
  comments for 8.33.40). It will not impact cases with constant
  or similar initial BL normal spacing. A new input parameter
  mnbllim can be used to turn this process on. It is on if
  mnbllim=1 and off if mnbllim=0. By default it is off. For cases
  with large variations in initial normal spacing it probably
  should be turned on. If the number of BL layers has been set on
  individual surface patches then this process will not override
  those selections.

* Added additional control for limiting the difference in number
  of BL layers between adjacent nodes to one (nbldiff=1), if
  specified, and if the number of BL layers for each surface ID
  patch is specified. If the number of layers is specified for
  one or more surface ID patches and if nbldiff=1 then the number
  of layers generated in a given BL grid generation step will
  automatically be reduced to one actual BL layer per step. This
  allows the normal limiting of BL layers between adjacent nodes
  to work at the junction between surface patches if they each
  have a different number of BL layers specified. Note that even
  with this change the number of BL layers difference between
  adjacent nodes can still exceed the limit set by nbldiff. This
  is possible only if multiple layers are being generated on
  each step (typically very close to the surface) and there is
  local termination of the BL generation. If cbldsm is reduced
  from the default of 0.5 then the region where multiple layers
  are generated is reduced. If cbldsm=0 then only one actual BL
  layer will be generated at a time and the limit set by nbldiff
  will always be fully met. The CPU time penalty with cbldsm=0
  can be a factor of two or more. However, this increase is only
  for the BL generation phase and all other aspects are the same.
  So the overall impact is highly case dependent.

* Added angle quality check to uv projected surface used for
  regenerating rebuild surfaces that intersect the BL region.
  The maximum angle allowed on the projected surface is
  angqprojuv with a default value of 175 degrees. If the initial
  surface has a triangular face with a corner angle above that
  then an error will be generated. Increasing the maximum 
  angle allowed, angqprojuv, may produce a valid mesh. However,
  it may not be usable and may also produce an error in the
  process that regenerates the surface. Any error in edge grid
  generation or in AFLR2 is the result of a problem with the
  rebuild surface.

* Modified search tolerance used in regenerating rebuild surfaces
  that intersect the BL region. With previous versions fatal
  errors in edge grid generation could be encountered due to
  points being outside the boundary edges for a particular
  surface by relatively small distance.

Bugs Fixed:
-----------

* Corrected an issue with topology of rebuild surfaces that
  intersect the BL region that could occur if some (not all)
  of the rebuild surfaces are periodic. The topology error
  typically resulted in fatal errors in boundary edge grid
  generation.

Known Issues
------------

* Anisotropic blending is BETA mode at best.

* With hex elements the top face can be inverted at one node
  (corner angle > 180). A check will be added in the future.

* With hex elements the mquadp=1 (isotropic) or 2 (BL cases)
  option to use quad face to pyramid element transitions in
  isotropic regions or for transition from hex to pyramid 
  elements does not work if their are quads on an embedded
  surface (that is not a source surface). For example a wake
  sheet with attached BL region.

