-
Notifications
You must be signed in to change notification settings - Fork 286
/
NEWS
1969 lines (1939 loc) · 101 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
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1.7.3 -> 1.8.0
* AbaqusIO
- Add Abaqus element maps for TRI6 and QUAD8 elements
- Make nodeset/sideset counter types in Abaqus mesh reader consistent with other boundaries
- Do a better job of respecting Abaqus node and element numbers
- Add file compression support to Abaqus reads
- Fix off-by-one error in Abaqus element renumbering
- Make AbaqusIO extendable to enable parsing of UMATs (#3969)
* Elem
- Add Tri7 element and associated library support
- Add Tet14 element and associated library support
- Add ElemSideBuilder
- Add Elem::side_type()
- Add Elem::quasicircumcenter()
- Add Prism20, Prism21 elements
- Add NodeElem contains_point() and close_to_point() implementations
- Add Pyramid18 element and associated library support
- Add subdomain_id to elem info output (#3487)
- Add Elem::topologically_equal()
- Add Elem::is_flipped()
- Add generic Elem::quality(ASPECT_RATIO), add unit tests for Elem quality metrics
- Reorder InfHex children
- Add Elem::complete_order_equivalent_type()
- Better error message for RemoteElem:: methods
- Add Elem::low_order_key()
- Don't die in Elem::volume() on a twisted element
- Add QUADSHELL9 element and shell elem unit tests
- Add Elem::is_internal() API for identifying internal (non-vertex/edge/side) nodes
- Add improved ASPECT_RATIO quality metric for Quad elements with unit tests
- Add Tri::quality(ASPECT_RATIO) implementation and unit tests
- Rename existing, generic ASPECT_RATIO metric to EDGE_LENGTH_RATIO
- Add pure virtual Elem::edges_adjacent_to_node() function and overrides
- Add generic Elem::quality(MIN,MAX_ANGLE) implementation
- Add generic Elem::quality(MIN,MAX_DIHEDRAL_ANGLE) implementation
- Add generic Elem::quality(JACOBIAN, SCALED_JACOBIAN) implementation
- Add Elem::max_nodal_order() API
- Add Elem::positive_{edge,face}_orientation() APIs
* ExodusII
- Add ExodusII_IO::get_{side,node}set_data_indices()
- Fix for writing write Exodus from multiple procs at once
- Add new BEX element types to ExodusII helper
- Add ExodusII_IO::write_elemsets()
- Add/use ExodusII_IO_Helper::read_elemset_info()
- Add/use ExodusII_IO_Helper::read_elemset()
- Add ExodusII_IO::{write,read}_elemset_data()
- Fix deprecated Exodus calls (e.g. exII::ex_get_var_param() -> exII::ex_get_variable_param())
- Add ExodusII_IO_Helper::set_add_sides(), ExodusII::write_added_sides()
- Add named block, sideset, and nodeset support for Nemesis meshes
- Fixes for edge block reading
- Do not throw from ExodusII_IO_Helper::close()
- Fix for Exodus writer when sideset and shellface set have same id
- Add Exodus EDGE4 support
- Add "WEDGE6" to ExodusII helper
- Avoid manual memory allocation in ExodusII_IO_Helper::read_qa_records()
* IGA
- Update 3D IGA projection regression test values
- Add MeshTools::clear_spline_nodes()
- Optimize 1D, 2D, 3D IGA derivative calculations
- Add support for Bezier elements in VTK output
- Weight spline nodes heavily when partitioning
- Always number IGA nodes consecutively
* FE
- Add HIERARCHIC FE support for tets
- Add SIDE_HIERARCHIC support for triangles
- Add fe_fdm_deriv(), fe_fdm_second_deriv() support for derivatives of Bernstein, Szabo-Babushka, HIERARCHIC basis functions
- Fixes/improvements for single, quad-precision Real
- Remove caching from FE<CLOUGH>, Clough-Tocher should work multithreaded now
- Factor out common code in BERNSTEIN p=3,4
- Factor out edge flip calculation on Sza-Bab quads
- Add L2_HIERARCHIC support on Tets and Prisms
- Add _elem_p_level variable in FEAbstract
- Add Raviart-Thomas 2D, 3D support
- Introduce H_DIV FEContinuity enumeration
- Add vector_fe_ex{6,7,8,9}
- Create L2_RAVIART_THOMAS FE Family
- Error if mismatched p-levels for Lagrange between neighbors
- Create L2_LAGRANGE_VEC FE Family
- Add FEInterface::is_hierarchic()
- Add HIERARCHIC_VEC and L2_HIERARCHIC_VEC FE Families
- Add support for 2D Nedelec shape functions, 2nd-5th order
- Instantiate FIFTH order unit tests for MONOMIAL FEs
- Throw an error in opt mode for HIERARCHIC p=0
- Average side nodal solutions for H_DIV elements
* Mesh
- Move stitching from Replicated->Unstructured Mesh
- Add MeshBase::change_elemset_code(), MeshBase::get_elemset_codes()
- Add MeshBase::active_unpartitioned_element_ptr_range()
- Support Laplace smoothing of unpartitioned meshes
- Add support for reading/writing elemset codes in Xdr files
- Add BoundaryInfo::renumber_id()
- Add MeshBase::reinit_ghosting_functors() API
- Add QUADSHELL{4,8} support to MeshTools::Generation::build_square()
- Add MeshTools::Modification::orient_elements()
- Allow child elements to have BoundaryInfo associated with them
- Add MeshBase::operator==()
- Add BoundaryInfo::operator==()
- Add MeshBase::copy_constraint_rows()
- Add MeshRefinement::_allow_unrefined_patches flag and accessor
- Macroify all the mesh iterators
- Add option for removing global boundary ID in remove_id()
- Add remap_subdomain_ids capability in stitch_meshes
- Preserve id(), subdomain_id() when reading VTK elements
- Add BoundaryInfo::libmesh_assert_valid_multimaps()
- Add MeshBase::copy_constraint_rows(Matrix) function
- Support TRI7 in build_sphere()
- Add MeshBase::n_constraint_rows(), print_constraint_rows()
- Use connect_element_dependencies() in CheckpointIO
- Fix VTK unit test with DistributedMesh
- Add MeshTools::MeshGeneration::build_square(TRISHELL3) support
- Add entities BoundingBox testing in GmshIO
- Add MeshTetInterface::volume_to_surface_mesh()
- Add tet support to MeshTools::MeshGeneration::build_sphere()
- Add MeshTools::volume()
- Add unit tests for MeshSmoother subclasses
- Fix ReplicatedMesh(DistributedMesh&) construction
- Update id counts in MeshCommunication::broadcast()
- Add STLIO class, add .stl support to NameBasedIO
- MeshBase::elem_orders() API
- Add triangulation, tetrahedralization options to meshtool app
- Allow MeshFunction::find_element() to return a non-local Elem provided that it is evaluable
- Add SimplexRefiner class
- Add MeshTools::Generation::surface_octahedron()
* Miscellaneous
- C++17 support is now required
- Add/use exceptionless_{semi}parallel_object_only() macro
- Add plain integrals to calculator app
- Fix FParser JIT compilation on Apple M1
- Add configure --enable-hdf5-required option
- Fix all_second_order() bug with extra integers
- Eliminate valgrind errors using a condition_variable
- Implement doubly-checked lock for _get_array()
- Add static TensorValue::rotation_matrix() helper
- Lock against concurrent read-write in PetscVector::add()
- Add std::hash<Point> overload
- Increased constness in {const_,} elem_iterator
- Add PerfLog for our unit tests
- Add unit test for MeshBase::all_second_order_range()
- Use std::make_unique everywhere, deprecate libmesh_make_unique
- Use std::string_view in place of std::string references
- Remove long-deprecated overload MeshTools::find_boundary_nodes()
- Remove deprected UniquePtr workaround for std::unique_ptr
- Use C++17 structured bindings in many for-loops
- Implement many clang-tidy suggestions
- Add Utility::CompareUnderlying helper struct
- Avoid using AC_CHECK_HEADER to search for petscversion.h
- Don't lock in libmesh_singleton.C
- Give a warning if an Exodus variable name will be truncated
- Remove __SUNPRO_CC specific code
- Avoid manual memory management in variant_iterator
- Use std::stack for managing DiffPhysics, DiffQoI lifetimes
- Require support for enum forward declarations
- Add unit test of find_neighbors() on mesh of 1D elements with different orientations
- Add more generic index_range() support (for any container that has a size() method) (#3377)
- Factor out common {left,right}_multiply_transpose() code
- Fix for VTK 9.2 linking to libvtksys
- Add allow_nodal_pyramid_quadrature flag, use in unit tests
- Prefer std::to_string over sprintf
- Don't call setenv on Windows builds
- Use NBX algorithm in send_coarse_ghosts(), redistribute()
- Fix NumericVector::compare()
- Add NonlinearSolver::set_exact_constraint_enforcement()
- Prefer using std::make_unique to new whenever possible
- Change unsigned int to size_t in CouplingMatrix to prevent overflow for large number of variables (#3541)
- Various fixes related to fsanitize=integer
- Add way to disable use of p-refinement when doing FE::reinit
- Fix parallel bounding box union in get_info()
- Output any plain *FLAGS (from environment) in config_summary
- Avoid partially merging boundary nodes when stitching, return number of merged nodes
- Factor divisions out of hilbert index calculations
- Add DiffContext allocate_local_matrices option
- Upgrade to autoconf 2.71
- Don't include vtkConfigure.h when compiling with VTK 9.3
- Add clone method to QBase
- Add more general matrix packing (#3662)
- Add unit test of writing an XDR file for a refined mesh with extra elem integers
- Add support for --with-xdr-include and --with-xdr-libname configure flags
- Make enum_to_string() and string_to_enum() thread-safe
- Fix Eigen preconditioning in 64-bit builds
- Only do CPPUNIT_ASSERT_THROW tests if libmesh exceptions are enabled
- Initialize variables within if-statements when possible
- Add a DofMap API to set need_full_sparsity_pattern
- Add CLI option --print-constraints
- Add MeshfreeInterpolationFunction class derived from FunctionBase<Number>
- Various "make dist" fixes
- Fix elem dof distribution for --node-major-dofs
- Fix missing <memory> include in getpot.h
- Add BoundingBox::contains(BoundingBox) unit test
- Add FPEDisabler class, fix several cases where potential FPEs were detected
- Make libmesh_terminate_handler() API available in libmesh.h
- Add NonManifoldGhostingFunctor, SidesToElemMap classes
* Numerics
- Add SVD in preconditioner type
- Allow use of matrix-free when computing residual and jacobian together
- Fixes for petscdmlibmesh PETSc 3.18 compatibility
- Workaround for PETSc 3.18 losing %D support
- Add pointwise_divide() to PetscVector
- PETSc 3.19 deprecated some convergence reasons
- Convert PETSC_RELEASE_LESS_THAN macro usage to PETSC_VERSION_LESS_THAN
- Add in-place L2 norm difference method
- Add PETSc versioning macros that imitate PETSc's own macros
- Add ability to specify absolute tolerance for linear solvers
- Use VecGhostGetGhostIS instead of VecGetLocalToGlobalMapping
- Clear used CLI args pre-PetscFinalize
- Fix swap of init with non-init DistributedVector
- Add SparseMatrix::read_matlab()
- Add SparseMatrix::col_start()/stop()
- Add PetscMatrix read_petsc_* methods
- Fixes for strict petsc error code checking
- Make sure every PetscFunctionBegin has a matching PetscFunctionReturn
- Add matrixconvert app
- Add SparseMatrix::solver_package()
- Add SparseMatrix read support from zipped .m files
- Add LIBMESH_PETSC_SUCCESS wrapping PETSC_SUCCESS macro
- Pass unique_ptr by value to NumericVector::restore_subvector()
- Add {NumericVector,SparseMatrix}::fuzzy_equals()
- Add {absolute,relative}_fuzzy_equals() support for TypeVectors/TypeTensors of MetaPhysicL types
- Add PetscMatrixBase<T>, base class for PetscMatrix<T> and PetscMatrixShellMatrix<T>
- Initialize PetscVector private members consistently
- Add StaticCondensation class, derived from PetscMatrixShellMatrix<T>
- Add LibmeshPetscCallA(), LibmeshPetscCallQ() macros
* PerfLog
- PerfLog::fast_pop() should be noexcept
* Poly2TriTriangulator
- Add Poly2TriTriangulator, a subclass of TriangulatorInterface
- Add Poly2TriBadMultiBoundary unit test
- Don't let DistributedMesh number poly2tri nodes
- Add distance_from_circumcircle() API
- Support converting Edge3 to triangulator segments
* Reduced Basis
- Add interpolationPhiValues to RBEIMEvaluation capnproto schema
- Update to how observation points for EIM basis functions are evaluated
- Fix race condition in writing header in RBEvaluation::write_out_vectors()
- Update RBEIMConstruction::enrich_eim_approximation()
- Fix for shellfaces in RBEIMEvaluation::side_distribute_bfs()
- Update to RBConstructionBase<Base>::get_n_training_samples() (#3115)
- Use best_fit_type_flag to switch between POD and Greedy EIM training
- Add virtual methods for specifying index maps for the RBParametrizedFunction in EIM approximations
- Add support for EIM on nodesets
- Fix to apply constraints and scaling inside node assembly in add_scaled_matrix_and_vector()
- Allow empty EIM basis in RBEIMConstruction::train_eim_approximation_with_POD()
- RBConstruction: Re-throw exceptions on all procs in parallel
- Add RBParameters::has_value(), has_extra_value() APIs
- Deprecate RBParameters::get_parameters_map()
- RBParameters: store std::vector<Real> instead of single Real
- Add RBParameters::set_value(name, index, value) and RBParameters::push_back_value() APIs
- Provide STL iterator typedefs for RBParameters::const_iterator
- const correctness updates for RBThetaExpansion, RBConstruction APIs
- Add RBParameters::push_back_extra_value(), RBParameters::get_extra_step_value()
- Add EIM error indicator based on using one extra EIM iteration
- Add VectorizedEvalInput struct to encapsulate inputs to vectorized_evaluate() functions
- Introduce scaling option into RBEIMConstruction inner products
- Replace NumericVector with std::vector in RBConstructionBase
- Add support for storing each RB parameter as a vector quantity
- Handle the case where we encounter linearly dependent data in EIM
- Add EIMVarGroupPlottingInfo struct, update EIM plotting functions
- Make preevaluate_thetas() virtual, it should be overridden in derived classes
- Add elem center tangent derivative storage for VectorizedEvalInput in EIM
- Add virtual RBEIMEvaluation::project_qp_data_vector_onto_system() API
- Remove previous EIM bf projection methods that are not needed
* Submodules
- Update MetaPhysicL to 1.4.0+
- Update TIMPI to 1.8.5+
- Update autoconf-submodule, add support for Nvidia, gcc11, icc21 compilers
- Add poly2tri submodule
- Update nanoflann (#3121)
- Add Eigen submodule, update to version 3.4.0
- Add NetCDF submodule at version 4.9.2
- Add Netgen submodule currently at version 69f2ea56
* System
- Throw an error in EigenSystem::solve if we have constraints
- Add shell matrix support for CondensedEigenSystem
- Add System::has_constraint_object()
- Make System::is_initialized() const
- Add System matrix iterator APIs to match vector iterator APIs
- Add CondensedEigenSystem::initialize_condensed_matrices(), have_condensed_dofs() APIs
- Implement (Equation)System(s)::init() in terms of reinit_mesh()
* TypeVector/TypeTensor
- Add TypeVector::outer_product()
- Add a column() API to TypeTensor
- Add static_assert(is_trivially_copyable<TypeVector>)
1.7.1 -> 1.7.3
* PETSc support
- Full compatibility with PETSc 3.18 and 3.19
1.7.0 -> 1.7.1
* PETSc support
- Avoid using AC_CHECK_HEADER to search for petscversion.h
- Full compatibility with PETSc 3.17
- Remove method deprecated in C++17
- Compatibility fix for MS VC 2019
1.6.2 -> 1.7.0
* Benchmarking support
- Add benchmark_example() macro, $LIBMESH_BENCHMARK env
- Add CLI overrides, comments, performance logging, and benchmark parameters to many examples
* BoundaryInfo
- Apply zero-D nodeset names in gmsh_IO
- Act on id to name maps in BoundaryInfo::regenerate_id_sets
- Selectively remove boundary information after mesh stitching
- Add nodes into nodesets in build_cube
- Add set names from other mesh when stitching
- MeshBase reference member in BoundaryInfo changed to pointer
* Docs
- Mention "make uninstall" in README.md
- Update Elem documentation with reference coordinate intervals.
- Update DenseMatrix docs
- Add more verbose documentation for InfFE constraints
- Improve comments on AMR with InfElem.
- Update documentation for intro_ex3, ex4
* Elem
- Fix Elem::is_child_on_edge()
- Add Elem::center_node_on_side()
- Add Elem::true_centroid(), Elem::vertex_average(), deprecate Elem::centroid()
- Add optimized Elem::true_centroid() overrides for some Elems
- Use displacement vectors for relative_fuzzy_equals() in has_affine_map() tests
- Don't connect interior_parents in other meshes
- Handle interior_parents in connect_families()
- Assert interior_parent() AMR consistency
- Use hack_p_level inside set_p_level
- Sync p refinement flags along with p levels
- Add Elem::hack_p_level_and_refinement_flag and use in Elem unpack
- Add Elem::n_permutations(), Elem::permute()
- Add Elem::swap*nodes helper functions
- Add Elem::is_singular_node()
- Deprecate the SideEdge class
- Use non-allocating build_edge_ptr where possible
- Add "fill" overload for build_edge_ptr
- Stop using SideEdge proxies
- Add const version of build_edge_ptr
- Add Elem::simple_build_edge_ptr implementation
- Deprecate the Side class
- Deprecate attempts to build proxy Side objects
- Stop building proxy sides by default
- Set subdomain_id+p_level in all side/edge elems
- Add Elem::has_invertible_map() and overrides for some elements
* ExodusIO
- Support empty sidesets + nodesets in ExodusII
- Update contrib ExodusII to version 8.11
- Get exodusII.h include out of our headers
- Add and use ExodusII_IO_Helper::update()
- inquire() function signature change, move to anonymous namespace
- Undef multiple guard macros for Exodus+Nemesis
- Fix Exodus extra integers unit tests
- Fix extra_integers read in ExodusII_IO
- Add support for writing components of CONSTANT MONOMIAL_VEC variables
- Add ExodusII_IO::get_elem_num_map() and get_node_num_map() APIs
- Add ExodusII_IO::write_nodeset_data() API
- Add unit test of writing nodeset data to Exodus file
- Exodus_II_IO::copy_*_solution(DistMesh) fixes
- Make ExodusII_IO_Helper::nodal_var_values a map
- Handle incomplete node and elem var maps
- Add number of nodes per Elem sanity check
* FE
- Fix FE side unit tests with --enable-complex
- Allow second order L2_LAGRANGE on first order elements
- Allow arbitrary order L2_HIERARCHIC with arbitrary order elements
- Change max order for L2 families
- Rotate FE test meshes after permuting elements
- Add a cubic to fe_test analytic functions
- Fix p>2 SIDE_HIERARCHIC second derivatives
- Permuting edges fixes p=2 SIDE_HIERARCHIC HEX27
- Disable higher order SIDE_HIERARCHIC on HEX27
- Add warnings to permute_elements doc
- Test all FE except HERMITE with permuted elements
- Add test_permute unit test
- Non-templated FEMap instantiate shim
- Add missing PYRAMID14 master point
- Add Unit tests for SIDE_HIERARCHIC FE
- Support SIDE_DISCONTINUOUS in projections
- Add SIDE_HIERARCHIC FE and related enums
- Add shape functions for NEDELEC_ONE FEs on TET10 mesh elements
* FEMContext
- Use vars vectors in GenericProjector functors
- Use _active_vars in FEMContext calculations
- Sort FEMContext::_active_vars
- Optional active_vars in all FEMContext::FEMContext
- Add active_vars member, accessor to FEMContext
- Use delegating constructor idiom for FEMContext
- Raw ALE variables should be protected
- Fix docs that referred to old example
* InfFE
- Disable misc ex15 with --enable-node-constraints
- Don't test InfFE AMR with ENABLE_NODE_CONSTRAINTS
- Fix compilation with node constraints + InfFE
- Update documentation
- add further virtual_for_inffe-statements
- add dimension-parameter for decay_deriv
- correct computation of derivatives for non-affine mapped base
- correct base_point function for non-affine base
- add test for inf side
- add new InfElem test: numerical derivatives
- change in InfFE::reinit(elem, pts):
- Add support for InfFE::reinit(side)
- Adapted tests for infinite elements; added further test-calculations.
- fix inverse_map in InfFE: for nonaffine base, the intersection was wrong
- Update misc_ex1, ex14 to new InfFE APIs
- Change 'child_side' to 'child_base' to reduce confusion.
- Add test-calc. for infinite elem + AMR
- Add html documentation for new example
- Ran bootstrap for the new example
- Add new example: miscellaneous 15
- Enable AMR with infinite elements
* Isogeometric Analysis (IGA)
- Rational function shapes_need_reinit is true!
- Test inverse_map on less trivial master points
- Fix manifold-vs-nodeelem checks
- testMasterCenters() in IGA unit tests
- Use gzipped bxt meshes in unit tests
- Support zipped files with DynaIO
- Add testProjectionRegression to Dyna unit tests
- Move BERNSTEIN HEX27 interior DoFs to node
- DynaIO unit tests on more meshes.
- Do some regression testing on IGA projections
- Process constraints when DynaIO adds them
- Do *not* sync done_saving_ids across processors
- Deprecate SparsityPattern::Build direct access
- solve_for_constrained_dofs for IGA project_vector
- Added System::solve_for_unconstrained_dofs
- Allow belated System::add_matrix()
- DofMap::process_mesh_constraint_rows
- Don't store zero entries in IGA constraint rows
- DofMap::constrained_sparsity_construction() option
- Comment on math in solve_for_unconstrained_dofs()
- Omit add_spline_constraints call in fem_system_ex5
- Don't call add_spline_constraints in Dyna tests
- Move spline constraint work from DynaIO to DofMap
- Use MeshBase constraint_rows in DynaIO
- Store constraint_rows with a MeshBase
- Allow renumbering and distributing on IGA meshes
- delete_remote_elements support for constraint_rows
- Beginning gather(constraint_rows) work
- Don't try to redistribute() constraint_rows
- Remove deleted nodes from Mesh constraint_rows
- Store mesh constraint_rows by pointer
- Store elem ids in MeshBase::constraint_rows
- Default to non-SECOND approximations again
- Run reduced_basis_ex5 twice, once with .bext mesh
- Don't try to reserialize a distributed IGA mesh
- Fix delete_remote_elements constraint erasure
- Add Twisted_Beam bext file
- Allow reduced_basis_ex5 to read mesh files
- Support 1D/2D calculations in reduced_basis_ex5
- Do not skip NodeElems with constrained DoFs!
- Use new L2System features in calculator app
- Support null L2System::input_system
- Support multi-dimensional meshes in L2system
- Add subdomains_list to apps L2system
* Mesh
- Include unpartitioned elements in MeshBase::subdomain_ids
- Allow Elem, Node re-insert in ReplicatedMesh
- Move MeshCommunication::*gather to MeshBase
- Implement mesh move constructors in terms of MeshBase::assign() function
- Add more verbose output to MeshBase::get_info()
- Add API to tell mesh it is not prepared
- Deprecate public MeshBase::boundary_info member
- Add global data structures for mesh subdomain and boundary ids
* MeshFunction
- Add MeshFunction copy constructor; implement MeshFunction clone() in terms of this
- MeshFunction::set_point_locator_tolerance(): set both PointLocator tolerances
- MeshFunction: use unique_ptr to manage PointLocator
- Add non-const accessor for underlying PointLocator
* Misc. bugfixes and improvements
- Ghost periodic point neighbors in GhostPointNeighbors
- Add MeshInput::is_parallel_format() accessor
- Update contrib version of Eigen to 3.3.9
- Update contrib version of lcov to 1.15
- Upgrade TIMPI to 1.7.0_bootstrapped
- Update MetaPhysicL to 1.1.0_bootstrapped
- Add TypeVector overloads for std::norm and friends for Eigen::Matrix
- Add support for exchanging adjoint physics
- System: store unique_ptrs in _vectors map
- Add copy assignment+constructor for ParsedFunction and unit tests
- Move basic matrix storage and create virtual matrix APIs in System
- Add InterMeshProjection class to handle arbitrary projections between meshes
- PointLocatorTree: use std::shared_ptr to manage tree
- Add new PointLocator derived class based on Nanoflann
- Don't try to autodetect headers for tecio in system locations
- Add nodal quadrature rules for Pyramids
- Add MeshModification::permute_elements()
- Officially deprecate UniquePtr
- Improve performance of BoundingBox::contains_point() by inlining it
- Add chunked_mapvector, a variant of mapvector that tries to improve performance
- Mimic STL and boost constructors in our allocators
- DofMap: add const DofConstraints accessor
- Fix --disable-amr builds
- Fix --enable-all-static builds
- fparser: update deprecated throw specifications
- Fix BC issue in systems_of_equations_ex8
- Create multi_evaluable predicate
- Add Elem::affine_tol and use in has_affine_map comparison tests
- Disable HDF5 file locking unless the user insists
- Set next unique id in copy_nodes_and_elements
- PointLocatorTree: avoid Elem::contains_point() warning when using custom tolerances
- Updates to C++11/14/17 configure tests
- Fix compilation with both CAPNP and GLPK enabled
- Turn off gdb backtraces by default
- Add and test Dense{Vector,Matrix} std::initializer_list constructors
- Add configure test for C++11 <initializer_list> header
- Avoid allocating sparse matrix when using JFNK
- Fix leak in merge_ghost_functor_outputs
- Detect if PETSc has strumpack
- Add local_singular_node to Elem for catching singular nodes in inverse_map
- Add bounding box scaling
- Remove potential deadlock with Singletons and RemoteElem
- DofMap::distribute_dofs() now returns the total number of DOFs across all procs
- Drop SHA1 lib, use std::hash instead
- Add EDGE4 case to get_refspace_nodes
- Use RAII to clean up some PETSc objects with WrappedPetsc<T>
- Don't potentially throw from 'exceptionless' error macros
- Make ReferenceCounter::increment_{de,con}structor_count() noexcept
- Re-enable check_dirichlet_bcid_consistency
- Move linear_solver member from LinearImplicitSystem to ImplicitSystem
- ImplicitSystem::get_linear_solver() now throws an error
- UnsteadySolver: old_local_nonlinear_solution is now a std::shared_ptr
- PeriodicBoundaries now stores unique_ptrs instead of dumb ptrs
- Fix scatter for node constraints
- Add some vector CompareTypes
- Fix possible overflow in PeriodicBoundaries::neighbor
- Ignore remote elems coming from pbcs in DefaultCoupling
- ParsedFEMFunction: change "parsers" to a vector of unique_ptrs
- Generalize default constructors for TypeTensor and TypeVector
* NemesisIO
- Support Nemesis writes of complex-valued elem data
- Unit tests for Nemesis::copy_elemental_solution
- Add Nemesis copy_nodal_solution unit tests
- Allow testing Exodus copy_*_solution distributed
- Test Exodus+Nemesis both replicated+distributed
- Factor Exodus/Nemesis into separate unit tests
- NemesisIO::copy_nodal_solution
- Use NemesisIO::read even on one processor
- Manually set unique_id in NemesisIO
- Keep internal node_num_map one-based in Nemesis_IO
- Nemesis_IO::get_nodal_var_names()
- Unit test for NemesisIO write_equation_systems
- Handle empty node intersections
- Write Nemesis cmaps even if they're empty
- NemesisIO::assert_symmetric_cmaps() refactoring
- NemesisIO::write_nodal_solution subparametric case
- Implement NemesisIO(ReplicatedMesh&)
- Test Nemesis read for arbitrary MeshType
- Add testNemesisRead() unit test
- Fix off-by-one errors in Nemesis_IO
- Remove Nemesis_IO_Helper::put_n_coord
- Remove Nemesis_IO_Helper::create
- Fixes for --disable-nemesis builds
- Fix NemesisIO Hex27 output issue
* NumericVector
- Add virtual NumericVector::max_allowed_id() API.
- Generalize multi-vector operations to always use global forms
- NumericVector: Make indexing add/set operations toggle _is_closed
- DistributedVector GHOSTED in serial can be SERIAL
- Read/write numeric vector projection/type info
* Partitioner
- Use Partitioner::build with command line override
- Add/use Partitioner::build(PartitionerType) with command line override
- Add PartitionerType enum
- Fix SFC Partitioner on distributed meshes
* Reduced Basis
- Enable plotting of EIM functions
- Updates to RBConstruction truth solve outputs
- RBConstruction: Handle exceptions thrown during assembly
- Add observation values to EIM
- Update rb_data.capnp and serialization/deserialization support for EIM observation values
- Add _preserve_rb_eim_solutions flag to RBEIMEvaluation
- Made eim_solutions_for_training_set private with getters in RBEIMEvaluation
- Cleanup of RBEIMConstruction
- Skip reinit when there are no DOFs on Elem
- Enable eim-best-fit with lookup table
- Add set_EIM_rhs_vec() to RBEIMEvaluation
* SparseMatrix
- Fix memory issue for matrix_matrix_mult and add option for reusing matrix
- Add PetscMatrix::create_submatrix_nosort()
- Add PetscMatrix::add_sparse_matrix()
- Fix PetscMatrix::matrix_matrix_mult()
- Fix PetscMatrix::print_personal()
- Add LumpedMassMatrix
* SparsityPattern
- Add comments to SparsityPattern::Build methods
- default+delete SparsityPattern::Build functions
- Use SparsityPattern for n_nz in SparseMatrix
- Make DofMap::build_sparsity() public
- DofMap::get_sparsity_pattern() accessor
- Keep n_nz and n_oz in SparsityPattern::Build
- Use new SparsityPatternBuild accessors in DofMap
- More SparsityPattern::Build methods
- Add SparsityPattern::build accessors, reorganize
- Remove SparsityPattern::Build::mesh
- Remove non-unique DOF ids in Build::sorted_connected_dofs()
1.6.1 -> 1.6.2
* Mimic stl and boost constructors in our allocators
* Weaken partitioner_test for SFC on 8+ processors
* Fix for deprecated warning in SLEPc not-quite-3.15
* fix typo in type_to_n_nodes_map
* amended solver_types
* set constant 0 to float
* Fix example doc and combine if-statements
* Fix docs that referred to old example
* Update docs for named boundary (side, edge, node) sets.
* Make RadialBasisInterpolation quiet
* misc_ex13: fix doc string
* Prerequest nothing on side FE in RB ex2
* libmesh_cast_ptr -> cast_ptr in example
* Fix deprecated warnings in SLEPc 3.15
* Add missing PYRAMID14 master point
* Don't try to autodetect headers for tecio in system
* Wrap Petsc include for dmimpl.h in ignore and restore warnings.
* undef MAJOR_VERSION and MINOR_VERSION before including petsc.h in config tests
* Fix for --enable-petsc-required
* Fix nodes_on_edge for 2nd order InfCell cases
* Fix Elem::is_child_on_edge
* Fix asserts in PetscMatrix::add_sparse_matrix()
* Fix residual history vector pointer constness in newer PETSc versions
1.6.0 -> 1.6.1
* Do *not* sync done_saving_ids across processors
* Fix compilation with both CAPNP and GLPK enabled
* Re-reserve non-zero pattern after Eigen::setZero
* Generalize default constructors for TypeTensor and TypeVector
* Make ReferenceCounter::increment_{de,con}structor_count() noexcept
* Work around warnings in system xdr/rpc headers
* Don't try to cast ostream to bool
* Remove potential deadlock with Singletons and RemoteElem
* Fix NemesisIO Hex27 output issue
* Fix SFC Partitioner on distributed meshes
* Don't apply a regex to the string "All Tests"
* Remove non-unique DOF ids in Build::sorted_connected_dofs()
* Initialize next_unpartitioned_unique_id
* Eliminate leak in merge_ghost_functor_outputs
* The SHAPE and SKEW metrics for Quad elements should have similar bounds.
* Turn off gdb backtraces by default
1.5.1 -> 1.6.0
* Exodus/Nemesis
- Add MappedOutputVector/MappedInputVector classes for single-precision I/O
- Add support for reading edgesets
- Improve ElementMaps and reduce copy/paste bolierplate
- Call newer exII::ex_put_concat_all_blocks(), ex_get_block(), ex_get_ids(), etc. APIs
- Avoid unnecessary localize in Nemesis write_nodal_data()
- Better error message when invalid node id is found in nodeset
- Handle complex variables in write_element_data_from_discontinuous_nodal_data()
- Make writing the complex modulus optional
- Add capability to load elemental variables into element IDs
- Add ExodusII_IO::read_header() and unit test
- Respect empty output names in NemesisIO
- Fixes for appending to Nemesis files
- Preserve ordering of nodal variables in NemesisIO
- Explicitly delete copy/move assignment operators in ExodusII_IO_Helper
- Add support for reading nodeset variables
* Add DiagonalMatrix, a SparseMatrix which uses a NumericVector for storage
* FEMap
- Put mapping methods into mapping classes
- Move MappingType out of Elem
- Add first rational mapping unit test
- Respect non-LAGRANGE maps with C1 elements
* FE
- Remove some explicit instantiations and related macros
- Refactor/optimize 1D Lagrange shape(), shape_deriv(), shape_second_deriv() calls
- Add second derivatives for Bernstein FEs
- Add some FE tests at fourth order
- Allow GenericProjector to work with vector finite elements
- InfFE: Add new shape()-API; Change API for shape_ptr and its derivs
- Skip redundant resize in init_shape_functions
- Add FE::shape_derivs(), shapes(), all_shapes() APIs
- Extend FEMap optimizations to 0D+1D+2D
- Explicitly use FEAbstract::get_nothing() to avoid all FE computations
- Add 'extra_checks' parameter to FEMap::inverse_map()
- Add dual shape functions (dual_phi, dual_dphi, and dual_d2phi) in FEBase
- Add new FEInterface::n_dofs() APIs taking Elem pointers
- Add new FEInterface::n_dofs_at_node() APIs taking Elem pointers
- Add new FEInterface::n_dofs_per_elem() APIs taking Elem pointers
- Add new FEInterface::n_shape_functions() APIs taking Elem pointers
- Add new FEInterface::shape() APIs taking Elem pointers
- Add new FEInterface::ifem_ APIs taking Elem pointers
* Add unit tests for !contains_point()
* Add/use libmesh_map_find() macro
* Add/use libmesh_vector_at() macro
* DynaIO
- Add mesh reader for BEXT files
- Add unit test of reading 25-element patch file
- Add DynaIO::add_spline_constraints() and unit test
* Add/set SNES divergence tolerance
* Separate headers string_to_enum.h and enum_to_string.h
* Reduced Basis
- Added an option to use the energy inner-product
- Updates for reduced_basis_ex7
- Uncomment RBConstruction::compute_residual_dual_norm_slow() for debugging
- Added extra error checking in rb_data_deserialization.C
- RBConstruction: Add post processing callbacks
- Skip enrichment if RHS norm is exactly 0
- Add support for POD training in RBConstruction
- Update RBConstructionBase<Base>::generate_training_parameters_deterministic()
- Update TransientRBConstruction to not use lapack calls directly
- RBEIMConstruction: Move FE getter calls outside elem loop
- Skip NODEELEMs in assembly
- Add RBEIMConstruction::init_context() override
- Update to post_process_elem_matrix_and_vector() in RBConstruction
- RBConstruction update to store an untransformed basis
- Optionally pre-evalaute theta functions for efficiency
- Fix wrong function call syntax in rb_data_deserialization.C
- Evaluate theta functions at multiple parameters simultaneously
- Early return when there are no training samples
- Major refresh of the EIM framework
- Add support for defining RBParametrizedFunctions based on a look-up table
- Deprecate {RBParameters,RBParametrized}::get_parameter_names()
* Xdr
- Efficiency improvments: restrict iteration, handle ids while parsing
- Reset stream precision after writing an integral value
- Add unit test of Xdr::data(vector)
- Fix access past end of vector in data_stream() implementations
* Update Tetgen to version 1.5.1
* Mesh
- Additional options for adding extra integers+data
- Merge extra integers during copies+submeshes
- Add MeshBase::add_elem(std::unique_ptr<Elem>)
- Add MeshRefinement::add_elem(unique_ptr)
- Add MeshBase::insert_elem(std::unique_ptr<Elem>)
- Add MeshBase::add_node(std::unique_ptr<Node>)
- Add MeshBase::insert_node(std::unique_ptr<Node>)
- Add MeshBase::remove_orphaned_nodes()
- Unit tests for MeshTools::Generation::build_cube()
- Reset ReplicatedMesh::_n_* during clear()
- Many DistributedMesh unique id fixes
- MeshGeneration::build_sphere() DistributedMesh fixes and unit tests
- Use max_node_id to size vectors indexed by node id
- Updates to allow_find_neighbors(true) in prepare_for_use(), find_neighbors()
- allgather() before falling back on Metis
- Preserve extra ints and mapping data in flatten(), all_second_order(), create_submesh(), etc.
* AbaqusIO
- Read .inp files with *Surface sections referring to element sets
- Add string_to_num(), strip_ws() helper functions
- Add support for "MASS" elements and "NODE" sidesets
* TIMPI
- Move parallel* files into contrib/TIMPI submodule
- Use push_parallel_packed_range() in scatter_constraints
- Use TIMPI::communicator to merge LibMeshInit APIs
- Use Communicator::duplicate() correctly
* Allow adaptivity_ex3 to run with more variables
* Misc. bugfixes
- Fixes for compilation with PETSc enabled, MPI disabled
- Copy point locator tolerance in MeshFunction::clone()
- Threading: OverlappingCouplingFunctor, MeshFunction, Clough-Tocher, etc.
- Sync nodes after all_second_order if not replicated
- Add missing PYRAMID cases to l2_lagrange_n_dofs()
- Fixes for --disable-second and other less common build configurations
- Fix all_second_order() for DistributedMesh
- Don't try to enable ParMETIS without METIS
- Add check for nearly coincident nodes when stitching
- Call enforce_constraints_on_residual() using local solution
- Do GHOSTED localizes to ghosted vectors
- Split scraping of PETSc configure and testing the PETSc installation for viability
- Fixes for DistributedMesh unique_id generation
- Fix reverse iterator usage bug in adjoint AMR constraints
- DofMap::add_constraint_row(): assert there is no diagonal entry
- Fix parallel_ghost_sync.h for N->M operations
- Switch boost includes from -I to -isystem to ignore warnings
- Fix valgrind issue with VecSetDM
- Non-proxy sides now have same p_level() as Elem they are built from
- Use std::stable_sort in CentroidPartitioner
- parmetis.m4: Fix potential uninitialized variable
- Avoid calling DofObject::id() when id can be invalid
- Bugfix for sparse QoI constraint cases
- Associate a mesh when adding GhostingFunctor to DofMap
- PeriodicBoundaries fixes for "sharktooth" meshes
- Disambiguating Node constructor should be marked explicit
- Fix subdomain expansion with element DoFs
- Fix indexing in EquationSystems::get_vars_active_subdomains()
- ParsedFunction and ParsedFEMFunction no longer store vectors of
FunctionParserADBase<T> since that class is not MoveInsertible
- Ignore remote elems coming from pbcs in DefaultCoupling
- Rational function shapes_need_reinit is true!
- Delete MeshBase and derived class' move constructors
- Fixes for unit tests in non-standard configurations
- Fix "make install" issue where it was possible to get interactive mv questions
- Move BERNSTEIN HEX27 interior DoFs to node
* pkgconfig
- Remove extra flags from pkgconfig Cflags
- Conditionally add libmesh-*.pc files based on METHODS
* VTK
- Fix mesh reference in VTKIO write
- Try linking to VTK CommonExecutionModel too
- Set data mode to binary when _compress is true
* BoundaryInfo
- Add BoundaryInfo::remove_node(node, id)
- Fix outdated docs
- Add BoundaryInfo::erase_if() helper function
- Add BoundaryInfo::NodeBCTuple typedef
- Control sorting method used in build_node_list(), build_side_list()
- add_elements(): Add flag controlling setting of parent side ids
- Copy name maps in BoundaryInfo::operator=
- Clear BoundaryInfo set names during clear()
- Add methods to synchronize side boundary ids on the fly
* PETSc/SLEPc
- Add support for shell matrices in SLEPc eigenvalue solver
- Use MAT_INPLACE_MATRIX in newer PETSc versions
- Remove support for PETSc < 3.5.x
- Additional PETSc install variant detection
- Allow third-party non-PETSc METIS
- PetscSolverException: use specific error message if available
- Updates to support PETSC 3.13
- Add API to retrieve only eigenvalue when eigenvector is not needed
- Add support for shell preconditioning matrix in EigenSystem
- Add sparse matrix-matrix multiplication and addition
- Check whether nonlinear residual vector and base vector pointers are equal
- Improve EigenSolver initial guess setup
* Add ExactSolution::set_excluded_subdomains() API
* C++ modernization
- Add configure test for and use std::make_shared in library
- Replace more calls to "new" with std::make_shared, libmesh_make_unique
- IntRange helper functions: index_range(), make_range()
- Use range-based for-loops wherever possible
- Add/use vectormap::emplace()
- Add configure tests for std container emplace functions
- Prefer emplace() to insert() for std containers
- Add configure tests for std container emplace_hint()
- Use std::reference_wrapper in several examples
* Use lower-order quadrature in JumpErrorEstimator
* Tree::find_elements() optimizations
* FParser
- Refactor and make JIT code modular
- Update diagnostic pragmas
- eval_mixed_derivatives, eval_at_point skip_context
- Fix JIT disabling
- Disable derivative caching
- Refactor compiled function pointer and pImmed update
- Fix value return in JIT function
* PointLocator: Add tolerance for finding elements
* Add ParallelType to ImplicitSystem::add_matrix() API
* Add fem_system_ex5 demonstrating IGA
* DenseMatrix: Use helper struct to determine whether to use blas_lapack
* Elem
- Copy Elem interior parents during copy construction
- Add Elem::local_side_node()
- Add Elem::local_edge_node()
- Add edge to side map for all Cell-derived types
- Make Edge3::volume() calculation more robust and add unit tests
- Add Quad::quality(TWIST) unit test
- Add Tri::quality(SHAPE) metric
- Elem::simple_build_side_ptr() returning unique_ptr
- Quad4::build_side_ptr() should call simple_build_side_ptr()
- Optimize Elem::find_point_neighbors()
- Add geometric constants for Edge-derived elems
* Add SparseMatrix::clone(), zero_clone() and derived class implementations
* PointLocator: fix BoundingBox intersection test for QuadTree
* Add FileSolutionHistory and test in existing example
* Add DirichletBoundary copy assignment operator
* Add multi-file support to meshtool app
* QGaussLobatto: add fallback on regular Gauss quadrature
* Move some m4 files into an autoconf-submodule for sharing between different projects
* Make "NumericVector localize()" scalable when possible
* Add Lagrange-specific code path to ConstrainDirichlet
* Clean up of deprecated code, support for --disable-deprecated builds
* Clean up strip_dup_libs.pl script which sorts/modifies the list of linker libraries
* TwoStepTimeSolver: add adjoint support
* Add/use libmesh_error_msg_if() macro
* Inline a more efficient implementation of BoundingBox::intersects()
* Add html documentation for several of the newer examples
* Fixes for node balancing algorithms during partitioning
* GhostPointNeighbors optimizations
1.5.2 -> 1.5.3
* Fix standalone header bug introduced in 1.5.2
1.5.1 -> 1.5.2
* Cherry-pick following commit from 1.6.0 branch and fix merge conflicts
d25f5ad57 Combination of MoveInsertable fixes (#2170)
1.5.0 -> 1.5.1
* Fix compilation with --enable-petsc --disable-mpi
* Fix multithreading bugs in MeshFunction, GenericProjector, tests
* Fix configure summary CPPFLAGS output
* Fix consistency of --enable-curl with NetCDF
* Fix bug in Triangle interface
1.4.1 -> 1.5.0
* Write Exodus files in netCDF-4 format when HDF5 is available.
* Add left multiply (by vector) method to type_tensor
* Update bundled netCDF from version 4.4.1.1 to 4.6.2, remove netCDF-3 source.
* Handle different combinations of METIS/ParMETIS in PETSc.
* Add --enable-capnp-required configure option.
* Add surface-terms and gradients to misc_ex14.
* Infinite elements fixes
-Dimension of the local_transform object corrected
-Allow infinite elements in System::point_gradient()
-Fixed diagonal in InfHex::contains_point()
-Reorganisation in InfFE::init_face_shape_functions()
-Fix memory leak in inf_fe_boundary.C
-Replace unrolled loops in legendre_eval() and jacobi_eval().
* Add _extra_parameters map to RBParameters.
* Add support for PETSc GMG (Boris Boutkov).
-Support complex numbers.
-Unit test coverage.
* ReplicatedMesh::add_elem(): fix missing unique id update.
* Add ability to skip "non-critical" partitioning when updating mesh.
* configure:
-match PETSc 64/32-bit index sizes when possible instead of throwing an error.
-Support SLEPC installed by PETSc.
* Bug fix: Close residual/vector before applying constraints.
* Run fem_sys_ex1 with GMG+FS options.
* Add is_zero() to TypeVector and TypeTensor.
* Bug fix: FEInterface::get_continuity() should take a const reference.
* Add DofMap::swap_dof_constraints() API.
* Add subdomain iteration range objects
-active_subdomain_set_elements_ptr_range
-active_subdomain_elements_ptr_range
-active_local_subdomain_elements_ptr_range
* GmshIO:
-Add support for reading gmsh-4 files.
-Enable reading of meshes with a mix of 1, 2, and 3D elements.
* Drop VecScatterCreateWithData() workaround. This PETSc rename did not happen.
* Add non-blocking exchange (NBX) for pushing/pulling data.
* DenseMatrix:
-Add support for DualNumber.
-Add DenseMatrix::sub_matrix().
* Add outer product for TypeVectors.
* Fix remote_elem copying in UnstructuredMesh.
* Add OverlappingCoupling GhostingFunctor, unit tests.
* Fix 2006 bug with refinement within ES::reinit().
* Bug fix: Don't constrain hanging nodes at variable boundary.
* Rewrite GenericProjector
-Add Lagrange interpolation optimization.
-Fix threading.
-Add unit tests.
* Add "extra integers" support.
-MeshBase::get_*_integer_index API
-MeshBase::add_elem_integer() API
-MeshBase::add_node_integer() API
-Add Systems with extra integers.
-Unit tests
-CheckpointIO support
* Bug fix: Improve NodeElem support in ReplicatedMesh::stitch_meshes().
* Add FEMContext::interior_rate_gradient().
* Drop long-deprecated Elem APIs.
-Elem::node()
-Elem::get_node()
-Elem::neighbor()
-Elem::side()
-Elem::build_side()
-Elem::build_edge()
-Elem::child()
* Bug fix: DofMap::local_variable_indices().
* Several contrib/metaphysicl submodule updates (latest is 0.6.0)
* ExodusII_IO:
-Fix indexing issue in read_elemental_var_values().
-Improve support for scalar variables.
-Read/write all nodesets simultaneously.
-Use nodal map when reading nodal variables.
-Add read_sideset_data()
-Add write_sideset_data()
* Bug fix: avoid NaNs in block restricted vector variables when using PETSc 3.8.3
* Improve diagnostic message when cpr header can't be opened.
* Add Communicator::split_by_type(), unit tests.
* Add support for PETSc-3.11.x.
* Quadrature:
-Don't pass p_level and type as parameters, use class members.
-Use get_order() everywhere instead of passing p_level.
-Add QNodal quadrature class.
-Fix const correctness issue in QJacobi.
-Fix some hard-coded long double precision literals.
-More digits for SEVENTH-order quadrature on TRIs.
* Always add block size for petsc matrix.
* Bug fix: Explicitly call SubFunctor::join() in SortAndCopy::join().
* Re-enable misc ex9 on non-PETSc builds.
* Switch signs of on-diagonal and off-diagonal entries for constraints.
* Ignore -Wstack-protector warnings in 3rd party code.
* Add LOG_SCOPE_WITH macro, supports use of custom PerfLogs.
* Bug fix: Clear old SLEPc solver before solving again.
* Bug fix: PointLocatorTree had bad definition of is_planar_xy
* PetscMatrix:
-Add local_m()
-Add local_n()
-Add get_local_size()
-Add reset_preallocation()
-Make mallocs uniformly an error.
* NumericVector: Add component-wise multiplication operator *=
* TriangleIO improvements:
-Add functions with a unit test for creating a hole from a mesh
-Regions support, toggle Triangle prints
-Add boundary marker capability
-Support disconnected enclosures
* Bug fix: Elem::second_order_equivalent_type().
* Generalize subdomain comparison for var groups.
* Add FEMContext::set_jacobian_tolerance().
* Bug fix: Avoid dangling reference in SparsityPattern::Build
* Bug fix: In FEMap, set 'failing' back to false after print_info().
* Add libmesh_cppunit.h file with unit test boilerplate to unit tests directory.
* Add/improve support for Real == float128 via boost::multiprecision.
* Add MONOMIAL_VEC fe type and associated example.
* Add DofObject::get/set_extra_datum(), non-integer DofObject data.
* If we build METIS ourselves, then install metis.h.
* Bug fix: Set the correct MPI communicator in VTKIO.
* Pedantic debugging flags are now *disabled* by default, use
--enable-glibcxx-debugging to turn them back on.
* Big header file refactoring, reduce header dependencies as much as possible.
* Bug fix: FEXYZ::shape_deriv() of phi_1 in 1D was wrong.
* Add RATIONAL_BERNSTEIN FEType.
* Allow TRI3SUBDIVISION elements in more quadrature rules.
1.4.1 -> 1.4.2
* Cherry-pick following commit from 1.6.0 branch and fix merge conflicts
d25f5ad57 Combination of MoveInsertable fixes (#2170)