-
Notifications
You must be signed in to change notification settings - Fork 1
/
RELEASE_NOTES
471 lines (451 loc) · 31.4 KB
/
RELEASE_NOTES
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
#Version 5.1.0:
## Features
* *PR #399, #406, #408, #410: Updates for E3SM workflow to support online remapping computation for climate applications through interfaces to TempestRemap library.
Major additions to expose online remapping capabilities by computing exact intersection between unstructured meshes on a sphere, and providing
projection weight operator computation through interfaces to TempestRemap for both scalar and vector solution fields with conservation and/or
monotonicity constraints. While the primary application target is E3SM for this particular feature addition, the bulk of the interfaces added
in this PR can be reused in other coupled physics simulations as well.
* *PR #403: Updates to Cython file generation process in PyMOAB.
We’ve done away with static `.cpp` files in the project and are now relying on users having a Cython installation greater than 0.26 on their machine.
This helps us with python 2/3 compatibility issues as well as superfluous re-compiles of libraries.
## Enhancements
* *PR #376, #365: Updates to PyMOAB to improve the Cython interaction and Python3 compatability.
* *PR #397: Consistent CMake configurations for downstream apps
* *PR #404: Update RTT reader to support v1.0.1 specs
* *PR #391, #401: Delete volume/surface OBB trees and restore OBBs from file
* *PR #370: Several improvements in the GeomTopoTool implementation
## Fixes
* *PR #363, #398: PyMOAB tag and skinner test fixes
* *PR #364: CMake configuration updates to not always require Fortran for BLAS/LAPACK linkage
* *PR #362: Several semantic and memory leak fixes due to Coverity, cppcheck and valgrind
* *PR #364, #366, #368, #373, #374, #375, #379, #381, #382, #384, #387, #388, #389, #400, #407, #409: Several miscellaneous configuration updates for both autotools and CMake workflows
#Version 5.0.0:
## Features
* *PR #248, #290, #299*: Eigen3, BLAS/LAPACK -- Add support for the Eigen3 BLAS/LAPACK header libraries; Now BLAS/LAPACK are required dependencies for MOAB in order to support high-performance dense solver support for various algorithms
* *PR #278, #286, #280, #296, #300, #325, #326, #332, #331, #334, #335, #317, #345, #346, #353, #356*: PyMOAB -- This interface now directly exposes Python modules to access common MOAB functionality in order to load, query and manipulate structured/unstructured meshes in memory. It also includes interfaces to some specific classes such as the ScdInterface and its associated classes along with the TopoUtil tool. We have also added support for Tags, Range, Skinner modules that can be used to build more advanced capabilities as needed. Currently, this interface only supports serial configuration and we intend to support parallelism through `mpi4py` dependencies in the next release. Several useful tests and examples have also been added for users to get started.
* *PR #162*: Add capability to load an "*unpartitioned*" mesh file through a trivial partition with the parallel option: `PARALLEL=BCAST_DELETE;PARTITION=TRIVIAL`; This works for any mesh format and so we are no longer restricted to just our parallel h5m native mesh.
* *PR #238*: Discrete Geometry Module -- Higher order curve and surface reconstruction strategies based on local polynomial fittings along with integrated support for recursive uniform refinement.
* *PR #318*: Add Mesquite optimization support to MOAB so that mesh optimization algorithms can be natively run on a MOAB mesh. It can also use the geometry information when MOAB is configured with CGM (through Lasso relational databases in MOAB).
* *PR #330*: Add support for computing high-order, conservative, multi-mesh projection weights with the **TempestRemap** library. Several optimizations have been implemented for the advancing-front algorithm to compute the intersections between two unstructured meshes on a sphere. In addition to this, the integration with Tempest library enables computation of the projection weights between FV/cGLL/dGLL discretizations seamlessly in a scalable fashion, even though Tempest itself is a serial library!
* *PR #288*: HEX8 (linear) to HEX27 (quadratic) mesh conversion utility
## Enhancements
* *PR #263*: Support for building with CGM build directory (instead of installation) to ease SIGMA workflows
* *PR #267*: Modify scale and reflect signature in FBiGeom, now it conforms to iGeom
* *PR #266*: Update Matrix3 constructor
* *PR #143*: The original design of MOAB Core was responsible for initializing MPI (if the user / driver forgot to do it in a parallel setting). However, this is just bad design since after destruction of moab::Core object, and hence call to MPI_Finalize(), no other MPI calls could be made. This design has now been fixed and MPI_Init and MPI_Finalize should now be called in user driver code.
* *PR #287*: Code fails gracefully when number of ranks are greater than number of parts in loaded h5m file
* *PR #276*: iMOAB extensions to create and manipulate vertices in addition to querying entities and tags on the mesh
* *PR #291, #302*: The autotools parallel build toolchain has been accelerated and simplified
* *PR #298, #316*: Read node materials from gmsh file and other I/O issues.
* *PR #285, #293, #303, #306, #323, #315, #327, #339, #348, #355*: Several DagMC related enhancements
- A major DagMC refactor to move bulk of the capability to OrientedBoxTreeTool, GeomTopoTool, and GeomQueryTool tools
- various performance and API improvements
- Completely remove the DagMC tool from MOAB since the bulk of the capabilities are now exposed through other native classes in MOAB directly.
- Implement context for determining whether ray intersections are counted
- Add a method to GeomTopoTool to recover the topology of a geometry of nested volumes when the file does not contain this information
* *PR #311*: Update Debian dependencies.
* *PR #308*: `mbconvert` tool can now include the MPAS (graph) partition data during conversion
* *PR #304*: AHF adjacency queries will not be turned on by default until we add support for mixed meshes and poly-meshes
* *PR #201, #329*: The examples folder has been fully re-organized to better help users get started with capabilities and understand usage of MOAB for computational use-cases. New examples have also been added.
* *PR #344*: Adding an example to compute exact normals using iRel when a geometry is available.
* *PR #343*: Refactor the GenLargeMesh example to a callable API to generate structured HEX/TET meshes in memory
* *PR #341*: Update the configuration suggestions for LCF machines: ALCF, NERSC
* *PR #359*: Adding an option to explicitly specify NetCDF-C++ interfaces when TempestRemap is enabled
## Fixes
* *PR #261*: Removing several verbose error outputs
* *PR #264*: Fixes for 32-bit architectures
* *PR #250, #262, #282*: Better support for PGI and Clang compilers
* *PR #268*: Titan cray intel issue for parallel HDF5 I/O
* *PR #250, #277, #324*: MPAS and NetCDF I/O enhancements and fixes
* *PR #270*: Better tests for ray tracing and OBB
* *PR #273, #310, #312, #322, #347*: Several updates and fixes for autotools and CMake build configuration
* *PR #275, #297*: Several memory leak fixes for MOAB algorithms
* *PR #283*: Fix for DAGMC looking for OBB_TAG
* *PR #283*: Several updates to `mbcoupler` tool and adding support for moab::SphericalQuad elements
* *PR #313*: When reading Exodus files, if the entities are higher order, use only the corner nodes for matching
* *PR #320*: Update options to disable fortran (this was complicated due to introduction of BLAS/LAPACK libraries as required dependencies)
* *PR #309, #333, #354*: Documentation updates
* *PR #349*: Update HDF5 includes - found through failures in Ubuntu installations
* *PR #337*: Fixing several compiler (GNU, Clang, Intel) warnings
#Version 4.9.2:
## Features
* *PR #259*: Introduce the new language-agnostic iMOAB interface to MOAB that is oriented towards FEM/FDM/FVM applications codes.
This is a ongoing replacement to the ITAPS iMesh interfaces but with much less verbosity and indirection in implementation.
* *PR #196*: Expose "mhdf" publically to be consumed by advanced visualization (VisIt) and parallel I/O use-cases
* *PR #195*: Addition of an optimized parallel mesh resolution algorithm when performing UMR in memory
* *PR #193*: Support for Attila RTT finite element mesh files
* *PR #203*: Support for the general OBJ triangulation files
* Add support for Bitbucket pipelines, Codeship/Drone.io integration for improving CI and testing infrastructure on a per-commit basis
## Enhancements
* *PR #229*: Add support for polygon and polyhedra in VTK and NetCDF formats
* *PR #246*: Improved re-design of the DagMC tool
* *PR #251*: Support 64-bit integers with MetisPartitioner
* *PR #247*: Better support for configuration/build on BG/Q systems (ANL Vesta/Mira with GNU/XLC compilers)
* *PR #258*: Redesign of options to control sequence allocation (previously CoreOptions)
## Fixes
* *PR #234*: Several key fixes found through cppcheck and Coverity (static analysis tools)
* *PR #233*: Parallel h5m file load of recursive sets
* *PR #213, #230, #255, #253*: Autotools/CMake fixes for MPI, HDF5, NetCDF configurations on various architectures
* *PR #231*: Remove explicit dependence on Cubit through MOAB
* *PR #227*: Several fixes for reading NetCDF and MPAS climate files
* *PR #236*: Correctly process mesh files created on Windows architectures
* *PR #242*: Make the iterator over SequenceData deterministic (especially when filling holes in entity sequences)
# Version 4.9.1:
## Features
* *PR #200*: MOAB now supports auto-download and configuration/installation of several dependencies (HDF5, NetCDF and Metis/ParMetis) out of the box; Use configuration options:
* ```--download-hdf5 --download-netcdf --download-metis``` etc
* We plan to add more dependency support in future releases.
* *PR #187*: Removal ##`qvdual`## tool from MOAB
* *PR #218*: Remove ##`txt`## Reader/Writer support (this was an empty shell class)
* A configuration suggestion script (suggest_configuration.sh) that is part of MOAB repository.
This script simplifies options to be used for new users.
## Enhancements
* Better support for OSX, Linux and LCF systems
* *PR #191*: Improve augmenting ghost entities with set information (remove parallel and memory bottlenecks)
* *PR #194*: Generate Fortran prototypes during configuration directly (no auto-generation during build)
* *PR #199*: Enhanced support for dealing with polygons and polyhedra with added functionality for VTK and Exodus formats
* *PR #202*: AHF support for high-order elements
* *PR #208*: The debian support now includes Fortran and Metis dependencies
## Fixes
* Several key fixes found through cppcheck and Coverity (static analysis tools)
* Improvements in both autotools and CMake configuration systems
* *PR #214, #217*: Core::connect_iterate works with non congruently allocated cells of same type.
# Version 4.9.0:
## Features
* PR #109: Optimized AHF data structure and scalability of parallel uniform mesh refinement now available (Major)
* PR #140: Merge Lasso sources to MOAB completely (Major)
* PR #137: Debian builds are available for MOAB out-of-the-box now; Check the link for updates:
https://launchpad.net/~nschloe/+archive/ubuntu/moab-nightly/+packages (Major)
* PR #172: Updated support to load geometry representations (CGM 15.0 + Cubit 14.9/15.0)
## Configuration
@ CMake
* PR #166: Missing file in CMakeLists.txt and remove exe flag from sources
* PR #154: Don't require METIS_DIR, PARMETIS_DIR to be set
* PR #150: Improve CMake HDF5 detection
* PR #146: Remove usage of MPI_DIR, remove config/FindMPI.cmake
* PR #135: CMake cleanup
* PR #124: CMake support for verdict, Metis/ParMetis
@ Autotools
* PR #168: Remove obsolete code related to netcdf workaround in moab_mpi.h
* PR #163: Prepare to use "make run" target in examples folder
* PR #149: Replace the deprecated finite routine (C99 standard)
* PR #148: Modify obb tests to not be run with regular suite
* PR #144: Fortran libs for imeshp test
* PR #129: Use correct linker flags for Fortran examples in debug mode
* PR #121: Fixes for examples and upgrade makefile with options to run targets
* PR #114: Fix compiler warnings related to HAVE_UNORDERED_MAP
* PR #122: Enable MOAB_HAVE_VSNPRINTF for ErrorOutput.cpp
## Fixes
@ General
* PR #165: GenLargeExample tetra option fix
* PR #157: Fix metis partitioner for serial builds
* PR #147: Rename __SDIR__ macro
* PR #132: CartVect duplicate removal
* PR #142: simplify CpuTimer
* PR #138: Updates to TestUtil and testMatrix3 to make sure eigenvectors (normalized) are checked correctly.
* PR #136: Add checks for dense double tags
* PR #130: Fix for the way Eigenvectors are returned in the Eigenvalue decomposition function.
* PR #133: Face-to-volume Sense Corrections (MOAB)
* PR #120: Fixed the test_adj.
* PR #126: Remove redundant definition of CpuTimer in WriteHDF5Parallel.cpp
* PR #123: Fix element_test issue due to missing mesh files
* PR #125: Bug in Coupler
* PR #119: Fix dual_test issue due to missing mesh file
* PR #169: Fix for quadratic pyramid adjacency creation
@ Parallel fixes
* PR #160: Fix hdf5 parallel reader if number of partitions is too small
* PR #159: Run more parallel tests when built without HDF5
* PR #158: Add option to skip augmenting the default sets with ghosts
* PR #145: Factor in sequence manager for ghosting
* PR #141: Populate sets with ghost entities
* PR #131: Merge_all method added to merge mesh class
@ I/O
* PR #151: HDF5 parallel reader bug
* PR #128: HDF5 file with more than 2^32 entities
@ Memory leaks
* PR #156: Various fixes for memory leaks in serial and parallel examples
* PR #153: Valgrind fix for parallel_hdf5_test
* PR #127: Gen large mesh memory reduction
* PR #116: Major changes for large mesh example
# Version 4.8.2:
## Fixes
* PR #106: Ghosting polyhedra elements
* PR #107: AHF polyhedra fix (triggered when configured with --enable-ahf)
* PR #110: To fix attribute warning when loading an h5m file
* PR #108: Addresses issues raised by faceting on models that have point curves
* PR #113: Fix a ParallelComm issue in PGI optimization build
* PR #117: Side number should return failure when side is -1
## Enhancement
* PR #89: Writing Dense tags in parallel (minor)
* PR #104: Install configuration header to decipher dependencies (major)
* PR #115: Partitioning with Metis (major)
# Version 4.8.1:
## Fixes
* PR #97: Support read and write of point clouds and free nodes in vtk format
* PR #103: Add explicitly created skin entities to the passed non-null meshset. Previously, this was only available from root set
* GMSH and VTK reader fixes
* Several minor compiler warnings removed
## Enhancement
* PR #101: Support computation of surface normals for different entity types
# Version 4.8.0:
## Features
* UMR: Implemented the uniform mesh refinement capabilities for different entity types for degrees (2,3,5). Tools to load a MOAB mesh and uniformly refine it based on user inputs is now available
* Coupler: Improvements in scalability of the spatial coupler and improved capabilities to perform global and subset based conservation/normalization
* Verdict: A new set of API functions to measure quality metrics for MOAB entities (based on Verdict library)
* Enhanced error handling support with clean stack traces in both serial and parallel are now provided natively (examples included)
## Build
* Considerably improved CMake-based build support for linux/OSX/Windows
* Updated autoconf based build system to address all warnings in different architectures and more robust configuration
@ Improved support for OSX Mavericks
@ Improved 32-bit handle support
@ Support for configuration on ALCF machines out of the box
* Moved tools/mbzoltan/MBZoltan.* to src/ZoltanPartitioner.*
* Several bug fixes and warning removals based on GNU, Clang, PGI and Intel compilers
- PR#59: ParallelComm - update the correct partition number when creating a part
- PR#54: WriteNCDF - minor bug when writing out side sets
- PR#94: Exodus Writer - fixes for variable length tags
* Additional unit tests for testing several finer grained APIs
* Several updates to the User and Developer guide in documentation to detail aspects of the new features (UMR, Verdict, Error handling)
* Overall enhanced Windows support (VS2008) (contributions by Kitware)
# Lasso
* Several code restructuring to conform library better to SIGMA stack of tools
* Updates to the autoconf build system to make it more robust
* Warning fixes for Clang/PGI/GNU/Intel
* Build in optimized mode by default
# Version 4.7.0:
* Implemented the Array-based Half Facet data structures in MOAB to improve adjacency querying and efficient traversals between related entities (use --enable-ahf during configure)
* Co-developed (MOAB and PETSc) to introduce a new native MOAB-mesh based Discretization Manager (DM) implementation in PETSc that supports parallel solution to PDE problems on unstructured grids.
* Remove memory leak for point-to-point communication (issue #7) caused due to reuse of MPIRequest structures
* Reading sets in parallel (ticket 273)
* Parallel mbconvert bug (ticket 274, material sets compromised before writing)
* Fix memory leak for tracked sets (ticket 285)
* Fix issue #8 for merging higher dimensional entities
* Fix edge adjacency and skinner to operate on Polygon and Polyhedra
* Eliminated miscellaneous compiler warnings (tested on GCC-4.6.3, clang-3.0, Intel-13.1, PGI-13.6)
* New reader/writer formats (CGNS, MPAS, GCRM); Improve support for several existing formats (Climate-NC, HOMME, CAM-Euler, CAM-FV)
* Introduce padded polygons option for lower memory fragmentation in MPAS and GCRM climate readers
* Add climate data NC writer, in serial and parallel, for all data formats supported by the NC reader with options to append, read time-series with concatenation
* Add Zoltan repartitioning for MPAS reader
* Improvements in CUBIT reader for boundary conditions data, support CUBIT 14.0 format changes, endianness for BG/Q, variable length tags for saving block attributes and headers
* Add TET4 as supported element in Exodus reader
* Enhanced Doxygen-based documentation support for API, user guide, developer guide and examples.
* Added several new examples to demonstrate the usage of the API for different applications; More to be added here.
* Added robust CMake build support for MOAB; Preliminary fixes for Windows systems.
* Enhancements and refactoring to support reading the CGM geometry models for DagMC
* Parallelization of the MOAB based conservative intersection (CSLAM) algorithm for advection/transport applications
* Refactoring of MBCoupler and refactoring to support dynamic usage of new search tree algorithms (Kd, BVH)
* Update VTKReader Paraview plugin for MOAB; Removed the old vtkMOABReader and replaced it with vtkMOABReaderNew.
* Added meshset argument for methods in ParallelComm and Skinner
* New options for NC reader
- rename PARTITION_METHOD=TRIVIAL_PARTITION to PARTITION_METHOD=TRIVIAL
- add NO_MIXED_ELEMENTS option fo reading polygon data (it means padded)
- add NO_EDGES option for MPAS reader
- RENAME option for renaming a variable at writing an nc file
- TIMESTEP option for reading nc files
* Changes in Core::list_entities to print dense tag information
* Changes in memory evaluators, move from type long to type long long
* Changes to ScdInterface, mostly to support new partitioning method (sqijk) but also to allow for periodic meshes in all 3 directions
* Install TupleList for serial builds also
* New method in MergeMesh that allows stitching a mesh based on an integer tag defined on vertices (GLOBAL_ID)
* Introduced interface to delete entities in ParallelComm
# Lasso
* Miscellaneous warning fixes exposed through Buildbot
* Fix some stack smashing bugs
* Added [Doxygen support][http://ftp.mcs.anl.gov/pub/fathom/lasso-docs] with nightly API built from repository
* Better flag determination during configuration
# Version 4.6:
* Removed deprecated functions from the Interface: (some overloaded variants of) query_interface, release_interface,
tag_get_data, tag_set_data, tag_get_size.
* Added Interface::adjacencies_iterate, whose behavior is much like tag_iterate.
* Extended Interface::get_coords, to return entity centroids (avg vertex position) for non-vertex entities instead of failing
* Added new iMeshP extension function iMeshP_getCommunicator, converting fortran integer to MPI C communicator
* Various bug fixes and improvements of mbcoupler (parallel mesh to mesh transfer): handling of spectral elements, works in
serial now, better tolerancing for point searches
* New conventions for handling spectral element types; see doc/metadata_info.doc for details
* New options for mbsize, similar to those for mbconvert (allows user to specify parallel reading options, so mbsize can be
run as a parallel reading test)
* Initial implementation of Damsel reader/writer
* Major enhancements, efficiency improvements for NC data reader, including going mostly to a 2.5D representation, addition
of a HOMME data reader, bug fixes in representing periodic meshes in parallel
* Initial implementation of a GCRM data reader, and a better ReadTemplate class (skeleton for writing new readers)
* Add new metadata and properties handling to DAGMC
* More extensive warning reporting when using GCC compilers, and many warning eliminations
* Support for 1D in structured mesh interface
* Improved doxygen developer documentation
* Alternative vtkMOABReaderNew & paraview plugin (in tools directory)
* Additions/improvements to examples
* New performance tests that include direct tag access tests (in test/perf/perf.cpp)
* Undeprecated one of the "tag_get_handle" functions for returning tag handle given tag name
* Several conventional tags (GLOBAL_ID, MATERIAL_SET, others) now have conventional default
values; see src/MBTagConventions.hpp for a list of default values and other conventional tag
characteristics.
# Version 4.5:
* ITAPS: added iMesh_stepEntIter, iMesh_stepEntArrIter, iMesh_tagIterate, iMesh_createTagWithOptions (see iMesh_extensions.h)
* More partitioning options for structured mesh (see ScdInterface::compute_partition functions, and doc/metadata_info.doc)
* Error class exposed in API, and query_interface now supports getting access to the moab::Core member of that class.
* Added Interface::coords_iterate and Interface::connect_iterate, analogous to tag_iterate (allows direct access to
coordinate and connectivity memory for blocks of entity handles)
* Added new iMeshP extension tag_reduce
# Version 4.1:
* Structured mesh API (see src/moab/ScdInterface.hpp)
* Parallel read of netcdf-based .nc files using pnetcdf (see doc/metadata_info.pdf)
* Updated ParaView plugin (see tools/vtkMOABReader/README for details)
* Direct access to dense tag storage (see tag_iterate function in src/moab/Interface.hpp)
* Add set iterators (see src/moab/SetIterator.hpp and usage in test/perf/perf.cpp)
* Fix zoltan build on case-insensitive file systems (e.g. MacOS)
* Fix netcdf build w/ required HDF5 in non-system path
# Version 4.0.1:
* Compatible with iMesh 1.2 (see README.IMESH for details on compliance testing)
# Version 4.0:
* Many improvements to parallel correctness and efficiency
* Use of MPIO for parallel read of HDF5-based file format
* Parallel import of file formats utilizing internal communication and/or partial read of files.
* Partial read of HDF5-based files
* Import files from: ABAQUS, IDEAS, MCNP5, NASTRAN, Sms, TetGen, Star-CCM+
* String-based file options for controlling format-specific file options (see README.IO for a
list of options.)
* Mesh refinement tool
* Compact storage of structured mesh data
* Variable-length tag data
* Alternate, cmake-based build system
* Support for most recent ITAPS APIs
* New data coupling tool
* Python API based on ITAPS APIs
* Many performance improvements (both runtime and memory), including entity sets, dense tag data,
bit tag data, skinning, and entity deletion.
* MOAB namespace
* Fixed bug in get_entities_by_type_and_tag for cases with non-zero
input set which has or doesn't have entities
# Version 3.0.0 (SVN tag 3.0.0):
- Updated QVDual to work with new versions of VTK and removed
dependence on graphviz
- Move ITAPS/TSTT interface implementation into tools/iMesh and make
it work with configure system
- Implement new version number system
- Incorporate DagMC library (does fast facet-based
ray tracing) into tools/dagmc
- Prefer g++ to pgCC in configure scripts
- Many improvements in kd tree functionality, performance
- Move entity sets to be stored in sequences, better performance &
functionality
- Improved various file writers/readers, including:
. Better performance of HDF5 file reader
. Configuration with/without HDF5, netcdf
. Vtk writer improvements
- Added functions to MBInterface to get memory usage of MOAB
- Fixes to various MBCN functions for 64-bit builds
- Small changes to #defines of some tag names in MBTagConventions.hpp
# Version 2.00 (CVS tag version_200):
- New MBInterface method to get blocked coordinate data for vertices.
- Speed up reading of entity sets in .h5m files.
- Store sets in entity sequences
- Remove use of virtual functions from MBMeshSet
- Add API for quering total and break-down of memory use by MOAB.
- Add initial Adaptive kD-tree implementation.
- Add upper_bound method for MBRange.
- Make parallel configuration (MPI rank and size) per-MOAB-instance values,
and add utility methods for querying/manipulating processor ID portion
of entity handles.
- Fix allocation of handles such that they are allocated with the
correct processor ID for parallel
- Remove MPI calls from MOAB constructor. Make paralle config (MPI
rank and size) arguments to the MOAB constuctor.
- Separate type definitions from interface definitions. MBEntityType.h
contains the definition of MBEntityType and MBTypes.h contains the
definitions of all other types and includes MBEntityType.h. MBInterface
now includes MBTypes.h rather than MBCN.hpp so some applications using
MBCN.hpp may have to add an explicit include.
- Add methods to MBRange to check if all contained entities are of a given
type or dimension
- Change internal storage of entity set parent/child lists so that we have
better behavior parent/child links become stale (don't try to delete/deref
stale pointers.)
- Add lower_bound, upper_bound, equal_range methods that accept an MBEntityType
as input to MBRange.
- Add front, back, pop_front and pop_back methods to MBRange
- Change internal MBRange::PairNode definition so that the
MBRange::const_pair_iterator::operator->() works correctly.
- Added 'bool' value to tag_create, defaulting to false. When true, tag_create
will return MB_SUCCESS if the tag already exists *and* matches the tag
creation parameters.
- Fixed bugs saving/restoring of mesh and default values for tags containing
MBEntityHandles to/from HDF5 files.
- Allow special case null (zero) value for MBEntityHandle tags in HDF5 files
- Added processor rank to entity handle, right below entity type and above id
fields; width of this field is computed at initialization, and depends on the
number of processors being used. On serial versions, zero bits are used so
handles are as before.
- Added option to specify requested start id and processor id when creating
a mesh set.
- Added functionality (in MBParallelComm class) for passing mesh between processors.
- Corrected set-related functions when inputting '0' (which is taken to mean
the interface set, i.e. the whole mesh); in this case, one can't add parent/child
sets, but one can request them (return no sets in that case)
- Added functions to support tag semantics
- Added num_hops argument for num_child_meshsets and num_parent_meshsets.
- Removed default value for default value in tag_create function (this
argument was making the choice between overloaded versions of this
function ambiguous)
- Fixed bug in MBCN::NumSubEntities when input d=0 (i.e. vertices)
- Changed arguments to get_connectivity to take const MBEntityHandle* and size
instead of std::vector, so single MBEntityHandle can be used as input
- Added version of get_connectivity which returns results in an MBRange,
for convenience of calling code needing to do range-based logic
- Added std::string MBInterface::get_error_string(const MBErrorCode) const, which
returns a string for the error code passed in (usually just a string representation
of the error code enum)
- Added MBRange variants of get_parent_meshsets, get_child_meshsets
- Added list_entity function to MBInterface
- Fix bug writing global/default values for tags containing entity handles
to HDF5 files when using 64-bit handles.
- Fix bugs in VTK I/O for structured mesh, polygons, quadratic elements, and
bit tags.
# Version 1.01 (CVS tag version_101):
##New Capabilities:
- Added support for polygons/polyhedra; polyhedra represented by
storing polygon handles as connectivity array, otherwise poly elements
similar to other entities in MOAB
- Added DualTool, to compute mesh dual, and for hex meshes, dual
surfaces/curves
- Added support for new HDF5-based native MOAB reader/writer; this is
the only format capable of storing any data represented in MOAB
- Added writers for GMV, SLAC, Vtk (limited), and also a template for
constructing new mesh writers WriteTemplate
- Added tools/converter tool for mesh format conversion to/from any of
the formats supported by MOAB
- Added support for dynamically adding readers/writers and dynamically
testing whether any in the list can read/write a given file; required
substantial additions to MBWriteUtil
- Added MBInterface::tag_get_default_value
- Added MBRange functions subtract, lowerBound, operator+=, operator-=
- Added rudimentary mesh joining capability, and a test for that to
MBTest
- Added "categories" tag, which represent broad category types on
entity sets; used e.g. to indicate a set represents geometric
vertex/edge/face/region, dual surface/curve, etc.; currently only
supported by .cub file reader
##Bug Fixes/Rearrangements:
- Fixed bug getting up-adjacencies from entities having equivalent entities;
some adjacencies were being missed.
- Fixed a bug in set_connectivity, where old vertices were put on the
end of a scratch array instead of the beginning; symptom showed up as
old vertices still being adjacent to the element whose connectivity
was being set.
- Changed error returned when tag_delete_data called for entity which can't be found,
from MB_TAG_NOT_FOUND to MB_ENTITY_NOT_FOUND
- Fixed bug in tag_get_tags, where tag handles weren't passed back properly
- Improved efficiency of MOAB's TSTT mesh interface implementation in
various ways
- Extensive changes to performance tests (in test/perf) to test MOAB
performance compared to that of cubit and of MOAB TSTT mesh interface
- When requesting entities with a tag value equal to the (defined)
default value for that tag, entities not having a tag are returned in
the list
- Move conventional tag names from MBInterface.hpp into
MBTagConventions.hpp
- renamed MBCN::SubEntityConn to MBCN::SubEntityVertexIndices, and added
new function MBCN::SubEntityConn, which returns the actual
connectivity of a subentity given the parent connectivity, and the
subentity dimension and index
# Version 1.00:
Initial release (woo-hoo!)