====================== AlgoMesh Release Notes ====================== VERSION 2.0.15 -------------- Cases 268, 623, 1072, 1079: Numerous performance improvements have been made to key components of the mesh generation process, resulting in faster execution of the optimisation method in many cases. Case 314: AlgoMesh project (.amproj) files are now associated with AlgoMesh by default on installation, so that double-clicking a project file in Windows Explorer opens the file in AlgoMesh. Case 381: Meshes may now be exported to the TOUGH2 MESH file format. Case 409: AlgoMesh now optionally exports MODFLOW-USG RCH and EVT packages using the NRCHOP=2 and NEVTOP=2 modes. In these modes, the topmost cells in each vertical column of the 3D model grid are determined automatically and used for recharge or evapotranspiration flows, permitting proper handling of pinched-out cells in the first layer. Case 492: New Project and Save Project options have been added to the File menu. Case 493: A confirmation prompt now appears on exiting AlgoMesh. Case 561: Keyboard shortcuts Ctrl++ and Ctrl+- have been added for zooming the main view in and out, respectively. Case 562: Added 2D and 3D .FEM file export for triangular meshes. Case 586: Added Copy All Values to New Property and Add Offset to All Values options to the right-click menu of property TIN properties, allowing simple modifications to property values to be made easily. Case 592: Exclude From Mesh Domain and Include In Mesh Domain options have been added to the Edit menu, mapped to the existing functionality of the + and - keyboard shortcut keys, respectively. This allows the functionality to be used even when + and - keys are not present in a user's keyboard layout. Case 598: A new geometry cleanup algorithm has been implemented to assist in rapidly simplifying geometry prior to mesh generation. Given a distance threshold, points are automatically snapped to other points within the threshold, and to line segments within twice the threshold. This algorithm may be run manually from the Clean Geometry option in the Mesh menu, or automatically when mesh generation commences, by enabling the option in the Mesh Setup section of the Model and Export Settings window. The automatic option is turned on by default for new projects with a threshold of 0.01. It is turned off by default for legacy (v1.x.x) projects. Case 611: Improved the saving and loading of property names containing spaces for property polygon sets and CSV property tables. Case 624: Resolved a crash that occurred when certain configurations of intersecting lines were present in geometry added to a mesh. Cases 631, 633, 638, 987: MODFLOW-USG model file exports, plus the new exports for MODFLOW-6 and TOUGH2, now show their progress in the new Model Export window. Progress and warning messages are also collated in an export log file written to disk. Case 632: Export of each individual file type for MODFLOW-USG models may now be turned on or off as desired in the MODFLOW-USG section of the Model and Export Settings window. Case 645: Added an Induce Well Geometry at Points option to the right-click menu of spline sets. This option generates an additional spline set and an appropriate no-refine polygon mapping at each point in the selected spline set to force precise cell shapes to be generated at those points (e.g. exact hexagonal cells). Case 695: Spline sets and property polygon sets may now be exported to shapefile via their right-click menus. Case 788: MODFLOW-6 model files may now be exported. Comprehensive customisation of options is available in the MODFLOW-6 section of the Model and Export Settings window. Files available for export include NAM, TDIS, IMS, DISU, IC, OC, NPF, STO, CHD, WEL, DRN, RIV, GHB, RCH and EVT. Case 802: Mesh inside/outside areas should no longer switch erroneously during mesh generation in certain problematic cases. Case 812: Separate start and end fields may now optionally be specified for layer and stress period mapping in CSV property tables, allowing multiple, varying ranges of layers and/or stress periods to be specified more efficiently. Case 814: A Mesh Quality Metrics window has been added, available from the Mesh menu, allowing the investigation of the quality of cells in a mesh. A summary histogram is displayed for a given choice of quality metric (e.g. reciprocal aspect ratio for triangular grids, or normalised bisection deviation for Voronoi grids). A raster or shapefile may be exported for detailed inspection of computed quality metrics on a spatial or cell-by-cell basis. Case 845: A new Property Rasters subsection has been added to the project explorer tree on the left-hand side of the AlgoMesh window. This allows GIS raster files to be loaded into AlgoMesh and used for property mapping (e.g. terrain DEMs) or visualisation purposes (e.g. base maps). Display of rasters, and the interpolation method used for interrogating raster band values, may be customised by right-clicking and entering the settings window, and the order of raster display may be specified by moving rasters up and down using the arrows at the top of the project explorer (the topmost raster in the list is displayed on top of all others in the main map view). Case 944: Property table CSV file paths containing hash '#' characters are now saved and loaded correctly. Case 947: An optional ANGLEX array export has been added for MODFLOW-USG to assist with the manual setup of USG-Transport transport packages or LPF anisotropy. This option may be enabled in the MODFLOW-USG section of the Model and Export Settings window. Case 949: Added an option to choose between maintaining elevations or thicknesses when pinching out cells. Defaults to maintaining thicknesses for new projects, or to maintaining elevations for legacy (v1.x.x) projects. This option may be changed in the Model Setup section of the Model and Export Settings window. Case 951: Multiple spline sets, polygon sets, rasters or TINs may now be loaded at once by selecting multiple files in the respective file open windows. Case 952: Added a toolbar at the top of the project explorer view on the left-hand side of the main AlgoMesh window, with buttons to expand all project explorer entries, collapse all entries, move entries up (for property polygon sets and property rasters) and move entries down. Case 953: Properties may now be mapped to the IBOUND variable, to allow specification of cells to be deactivated in a MODFLOW-USG model without actually removing them from the 3D model grid. Case 954: The precision of the OpenGL mesh display has been improved in coordinate systems that are offset substantially away from a (0, 0) origin. This should reduce imperfections in the display of geometry when zoomed in. Case 955: Added an option to export the truncated Newton solver flag to the SMS file for use with certain versions of MODFLOW USG-Transport. Case 972: The minimum edge length allowed for cells in a Voronoi mesh has been made configurable via an option in the Mesh Setup section of the Model and Export Settings window. A new default value of 1e-5 is now used for new projects to avoid zero-length edges being exported when six decimal places of precision are used. The old value of 1e-16 is retained by default for legacy (v1.x.x) projects. Case 984: AlgoMesh now optionally splits concave cells automatically after mesh generation. This option may be enabled or disabled in the Mesh Setup section of the Model and Export Settings window, and an angle threshold may be set to customise its behaviour. The option is enabled by default in new projects, but disabled in legacy (v1.x.x) projects. Case 985: Added Select Cell by Index option to the Select menu, for triangular nodes, triangular elements and Voronoi cells. Case 986: Added to Zoom to Selection option to the View menu. Case 1045: File paths listed in the project explorer for CSV property tables now update as expected when changed in the property table settings window. Case 1070: The default edge length field generation and optimisation settings, for new projects, have been changed to better support typical use cases and speed up most optimisation-based mesh generation. The default number of grid samples has been increased to 250,000. The quadrature counts for most quality presets have been lowered (6 for quality 1, 12 for qualities 2 and 3, 16 for quality 4 and 24 for qualities 5 and 6). The Max. Lloyd iterations (refine) option has been turned on by default and set to 25, and the Update mesh display setting now defaults to "after each refinement iteration" to reduce the time taken by unnecessary redraws of the mesh. Case 1080: ID, layer and stress period fields assigned to a property table for which the CSV file is missing are now reselected automatically when the correct CSV file is located and selected. Case 1081: Property table and property rasters now save and retrieve their file locations using paths relative to the location of the saved .amproj, .ptab or .prm file, instead of using absolute paths. This allows for a saved project to be copied along with its external files to a new location and reopened without the need to manually reselect the path of every property table and raster file. Case 1098: 2D triangular meshes may now be exported in the DHI MIKE Zero flexible mesh (.mesh) file format. Case 1099: The command-line tool, AlgoMeshCmd, has been removed as of AlgoMesh 2. Case 1102: Python scripting support now uses Python 3.8 instead of Python 3.4. VERSION 1.2.4 ------------- Case 572: 3D HydroGeoSphere model file export is now possible under the File->Triangular Mesh menu. This produces a skeleton .grok file; .coordinates and .elements files containing the grid; elemental conductivity, storage and porosity files; and CSV files detailing the mapping between slice and 3D node indices and layer and 3D element indices. Case 574: GIS raster formats may now be loaded as property TINs. Note, however, that as a TIN is not the most efficient format for a raster, care should be taken to avoid loading very large grids with this method. Case 587: Added variables to allow mapping of drain elevations, constant heads, boundary heads, river bottom elevations and river stages as offsets from cell top or bottom elevations. Case 588: Polygon properties may now be set as start and end specifiers for mapping stress period and layer ranges. This allows stress period and layer ranges to be set independently per polygon from a GIS data table instead of only once per layer in the AlgoMesh user interface. Case 594: Improved handling of shapefiles containing null geometry entries. VERSION 1.2.1 ------------- Case 560: Triangular node numbering for node selection is now consistent with the exported numbering immediately after generating a mesh. Previously, the numbering for triangular nodes was inconsistent until the project was saved and reopened. VERSION 1.2.0 ------------- Case 464: The included sample projects now open without error when AlgoMesh is installed under the Program Files folder. Previously, AlgoMesh opened these files with write access, which is not permitted under Program Files and was not necessary. Case 466: Some minor inconsistencies in figure labelling have been corrected in the AlgoMesh User Guide and help documentation. Cases 468, 469, 470: A comprehensive set of selection functionality has been added to AlgoMesh. There is now a Select menu on the main menu bar, which provides selection modes for triangular nodes, triangular elements and Voronoi cells. Selections may be made by clicking in the main view, with optional Ctrl and Shift modifier keys for multiple and path selections. Selections may be made within polygons, by selecting the appropriate option from the right-click context menu on a Property Polygon Set, and along paths, by selecting an option from the context menu on a Spline Set. Selections may be saved to text file index lists, shapefiles, or binary nchos/echos formats for inclusion in a HGS model, and similarly may be loaded back into AlgoMesh from file. See new section 4.1.2.4 in the AlgoMesh User Guide for more information on the Select menu, and updated sections 4.1.3.1 and 4.1.3.5 for information on the polygon and spline selection functionality. Case 471: Cell centre X, Y fields have been corrected in shapefile export of Voronoi meshes. In version 1.1, the centre of each cell was incorrectly being taken from that of the cell with index 1 greater than the cell's index. VERSION 1.1.0 ------------- Case 59: Added an About AlgoMesh window, accessible from the Help menu, which displays the current version and build information of the software. Case 253: GIS cell geometry exports now include all mapped variables in all layers (SP 1 only), to a maximum of 254 fields in total. Exporting mapped variables to CSV now includes all mapped variables in all layers and all stress periods, with no limit on the number of fields. Case 265: The optimisation method now automatically runs a Delaunay refinement step immediately upon completion, to eliminate any remaining bad cells from the mesh. This process may be controlled or turned off entirely as desired by a set of new options at the bottom of the Optimisation tab. Case 266: The project explorer pane on the left-hand side of the AlgoMesh window now has a complete set of icons associated with all entry types. Cases 269, 310, 315, 373, 374, 375, 376, 389, 395, 398, 399: A major overhaul of the documentation for AlgoMesh has been completed. The AlgoMesh User Guide PDF included with the software now offers a complete reference to all windows and options available in the user interface, as well as all textual file formats used in AlgoMesh. A compiled HTML help (CHM) version of the User Guide is also installed with the software, and appropriate parts of this help file may be accessed by pressing F1 anywhere within the AlgoMesh user interface. A new set of "how-to" tutorial guides are included, up to date for version 1.1, providing step-by-step instructions on performing the most common tasks in the software. A Getting Started section walks through setup and licensing of AlgoMesh, and indicates which how-to tutorials you should go through and in what order, depending on what you would like to do with the software. Cases 270, 271: Time-Variant Materials (TVM) package variables are now available for mapping. Case 297: Precise Voronoi and triangular cell counts are displayed in the bottom-left corner of the user interface. View->Triangles must be enabled to display the number of triangular cells, and View->Voronoi Cells must be enabled to display the number of Voronoi cells. Cases 328, 329: AlgoMesh now specifies that binary cell-by-cell outputs should be produced for all MODFLOW-USG packages by default. This may be turned off in the Model Setup window. Case 334: Mesh cell polygon vertices are now always ordered counter-clockwise in exported GSF and VTK files. Note that concave polygons are an exception to this; counter-clockwise ordering for concave Voronoi polygons is not guaranteed. Cases 346, 347: Python scripts and their associated mesh variable mappings may now be saved to PYM files, and these are now stored and retrieved in AlgoMesh project (.amproj) files. Case 350: New versions of AlgoMesh may now be installed over the top of old versions, without first uninstalling the old one. If you encounter any problems during or after installation, however, it is recommended that you uninstall everything completely before performing a re-installation. Case 359: Fixed an error that occurred when stopping the optimisation process with display frequency set to "after entire optimisation". Case 363: Fixed an error that was prohibiting the help file from being loaded from the AlgoMesh user interface. Case 365: DXF files containing 3DFACE entities are now supported for import. Case 367: AlgoMesh now creates lateral connections as expected across Voronoi cells divided by edge constraints that do not have the "No Voronoi Divide" flag set. Lateral Connection Groups may be used if a flow barrier is desired instead. Case 377: New splines are now created by default as linear polylines. They may be changed to Cardinal cubic splines if desired in the Spline Properties window. Case 378: A vertical scrollbar now appears in Optimisation and Refinement tabs when there is not enough space to fit all settings on the screen. Case 380: A new mesh variable, Mesh Cell Edge Length (Field Generation Only) has been added. This operates in the same way as the Mesh Cell Edge Length mesh variable, but only applies when the edge length field generation process executes, ensuring that the values from the mapping will not override any generated edge length field values during the actual mesh generation process (e.g. during optimisation). A "Remove existing edge length TIN mapping before generation" option has also been added to the edge length field generation settings. This is turned on by default, as are the "Use existing edge length mapping" options. This allows the optimisation process to be run independently multiple times in succession without the need to turn edge length mappings on and off. Case 383: A new mesh variable, Lateral Connection Group, has been added, allowing precise control over how AlgoMesh creates lateral connections between cells in the MODFLOW-USG DISU file. Three associated options are now available to facilitate this in the Model Setup window. See the advanced topic "Lateral Connection Groups" in the User Guide for details. Case 384: Fixed a crash that occurred when certain projects were loaded twice in the one AlgoMesh session. Case 386: The MODFLOW-USG LPF package options CONSTANTCV, NOVFC and NOCVCORRECTION may now be turned on and off in the Model Setup window. Case 387: The default solver settings written to the SMS file for MODFLOW-USG export have been updated to values that perform better for running complex models. Case 393: Sample project files have been added to the AlgoMesh installation to accompany the new how-to tutorials included in the version 1.1 User Guide. Case 394: Polygon property mappings are now removed correctly when their associated polygon property is removed. Case 397: The "Overwrite all individual segment edge lengths" checkbox has been removed from the property polygon set spline settings dialog, as it has no effect on property polygons. Case 452: AlgoMesh no longer reports a NullReferenceException when switching between graphics devices (e.g. when a session started locally on a workstation is later accessed via remote desktop). To avoid potential freezing of the software, pass the flag -rdp on the command line when starting AlgoMesh local to force it to use software rendering if you plan on later accessing it via remote desktop. There is now an AlgoMesh -rdp shortcut provided during installation of the software for this purpose. VERSION 1.0.5 ------------- Case 50: Added AlgoMesh project (.amproj) file save/load. Case 159: Edge length field generation can now take Mesh Cell Edge Length mappings as input. Case 160: Splines that form a closed loop (polygon) now have starting and ending tangents aligned as expected. Cases 243, 246, 261: Added basic support for Python scripts when a Python 3.4 installation is present. Each script may be mapped to mesh variables in the same way as properties of TINs, polygons and tables. Case 248: Changed to a more general number format for displaying the interpolated value of the currently selected property in the AlgoMesh status bar, so that small numbers can be displayed correctly. Case 249: Top and bottom elevation arrays are now in the correct order in the exported MODFLOW-USG DISU file. Case 250: Added the AlgoMesh Binary Mesh (.ambm) file format. Case 252: Exporting cell geometry to GIS now includes the cell centre X and Y coordinates as attributes. Case 254: Fixed a crash that occurred in some cases when restarting the optimisation process with Voronoi Cells displayed. Case 256: Added the Active Model Area mesh variable. Case 258: AlgoMesh now correctly removes duplicate sequential vertices from Voronoi cell polygons. Cases 259, 306, 344, 345: Added Property Table support, allowing CSV files to be used to specify precise cell-by-cell property mapping. Cases 262, 263, 264: Added Property Polygon Set support, allowing polygons to be digitised or imported from GIS, along with associated field values. Fields may be mapped to mesh variables in the same way as TIN properties. Cases 272, 300: Added the Generate Splines to Induce Regular Grid within Polygons tool, accessible by right-clicking on a property polygon set. Case 273: Added the No Refinement Area mesh variable. Case 290: A 2D triangular mesh may now be exported to HydroGeoSphere in the .AH2 file format, by using the File->Triangular Mesh->Export 2D Mesh to HydroGeoSphere option. Case 296: A minimum angle constraint of X in the Delaunay refinement algorithm now correctly applies only as a minimum angle of X degrees, and no longer applies an additional maximum angle constraint of (180 - X) degrees. Case 298: No longer deleting OpenGL buffers when they are not in use; previously, an error was being shown in some cases stating "Extension function glDeleteBuffers not supported" after the software had been running for a day or two. Case 301: All MODFLOW-USG packages now calculate global cell index values correctly; previously, some were not taking into account inactive cells. Case 309: AlgoMesh now writes the correct number of layers to the Grid Specification File (GSF), instead of always writing 1. Case 313: Edge constraint flags are now saved with splines, as expected. Case 317: Voronoi cell numbering is now guaranteed to remain consistent, as long as a mesh is not modified. Save and load AlgoMesh project (.amproj) files to ensure this. Case 319: AlgoMesh no longer writes the IVC array to the DISU file when only one layer is present, as expected by the MODFLOW-USG. Case 320: The MODFLOW-USG variable HDRY is now configurable in the Model Setup window, and defaults to 1e30. Case 321: MODFLOW-USG binary cell-by-cell budget files may now be read in and converted to mesh variables in an MDD file from the File->Triangular Mesh and File->Voronoi Mesh menus. Case 322: Fixed an issue that caused AlgoMesh to crash when writing a PPM file after removing a property polygon set containing one or more property mappings. Case 326: The MODFLOW-USG variable HNOFLO is now configurable in the Model Setup window. Case 331: AlgoMesh now correctly reads MDD files containing lines longer than 32k characters. Case 338: Boundary conditions now deactivate during stress periods for which no mapping exists, instead of repeating the previous stress period's mapping. Case 340: Fixed an issue with the software licensing module that was causing x86 (32-bit) builds to crash on startup. Case 354: VTK files produced by exporting to MODFLOW-USG from AlgoMesh now include any mapped values of top elevation, bottom elevation, Kx, Kz, Initial Head, Ss and Sy. Case 360: Adjusted mesh variable names produced by the binary heads/drawdown to MDD conversion process to use the form SPx_TSy instead of PERx_STPy. Case 364: Added the MODFLOW-USG Binary Head/Drawdown Extraction tool, accessible from the File->Triangular Mesh and File->Voronoi Mesh menus. VERSION 1.0.4 ------------- Case 53: Pressing the minus (-) or plus (+) keys while editing in a textbox no longer results in triangles being marked outside or inside as though the editing took place in the main view. Cases 161, 162, 163: AlgoMesh now outputs multi-layer MODFLOW-USG models. Layer setup may be done in the user interface by selecting Model Setup... from the Model menu, and property and boundary condition mappings are now associated with layers. A brief how-to on setting up multi-layer and transient mappings has been added to the AlgoMesh User Guide; see this how-to for more information. Case 165: Property interpolation to a cell centre should now succeed even when the cell centre is outside the property TIN's convex hull. In this case, the nearest inside triangle in the property TIN is used to compute the interpolated value. Case 168: "Per unit area" versions of boundary conductance, drain conductance and river conductance variables have been added. AlgoMesh multiplies the values of these variables by cell area on export. Case 169: Specific Storage and Specific Yield variables have been added for property TIN mapping. These are exported to the MODFLOW-USG LPF file when transient stress periods are present. Cases 170, 171, 172, 173: AlgoMesh now outputs transient MODFLOW-USG models. Stress period setup may be done in the user interface by selecting Model Setup... from the Model menu, and boundary condition mappings are now associated with stress periods. A brief how-to on setting up multi-layer and transient mappings has been added to the AlgoMesh User Guide; see this how-to for more information. Case 174: The Property TIN Mapping (.PTM) file format has been updated to allow layers and stress periods to be specified for each mapping. See the AlgoMesh File Format Reference for details. Case 175: Property TIN mappings may now be saved and loaded to the text-based PTM format in the user interface, by right-clicking on Property TINs and selecting Load Property TIN Mapping (.PTM) File... or Save Property TIN Mapping (.PTM) File... as desired. This can save a lot of manual effort when setting up non-trivial models. Case 176: Reading vertex properties in MDD files no longer truncates lines at 1023 characters, so any number of vertex properties may be read. Case 186: The AlgoMesh user interface may now be used in Remote Desktop sessions. When used in this way, it does not have access to graphics hardware for acceleration, and may be slower when manipulating large meshes, but it no longer crashes as it did in previous versions. Case 194: A new file type, the Model Setup File (MSF), is now read by AlgoMeshCmd for specification of layer and stress period information. See the AlgoMesh File Format Reference for details. Case 196: Constrained points are now displayed by default in the user interface, rather than being hidden. They may be turned off if desired by going to the View menu and selecting Constrained Points. VERSION 1.0.3 ------------- Case 65: Mesh domains are now automatically enclosed in a bounding box and region of outside triangles immediately prior to mesh generation, if such a region is not already present. This prevents numerical issues in certain cases when edges are split on the convex hull of the domain. Case 81: The original mesh domain and the generated mesh are now kept separately in the AlgoMesh UI. By default, whenever a new mesh generation operation is performed (refinement or optimisation), mesh generation will restart from the original mesh domain instead of continuing from the existing generated mesh. This may be changed by toggling the flag "Mesh Generation Restarts from Original Mesh Domain" in the Edit menu. Individual manual commands (e.g. adding vertices and edge constraints by clicking in the main view) operate on both the original mesh domain and the generated mesh, where possible. Lloyd relaxation always operates on the current generated mesh. The main view may be switched between showing the generated mesh and the original mesh domain by toggling the "Original Mesh Domain" flag in the View menu. MDD and GIS files that are saved or exported output whichever of the two meshes is currently displayed. Case 96: Lloyd relaxation now moves (free) vertices along constrained edges where appropriate, resulting in better mesh smoothing. Previously only vertices not attached to any constrained edge were moved. Cases 107, 144: Interpolating values (e.g. head, drawdown) near the boundary of a mesh domain is now more robust, finding the value at the nearest boundary for points that lie just outside (e.g. due to numerical inaccuracy). As a result, there should be no more "missed" data points when importing and re-exporting MODFLOW-USG cell head or drawdown values. Case 110: Lloyd relaxation now takes into account any mapped Mesh Cell Edge Length property, moving vertices to their density-weighted Voronoi centroids. As a result, Lloyd relaxation can now be used effectively for meshes with non-uniform cell sizes (with an appropriate property TIN). Case 120: Array names have been added to MODFLOW-USG output files for easier recognition. Case 121: 3D polyhedral cells are now used in VTK (ParaView) files output by AlgoMesh, instead of flat 2D cells. Case 133: Delaunay refinement now stops refining earlier when it encounters sharp angles, resulting in less over-refinement in these areas. Two parameters have been introduced to control this process: "Avoid splitting small constrained angles" and "Seditious edge epsilon". Cases 134, 152, 153, 155, 158: Cubic splines may now be used as input geometry, with customisable tension and sampling parameters. The splines are sampled and added as points and line segments to the mesh domain prior to mesh generation. This feature may be used to approximate curved features in a model, or even to resample linear features with controllable point spacing (e.g. polylines from GIS). Splines may be created manually in the AlgoMesh UI (View -> Edit Splines), or by importing polylines from GIS (right-click Spline Sets in the left-hand side of the window). Splines may also be added in MDD files to be used as input to AlgoMeshCmd. See the new How-to sections at the end of the AlgoMesh User Guide for more information. Case 135: Edge length and area sliders in the AlgoMesh user interface now scale logarithmically instead of linearly, and their text boxes display fewer digits such that the entire number can normally be seen. Minimum and maximum edge length sliders now adjust the correct settings. Cases 136, 142: Debug code has been removed that was causing AlgoMesh to crash in certain circumstances when the folder c:\temp did not exist or was not writeable. Cases 138, 139, 143, 147, 148, 156: A new, alternative mesh generation method has been added to AlgoMesh. This method interleaves a Delaunay-based refinement step with weighted Lloyd relaxation in a multi-level optimisation algorithm. It is coupled with a new automatic edge length field generation algorithm, which produces a smoothly graded element density field across a mesh domain. The edge length field generation is normally used as an input to the optimisation approach, but may also be used separately with the regular Delaunay refinement approach. Both of these tools are available in the new Optimisation tab on the right-hand side of the AlgoMesh UI window, or by new MCF options in AlgoMeshCmd. See the new How-to section in the AlgoMesh User Guide for more information on using these tools. Case 140: Each File Open and Save dialog now recalls the file filter that was selected the last time it was opened. Case 149: Property TINs may now be saved to MDD from the AlgoMesh UI by right-clicking them and choosing "Save Property TIN as MDD". Case 150: The "No Voronoi Divide" edge constraint flag is now ON by default. This reflects the more common use case. Case 151: Unhandled .NET exceptions that occur during operation of the AlgoMesh UI are now reported with detailed descriptions that can be copied and pasted out of the application. If you encounter such an error, please paste the details into an email to us, giving as much information as possible about what you were doing leading up to the error. Case 154: Cell top and bottom elevations are now output correctly at their vertices in VTK and GSF files if top and bottom elevation property mappings are present. VERSION 1.0.2 ------------- Cases 20, 89: Voronoi mesh cells in AlgoMeshUI now display exactly as they will be exported, and the display speed has been increased dramatically. There is some delay (on larger meshes) to build the Voronoi mesh after a change is made, but once it is built, it is much faster to navigate around. Case 39: An improved method of point placement has been introduced in the mesh refinement algorithm, which in general produces fewer cells of better quality under the same constraints. Case 48: Progress of mesh refinement is now shown in AlgoMeshUI as it proceeds (triangles in mesh and triangles to be processed), and refinement may be stopped early. Cases 49, 88, 101: Voronoi meshes may now be exported. AlgoMeshUI contains commands to export to GIS or MODFLOW-USG from the File menu, and AlgoMeshCmd exports to MODFLOW-USG if the -outvoronoi switch is used. Case 78: The prerequisite Microsoft Visual C++ redistributable packages are now installed automatically when installing AlgoMesh. The .NET Framework 4.0 or later must still be installed manually, if not already present, in order to run AlgoMeshUI. Cases 79, 84, 85, 92: Constrained line segments now have two optional flags: "no split" and "no Voronoi divide". The "no split" flag, if set, ensures that the mesh refinement process will never split the line segment with a new vertex, regardless of the quality of triangles in the vicinity (useful for connecting a mesh output from AlgoMesh with an external or manually-generated mesh, where the boundary between them should not change - but take care that the boundary is discretised finely enough, or the mesh cells may be of poor quality near the boundary). The "no Voronoi divide" flag affects the Voronoi mesh generation only; if set, the line segment and its endpoints are used to generate Voronoi cells, but will not divide Voronoi cells - if not set, the line segment will divide in two all Voronoi cells it intersects. Any Voronoi cell that becomes concave through division will be further divided into convex sub-cells. Case 80: Parts of the mesh domain may now be set as "no refine" in an MDD file. This indicates that mesh refinement should not take place in this region, but that the cells contained in the region should still be present in the resulting mesh. Case 86: Constrained points in the mesh domain are now distinguished from free (movable) points, and constrained points may be viewed in AlgoMeshUI by turning on the flag in the View menu. By default, points that are input from GIS or from an MDD file are constrained, and new points created by mesh refinement are free. Input points may be made free by specifying the FREE flag in the VERTICES section of an MDD file. Lloyd relaxation will move free points, but not constrained points. Cases 87, 102, 115: AlgoMesh may now interpolate real number values across a mesh by the use of "Property TINs". A property TIN is an auxiliary triangulation that specifies values for one or more "properties" at each vertex. A property may be an elevation, head, hydraulic conductivity, or any real value field across the mesh domain. Property values may be input in the vertices section of an MDD file (see the file format documentation), or as fields of point elements in a GIS file imported through AlgoMeshUI. Once present in a property TIN, each property may be mapped to a variable that is used in the MODFLOW-USG export (e.g. initial head, layer top and bottom elevations, Kx, Kz, etc.), or a property that is used in the mesh generation process itself (e.g. variable mesh cell edge length). Mapped properties may also be exported in CSV format at cell centres from the user interface. Cases 91, 103, 113: The AlgoMesh File Format Reference PDF has been updated with a section describing the new Property TIN Mapping (.PTM) file format. In addition, the Mesh Domain Description (.MDD) file format description has been updated to include vertex properties and changes to line segment properties, and the Meshing Control File (.MCF) description has been updated with new settings. Case 93: The MDD format for line segments has been changed to allow each optional parameter to be specified independently of others. Several new parameters have also been added; see the file format reference for details. Case 99: Global minimum area and minimum edge length values may now be specified for the mesh refinement process. These are not hard constraints, but rather stop the mesh refinement process from choosing small triangles as candidates for further refinement. A global maximum edge length constraint has also been added, which acts similarly to the maximum area constraint. Case 106: MODFLOW-USG export now optionally writes WEL, CHD, RCH, EVT, GHB, DRN and RIV packages, in addition to DISU, BAS, GSF, VTK and GNC. Property TIN mapping set up in the UI (or in a PTM file for AlgoMeshCmd) defines what is included in an export. Case 108: From AlgoMeshUI, interpolated values of a property from a property TIN may now be exported to CSV at vertices or cell centres on triangular or Voronoi meshes by selecting the appropriate option from the right-click menu on the desired property. Case 109: AlgoMeshUI now allows vertices of triangular and Voronoi meshes to be exported in addition to cell polygons. Any mapped properties that can be interpolated will be set as fields in the GIS file (at the vertex positions or at cell centres, for vertex and cell polygon exports respectively). Case 112: A basic "AlgoMesh User Guide" PDF is now included with the AlgoMesh installation. It gives a brief overview of AlgoMesh, and a number of how-to guides on getting started with the user interface.