-
Notifications
You must be signed in to change notification settings - Fork 285
/
NEWS
623 lines (606 loc) · 32.8 KB
/
NEWS
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
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
1.2.0 -> 1.2.1
* Bugfix/compatibility release.
* Update bundled NetCDF from 4.3.1 -> 4.4.1.1.
* Fix for upcoming MatGetSubMatrix name change.
* 64-bit indices fix in src/apps/amr.C.
* Add empty LIBMESH_PARALLEL_FLOAT_OPS macro for --disable-mpi case.
1.1.0 -> 1.2.0
* 1.2.0 is the last release that does not require a C++11 compiler.
* Add Eigen optimizations for DenseVector::l2_norm(), l1_norm(), linfty_norm(), dot().
* Add clang-specific vectorization pragmas in DenseVector.
* Fix BoundaryInfo::operator=
* Add EquationSystems flag to skip internal refine/coarsen calls.
* Add MeshBase::is_replicated() function.
* AbaqusIO: Support reading elements of type 'S3'.
* AbaqusIO: Support generated elsets and nsets.
* ImplicitSystem: Allow users to control if the matrix and RHS should be zeroed out.
* Fix issue where delete_remote_elements() was called inappropriately.
* Remove PetscMatrix::update_preallocation_and_zero().
* Deprecate old Elem and Mesh interfaces and constructors.
* Officially remove long-deprecated MeshData class.
* Fix unsigned int/size_t mismatch in for loops.
* Move BoundingBox to its own header, deprecate old usage.
* Add Elem::loose_bounding_box() implementations.
* GmshIO: Allow multiple lower-dimensional elements for BCs.
* Add BoundaryInfo::regenerate_id_sets().
* Use *parallel* max_elem_id in assert code.
* Fix DistributedMesh build_node_list_from_side_list().
* Support for VTK-7.1.
* Misc. VTK improvements from @acbauer (avoid memory leaks, etc.).
* Fix issues with mesh extrusion when using DistributedMesh.
* Add MappedSubdomainPartitioner, maps subdomains to processor ids.
* Add Distributed-compatible BoundaryInfo unit tests.
* FEMSystem: Add solvers for second-order in time problems.
* Add missing Pyramid sidesets in ExodusII_IO.
* Add SubdomainPartitioner, partitions "chunks" of subdomains.
* Fix issues with vectormap::find().
* Add evaluable_nodes iterators.
* CheckPointIO format can now be used to pre-split meshes.
* Fix several issues in CheckPointIO.
* Misc. Doxygen updates, fix issue with missing libmesh_final classes.
* int -> PetscBLASInt in BLAS/LAPACK routines.
* AdjointRefinement ghosted adjoint compatibility.
* Fixes for multisystem XDA reads.
* Fix gmsh numbering and node ordering for PRISM15.
* PointLocator fixes and updates for "truss-like" meshes.
* Add extra package search paths in trilinos.m4.
* inverse_map() fixes for infinite elements.
* Update AutoPtr unit test to test UniquePtr.
* Adjust tolerance in Edge3::volume().
* Update fix for errno.h inclusion in a namespace.
* Reorder paths starting with /lib to the end of the linking list.
* Fix misc. documentation typos and wording in geom, quadrature, partitioning.
* Use the -fno-limit-debug-info flag in dbg/devel mode for clang.
* Use the '-Wunused -Wunused-parameter' flags for clang in all modes.
* Avoid printing unprintable [unsigned] char Parameters.
* Only serialize the Mesh to processor 0 for Exodus.
* Add a barrier() to ~LibMeshInit to avoid missing potential error messages.
* Misc. DistributedMesh fixes.
* Fixes for MeshTools::n*levels().
* Various source code formatting improvements.
* Optionally skip find_neighbors in MeshBase::read().
* SLEPc: Add option to set initial guess.
* SLEPc: Add 'target' spectrum positions.
* SLEPc: detect major, minor, subminor version numbers during configure.
* Add SLEPC_VERSION_LESS_THAN macro.
* Fix binary writing of GMV files.
* Fix bug when merging NULL+non-null CouplingMatrix.
* Mange the lifetimes of various protected members with UniquePtrs.
* Add PointNeighborCoupling class and unit test.
* Fix bugs in MeshTools::all_tri().
* Deprecate ImplicitSystem::get_linear_solver().
* Use os_unfair_lock() for Mac OS X Sierra compatibility.
* Allow virtual methods for edge_fe_reinit() and elem_fe_reinit().
* Enable 1D Hermite elements of arbitrary p.
* Prefix libMesh Parallel:: macros with LIBMESH_.
* Fix GetPot off-by-1 bug.
* Add support for --redirect-output command line option.
* Move serial->replicated_mesh.h, parallel->distributed_mesh.h headers.
* Add GetPot::get_subsection_names() and unit tests.
* Various Trilinos ifdef fixes.
* Add PointLocatorBase::locate_node() and unit tests.
* Various Doxygen fixes, update docs at libmesh.github.io.
* Bugfix for FEMContext::pre_fe_reinit SCALAR case
* Add historic authorship information for various classes.
* Add libmesh_isinf() helper function.
* Optionally skip lower dimensional element counting in TreeNode.
* More robust caching with Clough-Tocher elements.
* Add MeshTools::paranoid_n_levels().
* Add MeshCommunication::send_coarse_ghosts().
* Fixes for MeshTools::n*levels on empty meshes.
* Ignore TBB placement-new warnings in GCC6.
* Fix bug in Tri3::contains_point() implementation affecting small triangles.
* Fix issue with missing incrementing copy constructor to ReferenceCounter class.
* Add compiler.m4 support for Intel 2017 compilers.
* Fix for ExodusII_IO::write_timestep() in single precision case.
* Fix issue with accessing read-only solution vector in PetscDiffSolver.
* Include CITATION file with distributed tarballs.
* Disallow remote element removal during Mesh copy.
* Fix ExodusII_IO::copy_* on distributed meshes.
1.0.0 -> 1.1.0
* Add interface for passing the transpose nullspace to PETSc.
* Fixes for MPI implementations not quite compatible with MPI-2.
* Generalize/modernize systems_of_equations_ex2,3.
* Fix/document issues with DirichletBoundary variable ordering.
* Add new GhostingFunctor interfaces for generalizing which dofs are ghosted.
* Correctly use MPI_UNSIGNED_LONG_LONG to wrap unsigned long long types.
* Add TransientSystem<EigenSystem> typedef.
* Add gather(), allgather() overloads for std::string.
* Fix pack_range bug.
* Misc. NemesisIO fixes including writing node/sideset ids and names.
* Abaqus reader now tolerates whitespace before commas in *NODE sections.
* Add BoundaryVolumeSolutionTransfer class.
* Fix FParser AD data file race in parallel.
* Add --drop-cerr command line argument.
* Fix warnings by avoiding the possibility of throwing from destructors.
* Fix multi-dimensional mesh partitioning bug in Metis.
* Add vector<vector> scatter implementation.
* Update bundled Eigen from 3.2.5 to 3.2.9.
* Fix detection of VTK 6.0 (we skipped straight to 6.1 for some reason)
* Add QUADSHELL4/TRISHELL3 support to Exodus reader, FE, and Mesh classes.
* Update bundled boost subset from 1.55 to 1.61.
* Minimum boost version required for building libmesh bumped to 1.57.
* Remove deprecated Mesh IO classes (DivaIO, LegacyXdrIO, MGF).
* Fix deprecated header warnings caused by CPPUnit.
* Misc. infinite elements fixes from Hubert Weissmann.
* Enhance MeshFunction/PointLocator to work with discontinuous FEM on faces.
* Enhance System::point_value() interface to make it harder to call incorrectly.
* Implement DenseMatrix::svd() for --enable-complex builds.
* Avoid double call to KSPSetFromOptions.
* Throw exception from TypeTensor::solve() on zero determinant.
* Handle exceptions thrown by TypeTensor::solve() in FE::inverse_map().
* Remove previously-deprecated PointLocatorList class.
* Fix Hypre detection for PETSc 3.6.x+ builds.
* Use n_active_elem() instead of n_elem() when flagging by elem fraction.
* Guard Trilinos header includes with ignore/restore warnings headers.
* Fix issue where the PointLocator _initialized flag was not reset by clear().
* Add get_array() capability to PetscVector and use internally.
* Enhance DenseMatrix::evd() interface to also compute left and right eigenvalues.
* Add MPI_Scatter wrappers to Parallel:: interface.
* Add --enable-petsc-required configure option.
* Add extensive unit tests of various FE/Elem combinations.
* Fix caching bugs in FEXYZ and CLOUGH element types.
* Fix bugs and add unit tests of reading unique ids.
* Use PetscViewerPushFormat in PetscMatrix and PetscVector.
* Miscellaneous --enable-single (single precision) bug fixes.
* Keep boundary IDs consistent on DistributedMesh.
* Avoid writing trailing whitespace to XDA files.
* Add --enable-cxx11-required configure option.
* Add all_first_order option to meshtool.
* Optimize stitch_meshes() algorithm by avoiding unnecessary PointLocator calls.
* Add configure test for std::make_unique() and libmesh_make_unique() workaround.
* Add MeshBase::active_semilocal_elements_begin()/end() accessors.
* Handle NULL elements in EquationSystems::get_solution().
* Fix const-correctness issues in Elem interface, deprecate old interfaces.
* Add configure test of C++11 noexcept.
* Remove object-oriented C from misc_ex7.
* Restrict several examples to only run with specific linear solver packages.
* Slight optimizations to Tri6, Hex8::volume().
* Add optimized specialization of Elem::contains_point() for Tet4.
* Add TypeTensor::solve() and replace inverse/multiply in a few places.
* Add unit test for FParser automatic differentiation optimization.
* Don't use WRITE_PARALLEL_FILES for Xdr files unless requested.
* Update systems_of_equations_ex8 to use EDGE2 elements for connecting contact nodes.
* Add unit tests for EulerSolver, Euler2Solver, and NewmarkSolver.
* Don't assume interior_parents() are always part of the same Mesh.
* Add vectormap::find() const and non-const versions.
* Avoid repeatedly destroying/creating vector in compute_affine_map().
* Add reinit_func() to NewmarkSolver, setters for beta, gamma.
* Better documentation for FEMContext::<elem,side,edge>_reinit.
* Call connect_children() in MeshCommunication.
* Use write_discontinuous_exodusII() to plot stress in systems_of_equations_ex6.
* FEInterface::map() now handles infinite elements.
* Replace a few remaining deprecated uses of TypeVector::size() with norm().
* Only call ex_update() on Exodus files that are open for writing.
* Fix logic bug in ParameterVector::clear().
* Add DofMap::gather_constraints() helper function, use in allgather_constraints().
* Fix for writing NodeElems in ExodusII_IO_Helper::write_elements().
* Add ability to set user-defined flags when calling TetgenMeshInterface functions.
* Move ReplicatedMesh->replicated_mesh.h, DistributedMesh->distributed_mesh.h
0.9.5 -> 1.0.0
* Add parallel I/O for Nemesis format, solution vector is no longer broadcast.
* Elem: add node_ref(), node_ptr(), node_id().
* Mesh: add node_ref(), elem_ref(), elem_ptr().
* Deprecate DivaIO, Xdr{MESH,MGF,SOLN,MHEAD,SHEAD,HEAD}, LegacyXdrIO classes.
* Improve HDF5 configure tests, link against -lhdf5_cpp when available.
* Use PETSc's METIS, if available and PETSc is enabled.
* Add RAII-based performance logging macro, LOG_SCOPE.
* VTKIO is a "parallel" I/O format, it is now marked as such.
* Optimize FEMap calculations, standardize get_foo() usage.
* Configure with --enable-unique-ptr by default.
* CondensedEigenSystem: condense out constrained dofs to avoid spurious eigenvalues.
* Add OrderWrapper shim class, we are no longer limited by Order enum.
* Free communicators created by a split().
* Add --with-thread-model configure flag, split threads.h into separate files.
* Make adaptivity_ex3 use HIERARCHIC elements by default, test p and hp refinement.
* hp-adaptivity/coarsening fixes for ParallelMesh.
* Fixes for infinite elements in misc_ex1, ExodusII_IO.
* Add C++03/11 appropriate locking to PetscVector::_get_array().
* FEMContext: Don't increment hardest_fe_type order for SCALARs.
* Add SPARSELU SolverType for Eigen.
* Add misc_ex12 demonstrating the MITC4 element.
* Bugfix for DofMap::constrain_element_matrix().
* Add Type{Vector,Tensor}::norm(), norm_sq() replacing size(), size_sq().
* Allow KSP tolerances to be set from the command line.
* Remove PETSc < 2.3.3 code paths.
* Add triple_product(a,b,c) for TypeVectors.
* Fix EIM truth_solve on hybrid meshes.
* Optimize EIM by storing inner_product * basis functions
* Add method to plot EIM parameterized functions.
* Add notion of time-dependence to FunctionBase.
* Replace NULL usage with backwards-compatible libmesh_nullptr.
* Optimized memory usage in EIM construction.
* Add optimized Elem::volume() implementations for all Elem types.
* Refactor EnsightIO object to use C++ I/O and string handling.
* Mulitple re-optimizations of new GenericProjector codepath.
* Mark various leaf classes as "libmesh_final".
* Redesign Parallel packed_range functions.
* Add GMRES support to EigenSparseLinearSolver.
* MeshBase::spatial_dimension() is no longer simply LIBMESH_DIM.
* Add unit test of refining a slit mesh.
* NewmarkSolver: fix cache w/o restore bug.
* Fix dimension==0 issue in MeshTools::Generation::build_sphere() after clearing mesh.
* Add EigenSparseMatrix::l1_norm(), linfty_norm().
* Fix memory leak in vector_fe_ex{2,3,4}.
* Generalize build_cube() Gauss-Lobatto grid using redistribute().
* PointLocatorList class deprecated.
* Set preprocessor tokens when PETSc has SuperLU_dist and/or MUMPS support.
* Make System::calculate_norm() work on mixed-dimension meshes.
* Add support for writing NodeElems in Exodus using "SPHERE" elements.
* MeshTools::Modification::all_tri() generalized to work with Prisms, Hexes.
* Use unique_ids to disambiguate Hilbert orderings with overlapping nodes.
* Fixes for unique_ids with ParallelMesh.
* Unify spacing around pointer/reference declarations, establish coding convention.
* Many configure tests added for C++11 features. Test regardless of --enable/--disable-cxx11.
* Fix for writing Exodus files with non-contiguous node numberings.
* Add BounaryInfo::remove_id().
* Fix misc. Doxygen warnings, simplify examples documentation generation.
* Misc. updates/fixes to FParser AD and JIT capabilities.
* Check for consistency between libMesh and PETSc scalar and index types.
* Add DenseMatrix::svd_solve().
* Fix DenseMatrix::svd(sigma, U, VT) in rectangular case.
* Refactor Elem::side() functions to use existing "sides_node_map" arrays.
* Add Elem::key() interface, consistent with Elem::key(side) on lower-dimensional elements.
* PETSc/TAO interface updates for PETSc 3.7.0.
* Detect and workaround TRI3 numbering inconsistency in Cubit 14 and 15.
* Update bundled automake from 1.12.5 -> 1.15.
* Update bundled libtool from 2.4.2 -> 2.4.6.
* Make header/forward declaration fixes suggested by cppclean.
* Deprecate BoundaryInfo::add_{side,node,edge}() which returned result by value.
* Replace deprecated BoundaryInfo functions with versions taking a vector by reference.
* Refactor/update the UCDIO class.
0.9.4 -> 0.9.5
* Add interface to SLEPc's solver for generalized indefinite Hermitian eigenvalue problems (GHIEP).
* Refactor NumericVector::insert(), add PetscVector<T>::insert() specializations.
* Refactor NumericVector::add_vector().
* Add DiffContext::elem_solution_rate.
* Add systems_of_equations_ex7, solves large deformation elasticity.
* Add hand-coded TypeTensor<T>::inverse().
* Add static Elem::invalid_subdomain_id value.
* Bugfix in PatchRecoveryErrorEstimator.
* Miscellaneous improvements to FParser/FPOptimizer/JIT/AD code.
* Add/enhance unit tests for many classes.
* Add Elem::build(NODEELEM).
* Add CompositeFunction and CompositeFEMFunction.
* Add NameBasedIO, refactor UnstructuredMesh::read().
* Add 2D Grundmann-Moller quadrature rules for triangles.
* Improve OpenMP configure test.
* Return "invalid" ids from MeshBase::get_id_by_name(), BoundaryInfo::get_id_by_name() rather than erroring.
* Generalize the concept of "dimension" in Mesh with elem_dimensions std::set.
* Add the ParameterAccessor, ParameterMultiPointer class hierarchies.
* Fix bug in adjoints_ex3.
* Allow custom gdb command, enabling/disabling of gdb backtraces.
* Add mixed dimension mesh support to PointLocator.
* Add post-init() EquationSystems::add_system().
* Fix PointLocator bug in 2D case where elements aren't in x-y plane.
* Update AutoPtr to UniquePtr, add build support for Howard Hinnant's C++03 unique_ptr implementation.
* Miscellaneous bugfixes to support configuring with --with-dof-id-bytes=8.
* Add TopologyMap class, use to look up new nodes during refinement.
* Merge METIS/ParMETIS upstream patches from PETSc repo.
* Make METIS IDXTYPEWIDTH and REALTYPEWIDTH match dof_id_type and Real, respectively.
* Add MeshBase::{bnd,bid}_nodes_{begin,end}.
* Add systems_of_equations_ex8, solves linear elasticity with contact.
* Add GenericProjector, use to refactor FEM projection code.
* Add support for linking against VTK 6.2+.
* Add ErrorEstimatorType enum.
* Correctly compute second derivatives on non-affine elements.
* Tetgen is no longer enabled unless libmesh is configured with --disable-strict-lgpl.
* Miscellaneous bugfixes in RBEIMConstruction.
* Adding Optimization{Solver,System} classes, examples with nlopt and TAO instantiations.
* Add configure test for dlopen() and friends.
* Add embedding matrix for Prism15.
* Add EigenSparseLinearSolver::get_converged_reason().
* Add support for 1D elements in MeshTools::find_nodal_neighbors().
* Replace uses of "echo -n" in shell scripts with printf.
* Add support for PETSc 3.6.x release series.
* Use common FEMParameters in adjoints examples.
* Add support (and bugfixes) for mixed dimension refinement.
* Add NewmarkSolver support for FEMSystem-based codes.
* Add support for sparse CouplingMatrix. Improves performance in many-sparsely-coupled-variables problems.
* Add {First,Second}OrderUnsteadySolver for FEMSystem-based codes.
* Support reading boundary conditions and lower-dimensional elements in Gmsh files.
* Refactoring/bugfixes in misc_ex3, use object-oriented NonlinearImplicitSystem interface.
* Upgrade Eigen distributed with libmesh to version 3.2.5.
* Add Cap'n Proto serialization support in reduced basis code and examples.
* Multiple bugfixes for the --enable-complex configuration.
* Miscellaneous bugfixes for single precision and long double precision builds.
* Detect version 3.6.0+ in SLEPc configure test.
* Add support for debug-enabled PETSc builds -- Vec{Get,Restore}ArrayRead(), fix redundant close() calls, etc.
* Parallel mesh repartitioning bugfixes/enhancements.
* Miscellaneous improvements to trilinos.m4, set more #defines for the parts of Trilinos which are available.
* Bugfixes for non-blocking send/receive requiring persistent buffers.
* Add support for user-defined subdomain id assignment in MeshExtrusion.
* Add MeshBase::ghost_elements_{begin,end} iterators.
* Add SolverConfiguration class to generalize the setting of complicated solver parameters.
* Add PetscSolverException, change LIBMESH_CHKERRABORT -> LIBMESH_CHKERR to throw exceptions rather than aborting.
* Miscellaneous improvements/bugfixes to Parsed*Function classes.
* Miscellaneous bugfixes in Trilinos support code, better include guards.
* Use C++11 "override" feature via libmesh_override where appropriate.
* Remove outdated QuadratureRules and ElementTypes functionality.
* Support "if (!foo)" for AutoPtr using safe_bool<T> utility function.
0.9.3 -> 0.9.4
* Pyramid13 elements
* Subdivision surfaces
* Support for PETSc fieldsplits
* Point loads in reduced basis problems
* Improved AdjointRefinementErrorEstimator indicator quality
* Discontinous plotting can be done with subsets of EquationSystems
* complex-valued and single-precision ExodusII/Nemesis output
* allow appending to Tecplot ASCII files
* improved Abaqus, Gmsh, UNV I/O support
* VTK 6 support
* QHull now distributed in contrib/
* Several Fparser enhancements by @dschwen
* Automatic differentiation
* Allow NaN in fparser parsed functions
* Fparser JIT support
* Many fpoptimizer bugfixes
* plog (polynomial log approximation) function added
* Support NaN to locally disable DirichletBoundary functions
* Methods for nonlocal computations with SCALARs in FEMSystem
* PointLocator option for local element searches
* PointLocator/MeshFunction option for searches close to elements
* Better solver convergence reporting
* Better 16-bit and 64-bit hash functions
* Better QGrid behavior, documentation
* DenseMatrix eigenvalue computations
* DenseMatrix operations with mixed scalar types
* Mesh stitching can now be done using node and edge boundary IDs
* Variational mesh smoother refactoring
* MeshModification::transform() with arbitrary warping functions
* Use MPI_THREAD_FUNNELED when available
* libmesh_cast_ptr/ref/int deprecated, replaced by cast_ptr/ref/int
* libMeshEnums namespace removed; enumerations in libMesh namespace
* Configure tests for more C++11 features
* Default complation with -std=c++11, easier for users to disable
* Better configure autodetection of slepc, eigen compatibility
* configure options for software licensing
* non-LGPL-compatible options disabled by default
* libHilbert now under LGPL
* clearer "configure --help" output
* more verbose error messages using libmesh_error_msg()
* reformatted source code, no tabs should be in code from now on
* Assorted bug fixes, optimizations, new regression tests
* all_first_order() and build_extrusion() bugs fixed
* fixed libHilbert interface regression
* some xda/xdr files created with 0.9.3 MAY BE CORRUPTED when
read with older/newer libMesh versions, and vice-versa!
* fixed bug with stitching "slivers"
* fixed std::memset bug which pops up for newer GCCs on OSX
* fixed misc. distcheck bugs
* Many fixes to silence paranoid compiler warnings (see doc/notes/compiler_warnings.txt)
* Use -f when symbolic linking files during build/install stage
* 1D Gauss-Lobatto quadrature rules, additional quadrature unit testing
* Cut-cell quadrature (ElemCutter, QComposite classes) for XFEM
* Per-subdomain scalar variable support
* Added 'meshavg' application for averaging solutions
* GDB backtraces and backtraces from the segfault handler
* Support -fsanitize=address flags on newer Clang and GCC compilers
* http://libmesh.github.io created, http://libmesh.sf.net is gone/permanently blocked
* "make doc" target completely overhauled
* Protect Mesh::BoundaryInfo behind an accessor.
* NumericVector::add_vector(), ::get(), ::insert() refactoring.
0.9.2 -> 0.9.3
* FEMContext public members now private, must use API pushed in 0.9.2.
Breaks backward compatibility of FEMContext.
* Intel 14.0 Compatibility.
* Streamlined checkpoint/restart capability for ephemeral usage.
* new --disable-warnings option.
* Added heterogeneous Dirichlet adjoint constraints.
* Added edge Dirichlet constraints.
* Improved support for non-32-bit IDs.
* PETSc 3.5 support.
* OSX 10.9 XDR compatibility.
* Memory optimizations for Metis/Parmetis partitioning auxiliary
data structures.
* HEX20, PRISM15, PYRAMID5, PYRAMID14 shape functions.
* Nedelec elements.
* Upgraded bundled Boost to v1.55.
* Expanded ExodusII API.
* Additional enum/string conversion utility functions.
* Assorted bugfixes:
* for SzaBab and Bernstein h-adaptivity.
* for p-adaptivity.
* global_n_processors()/global_processor_id() functions to access
MPI rank information from the original communicator used to
initialize the library
* Fixed longstanding bug that could arise for mixed finite element
types with ParallelMesh on specific partitionings
0.9.1 -> 0.9.2
* PETSc 3.4 support
* PETSc BAIJ matrix support for blocked matrices
* opt-in for this with './configure --enable-blocked-storage ...'
* may cause issues with preallocation in Reduced Basis code -
see http://sourceforge.net/mailarchive/forum.php?thread_name=B4613A7D-0033-43C7-A9DF-5A801217A097%40nasa.gov&forum_name=libmesh-devel
* Refreshed packaged METIS and ParMETIS to latest versions
* Experimental support for DGFEMContext
* New accessor API for FEMContext objects. Public members deprecated.
* Assorted bugfixes:
* for nonstandard index sizes
0.9.0 -> 0.9.1
* Multi-communicator-capable objects
* Communicator-using ParallelObject subclasses can be initialized
with arbitrary MPI communicators, independent of the
communicator used to init libMesh or the communicators used by
other non-interacting objects
* No internal library code still uses CommWorld communicators
* CommWorld and global Parallel:: methods can be disabled via
configure --disable-default-comm-world, breaking backwards
compatibility, to facilitate compile-time checking of
libMesh-based codes for compatibility with multi-communicator
usage.
* These methods will be disabled by default in future versions,
but configure --enable-default-comm-world will work for the
next few releases
* Additional specializations for Parallel:: communication methods
* New SolutionTransfer infrastructure, implementations, examples
* Singleton framework added
* Complex-valued libMesh builds can new read real-valued restarts
* Interface to and contrib copy of Eigen linear algebra package
* Interface to and contrib copy of newer Nemesis/ExodusII/NetCDF
* build Tecplot binary I/O library from source,
* old behavior can be restored via --disable-tecio --enable-tecplot
* Assorted bugfixes:
* UnsteadySolver is now more robust inside AMR loops
* Preconditioner setup is more robust with AMR
* Fixes in Trilinos and SLEPc package interfaces
* Fix for multithreaded QoI derivative assembly
* Fixes for compiler and 3rd party library compatibility
* Clarifications, updates to API documentation
0.8.0 -> 0.9.0
* automake build system
libMesh-specific implementation features:
source and header files must be listed explicitly.
When adding a header file,
1.) svn add the file
2.) cd include ; ./rebuild_include_HEADERS.sh
3.) cd include/libmesh ; ./rebuild_makefile.sh
When adding a soure file,
1.) svn add the file
2.) cd src ; ./rebuild_libmesh_la_SOURCES.sh
General notes:
o make install && make installcheck
installs the built library & performs sanity checking
o make distcheck
packages up a tarball and tests it for self-sufficiency.
always do this when modifying the build system.
o for more information, view the README and INSTALL files.
* VariableGroups DofObject storage optimization for the common
case of multiple Variables of the same type within a System.
Note this changes the default variable ordering within a
System - the old format is available via System::identify_variable_groups()
* TecplotIO binary format updated to support v11.2 features where
available. This includes encoding the solution time into output files,
writing each libMesh subdomain to a separate Tecplot zone, and support
for 1D Tecplot binary files.
* ./configure'able support for identifier types. Defaults:
id size (boundaries)............. : 2 bytes
id size (dofs)................... : 4 bytes
id size (processors)............. : 2 bytes
id size (subdomains)............. : 2 bytes
* Reduced memory footprint for Node objects.
* Fix for using specified preconditioners with adaptivity and PETSc-3.3.
* New Examples:
o fem_system_ex2: Nonlinear elasticity, courtesy Robert Weidlich.
o adjoints_ex5: Unsteady Adjoints.
o miscellaneous_ex8: meshfree, inverse distance interpolation.
0.7.3 -> 0.8.0
* Vector-valued finite elements & related examples
* Entirely refactored Parallel namespace implementation
* Properly communicate DofIndices when communicating DofObjects
* std::thread-like asynchronous function execution
* Refactored serialized EquationSystems I/O for increased performance
* Heterogeneous constraints & bug fixes
* Proper DirichletConstraints Dirichlet boundary conditions
* Improved PeriodicBoundary support
* Refactored, parallelized SparsityPattern generation
* Weighted Patch Recovery Error Estimator suppport
* Relocated header files, e.g.
#include "dof_map.h" becomes
#include "libmesh/dof_map.h"
this will be strictly enforced in the next release.
* ParallelMesh fixes
* PGI, Sun Studio compiler portability fixes
* MeshTools::Generation::build_sphere() icosahedron support
* Improved Abaqus reader support
* Improved UCDIO writer support
* Output only a subset of variables from EquationSystems
* Run-time floating point exception trapping via --enable-fpe
* Refreshed packaged METIS and ParMETIS to latest versions
* PETSc-3.3, SLEPc 3.3 support
* Trilinos-11 support
* Mac OSX 10.8 "Mountain Lion" fixes
* New Examples:
o systems_of_equations 4, 5, 6: 2D and 3D linear elasticity
o reduced_basis_ex5: 3D linear elasticity with the Reduced Basis method
o reduced_basis_ex6: Empirical interpolation method for a geometrically parametrized domain in 3D
o reduced_basis_ex7: Complex-valued Reduced Basis problem modeling an acoustic horn
0.7.2 -> 0.7.3
* Templated FunctionBase and subclass functors
* Functor-based versions of more system APIs
* Integrated function parser based functor
* More flexible PetscMatrix responds to -mat_type
* Elem::close_to_point() method for contact problems
* Heterogenous constraint equation support
* Dirichlet constraint equation support
* More methods are ParallelMesh-compatible
* Mesh extrusion generation
* UniformRefinement error estimates for more adjoint options
* Element truth table written in ExodusII output
* GetPot detection of overridden variables
* Reorganized examples by category
* C++11 compatibility fixes
* Many assorted bug fixes
0.7.1 -> 0.7.2
* Discontinuous hierarchic FE basis
* PatchRecoveryErrorEstimator patch reuse option
* New partitioning-aware Patch construction option
* More efficient adjoint solves with PETSc
* New projection example utility
* Bare System objects are now useful for efficient utilities
* Many Exodus/Nemesis output improvements
* BoundaryInfo::sync() is now AMR- and ParallelMesh-compatible
* More code is now ParallelMesh-compatible
* More flexible Parallel:: APIs
* Elem:: utilities for semi-structured grids
* NodeConstraints calculations for moving mesh users
* Stack trace output on any uncaught exception
* Corrected non-standard C++ in FE class specializations
* Multithreaded FEMSystem assembly functions
* Assorted efficiency improvements
* Various Trilinos, Tetgen, Triangle interface improvements
* Compatibility with newer third-party packages, compilers
* Read support for ABAQUS meshes
* Many assorted bug fixes
0.7.0 -> 0.7.1
* Periodic boundary support enhancements
* New example with subdomain-restricted variables
* New examples with adjoint-based adaptivity, sensitivities
* More flexible multiphysics AdjointResidualErrorEstimator norms
* PatchRecoveryErrorEstimator of directional derivative seminorms
* Improved VTK output
* Separate RBEvaluation class for online Reduced Basis solves
* Object-based assembly API options
* Partitioning can now use element weights
* Better support for boundaries with multiple BC IDs
* More matrix printing options
* XZ compression support
* Subset solves with PETSc
* Better SLEPc compatibility
* Properly read restart files with a subset of our variables
* New utility for comparing restart files
* Easier enabling of float, long double configurations
* Most features now work with RTTI disabled
* Many assorted bug fixes
0.6.4 -> 0.7.0
* Certified Reduced Basis model creation/evaluation
* Adjoint-based sensitivity calculations and error indicators
* Support for newer PETSc, SLEPc
* More autodetection of optional dependencies
* New examples:
** Discontinuous Galerkin
** SCALAR Lagrange multipliers
** Certified Reduced Basis method
* Parallel:: utilities for std::set data
* Parallel:: support for non-default MPI communicators
* Parallel:: support for non-magic-number message tags
* GMVIO support for subdomain material ids
* ExodusII support for writing discontinuous data
* Switched some example output formats to Exodus, now that GMV is going away
* More ASCII IO support for variable precision
* FEMContext utilities are now useable outside FEMSystem
* Optional BLAS-based dense linear algebra operations
* Improved fork of GetPot input parsing
* Support for interior boundary ids
* Elem::find_edge_neighbors utility
* Additional patch recovery error estimation norm options
* Additional SystemNorm functionality
* Support for zero-dimensional "meshes"
* Support mesh construction without pre-specified dimensionality
* Optional independent redirection of libMesh output/error text streams
* Moved libMesh classes into libMesh namespace
* More forward declarations, refactoring to reduce header dependencies
* Fix for an infrequent-but-major I/O-corrupting bug in our libHilbert interface
* Fix for errors when doing adaptive refinement across a periodic boundary
* Fix for projections on systems with per-subdomain variables
* Many fixes for minor bugs, overzealous assertions