|
| 1 | +1.7.3 -> 1.8.0 |
| 2 | + * AbaqusIO |
| 3 | + - Add Abaqus element maps for TRI6 and QUAD8 elements |
| 4 | + - Make nodeset/sideset counter types in Abaqus mesh reader consistent with other boundaries |
| 5 | + - Do a better job of respecting Abaqus node and element numbers |
| 6 | + - Add file compression support to Abaqus reads |
| 7 | + - Fix off-by-one error in Abaqus element renumbering |
| 8 | + - Make AbaqusIO extendable to enable parsing of UMATs (#3969) |
| 9 | + * Elem |
| 10 | + - Add Tri7 element and associated library support |
| 11 | + - Add Tet14 element and associated library support |
| 12 | + - Add ElemSideBuilder |
| 13 | + - Add Elem::side_type() |
| 14 | + - Add Elem::quasicircumcenter() |
| 15 | + - Add Prism20, Prism21 elements |
| 16 | + - Add NodeElem contains_point() and close_to_point() implementations |
| 17 | + - Add Pyramid18 element and associated library support |
| 18 | + - Add subdomain_id to elem info output (#3487) |
| 19 | + - Add Elem::topologically_equal() |
| 20 | + - Add Elem::is_flipped() |
| 21 | + - Add generic Elem::quality(ASPECT_RATIO), add unit tests for Elem quality metrics |
| 22 | + - Reorder InfHex children |
| 23 | + - Add Elem::complete_order_equivalent_type() |
| 24 | + - Better error message for RemoteElem:: methods |
| 25 | + - Add Elem::low_order_key() |
| 26 | + - Don't die in Elem::volume() on a twisted element |
| 27 | + - Add QUADSHELL9 element and shell elem unit tests |
| 28 | + - Add Elem::is_internal() API for identifying internal (non-vertex/edge/side) nodes |
| 29 | + - Add improved ASPECT_RATIO quality metric for Quad elements with unit tests |
| 30 | + - Add Tri::quality(ASPECT_RATIO) implementation and unit tests |
| 31 | + - Rename existing, generic ASPECT_RATIO metric to EDGE_LENGTH_RATIO |
| 32 | + - Add pure virtual Elem::edges_adjacent_to_node() function and overrides |
| 33 | + - Add generic Elem::quality(MIN,MAX_ANGLE) implementation |
| 34 | + - Add generic Elem::quality(MIN,MAX_DIHEDRAL_ANGLE) implementation |
| 35 | + - Add generic Elem::quality(JACOBIAN, SCALED_JACOBIAN) implementation |
| 36 | + - Add Elem::max_nodal_order() API |
| 37 | + - Add Elem::positive_{edge,face}_orientation() APIs |
| 38 | +* ExodusII |
| 39 | + - Add ExodusII_IO::get_{side,node}set_data_indices() |
| 40 | + - Fix for writing write Exodus from multiple procs at once |
| 41 | + - Add new BEX element types to ExodusII helper |
| 42 | + - Add ExodusII_IO::write_elemsets() |
| 43 | + - Add/use ExodusII_IO_Helper::read_elemset_info() |
| 44 | + - Add/use ExodusII_IO_Helper::read_elemset() |
| 45 | + - Add ExodusII_IO::{write,read}_elemset_data() |
| 46 | + - Fix deprecated Exodus calls (e.g. exII::ex_get_var_param() -> exII::ex_get_variable_param()) |
| 47 | + - Add ExodusII_IO_Helper::set_add_sides(), ExodusII::write_added_sides() |
| 48 | + - Add named block, sideset, and nodeset support for Nemesis meshes |
| 49 | + - Fixes for edge block reading |
| 50 | + - Do not throw from ExodusII_IO_Helper::close() |
| 51 | + - Fix for Exodus writer when sideset and shellface set have same id |
| 52 | + - Add Exodus EDGE4 support |
| 53 | + - Add "WEDGE6" to ExodusII helper |
| 54 | + - Avoid manual memory allocation in ExodusII_IO_Helper::read_qa_records() |
| 55 | + * IGA |
| 56 | + - Update 3D IGA projection regression test values |
| 57 | + - Add MeshTools::clear_spline_nodes() |
| 58 | + - Optimize 1D, 2D, 3D IGA derivative calculations |
| 59 | + - Add support for Bezier elements in VTK output |
| 60 | + - Weight spline nodes heavily when partitioning |
| 61 | + - Always number IGA nodes consecutively |
| 62 | + * FE |
| 63 | + - Add HIERARCHIC FE support for tets |
| 64 | + - Add SIDE_HIERARCHIC support for triangles |
| 65 | + - Add fe_fdm_deriv(), fe_fdm_second_deriv() support for derivatives of Bernstein, Szabo-Babushka, HIERARCHIC basis functions |
| 66 | + - Fixes/improvements for single, quad-precision Real |
| 67 | + - Remove caching from FE<CLOUGH>, Clough-Tocher should work multithreaded now |
| 68 | + - Factor out common code in BERNSTEIN p=3,4 |
| 69 | + - Factor out edge flip calculation on Sza-Bab quads |
| 70 | + - Add L2_HIERARCHIC support on Tets and Prisms |
| 71 | + - Add _elem_p_level variable in FEAbstract |
| 72 | + - Add Raviart-Thomas 2D, 3D support |
| 73 | + - Introduce H_DIV FEContinuity enumeration |
| 74 | + - Add vector_fe_ex{6,7,8,9} |
| 75 | + - Create L2_RAVIART_THOMAS FE Family |
| 76 | + - Error if mismatched p-levels for Lagrange between neighbors |
| 77 | + - Create L2_LAGRANGE_VEC FE Family |
| 78 | + - Add FEInterface::is_hierarchic() |
| 79 | + - Add HIERARCHIC_VEC and L2_HIERARCHIC_VEC FE Families |
| 80 | + - Add support for 2D Nedelec shape functions, 2nd-5th order |
| 81 | + - Instantiate FIFTH order unit tests for MONOMIAL FEs |
| 82 | + - Throw an error in opt mode for HIERARCHIC p=0 |
| 83 | + - Average side nodal solutions for H_DIV elements |
| 84 | + * Mesh |
| 85 | + - Move stitching from Replicated->Unstructured Mesh |
| 86 | + - Add MeshBase::change_elemset_code(), MeshBase::get_elemset_codes() |
| 87 | + - Add MeshBase::active_unpartitioned_element_ptr_range() |
| 88 | + - Support Laplace smoothing of unpartitioned meshes |
| 89 | + - Add support for reading/writing elemset codes in Xdr files |
| 90 | + - Add BoundaryInfo::renumber_id() |
| 91 | + - Add MeshBase::reinit_ghosting_functors() API |
| 92 | + - Add QUADSHELL{4,8} support to MeshTools::Generation::build_square() |
| 93 | + - Add MeshTools::Modification::orient_elements() |
| 94 | + - Allow child elements to have BoundaryInfo associated with them |
| 95 | + - Add MeshBase::operator==() |
| 96 | + - Add BoundaryInfo::operator==() |
| 97 | + - Add MeshBase::copy_constraint_rows() |
| 98 | + - Add MeshRefinement::_allow_unrefined_patches flag and accessor |
| 99 | + - Macroify all the mesh iterators |
| 100 | + - Add option for removing global boundary ID in remove_id() |
| 101 | + - Add remap_subdomain_ids capability in stitch_meshes |
| 102 | + - Preserve id(), subdomain_id() when reading VTK elements |
| 103 | + - Add BoundaryInfo::libmesh_assert_valid_multimaps() |
| 104 | + - Add MeshBase::copy_constraint_rows(Matrix) function |
| 105 | + - Support TRI7 in build_sphere() |
| 106 | + - Add MeshBase::n_constraint_rows(), print_constraint_rows() |
| 107 | + - Use connect_element_dependencies() in CheckpointIO |
| 108 | + - Fix VTK unit test with DistributedMesh |
| 109 | + - Add MeshTools::MeshGeneration::build_square(TRISHELL3) support |
| 110 | + - Add entities BoundingBox testing in GmshIO |
| 111 | + - Add MeshTetInterface::volume_to_surface_mesh() |
| 112 | + - Add tet support to MeshTools::MeshGeneration::build_sphere() |
| 113 | + - Add MeshTools::volume() |
| 114 | + - Add unit tests for MeshSmoother subclasses |
| 115 | + - Fix ReplicatedMesh(DistributedMesh&) construction |
| 116 | + - Update id counts in MeshCommunication::broadcast() |
| 117 | + - Add STLIO class, add .stl support to NameBasedIO |
| 118 | + - MeshBase::elem_orders() API |
| 119 | + - Add triangulation, tetrahedralization options to meshtool app |
| 120 | + - Allow MeshFunction::find_element() to return a non-local Elem provided that it is evaluable |
| 121 | + - Add SimplexRefiner class |
| 122 | + - Add MeshTools::Generation::surface_octahedron() |
| 123 | + * Miscellaneous |
| 124 | + - C++17 support is now required |
| 125 | + - Add/use exceptionless_{semi}parallel_object_only() macro |
| 126 | + - Add plain integrals to calculator app |
| 127 | + - Fix FParser JIT compilation on Apple M1 |
| 128 | + - Add configure --enable-hdf5-required option |
| 129 | + - Fix all_second_order() bug with extra integers |
| 130 | + - Eliminate valgrind errors using a condition_variable |
| 131 | + - Implement doubly-checked lock for _get_array() |
| 132 | + - Add static TensorValue::rotation_matrix() helper |
| 133 | + - Lock against concurrent read-write in PetscVector::add() |
| 134 | + - Add std::hash<Point> overload |
| 135 | + - Increased constness in {const_,} elem_iterator |
| 136 | + - Add PerfLog for our unit tests |
| 137 | + - Add unit test for MeshBase::all_second_order_range() |
| 138 | + - Use std::make_unique everywhere, deprecate libmesh_make_unique |
| 139 | + - Use std::string_view in place of std::string references |
| 140 | + - Remove long-deprecated overload MeshTools::find_boundary_nodes() |
| 141 | + - Remove deprected UniquePtr workaround for std::unique_ptr |
| 142 | + - Use C++17 structured bindings in many for-loops |
| 143 | + - Implement many clang-tidy suggestions |
| 144 | + - Add Utility::CompareUnderlying helper struct |
| 145 | + - Avoid using AC_CHECK_HEADER to search for petscversion.h |
| 146 | + - Don't lock in libmesh_singleton.C |
| 147 | + - Give a warning if an Exodus variable name will be truncated |
| 148 | + - Remove __SUNPRO_CC specific code |
| 149 | + - Avoid manual memory management in variant_iterator |
| 150 | + - Use std::stack for managing DiffPhysics, DiffQoI lifetimes |
| 151 | + - Require support for enum forward declarations |
| 152 | + - Add unit test of find_neighbors() on mesh of 1D elements with different orientations |
| 153 | + - Add more generic index_range() support (for any container that has a size() method) (#3377) |
| 154 | + - Factor out common {left,right}_multiply_transpose() code |
| 155 | + - Fix for VTK 9.2 linking to libvtksys |
| 156 | + - Add allow_nodal_pyramid_quadrature flag, use in unit tests |
| 157 | + - Prefer std::to_string over sprintf |
| 158 | + - Don't call setenv on Windows builds |
| 159 | + - Use NBX algorithm in send_coarse_ghosts(), redistribute() |
| 160 | + - Fix NumericVector::compare() |
| 161 | + - Add NonlinearSolver::set_exact_constraint_enforcement() |
| 162 | + - Prefer using std::make_unique to new whenever possible |
| 163 | + - Change unsigned int to size_t in CouplingMatrix to prevent overflow for large number of variables (#3541) |
| 164 | + - Various fixes related to fsanitize=integer |
| 165 | + - Add way to disable use of p-refinement when doing FE::reinit |
| 166 | + - Fix parallel bounding box union in get_info() |
| 167 | + - Output any plain *FLAGS (from environment) in config_summary |
| 168 | + - Avoid partially merging boundary nodes when stitching, return number of merged nodes |
| 169 | + - Factor divisions out of hilbert index calculations |
| 170 | + - Add DiffContext allocate_local_matrices option |
| 171 | + - Upgrade to autoconf 2.71 |
| 172 | + - Don't include vtkConfigure.h when compiling with VTK 9.3 |
| 173 | + - Add clone method to QBase |
| 174 | + - Add more general matrix packing (#3662) |
| 175 | + - Add unit test of writing an XDR file for a refined mesh with extra elem integers |
| 176 | + - Add support for --with-xdr-include and --with-xdr-libname configure flags |
| 177 | + - Make enum_to_string() and string_to_enum() thread-safe |
| 178 | + - Fix Eigen preconditioning in 64-bit builds |
| 179 | + - Only do CPPUNIT_ASSERT_THROW tests if libmesh exceptions are enabled |
| 180 | + - Initialize variables within if-statements when possible |
| 181 | + - Add a DofMap API to set need_full_sparsity_pattern |
| 182 | + - Add CLI option --print-constraints |
| 183 | + - Add MeshfreeInterpolationFunction class derived from FunctionBase<Number> |
| 184 | + - Various "make dist" fixes |
| 185 | + - Fix elem dof distribution for --node-major-dofs |
| 186 | + - Fix missing <memory> include in getpot.h |
| 187 | + - Add BoundingBox::contains(BoundingBox) unit test |
| 188 | + - Add FPEDisabler class, fix several cases where potential FPEs were detected |
| 189 | + - Make libmesh_terminate_handler() API available in libmesh.h |
| 190 | + - Add NonManifoldGhostingFunctor, SidesToElemMap classes |
| 191 | + * Numerics |
| 192 | + - Add SVD in preconditioner type |
| 193 | + - Allow use of matrix-free when computing residual and jacobian together |
| 194 | + - Fixes for petscdmlibmesh PETSc 3.18 compatibility |
| 195 | + - Workaround for PETSc 3.18 losing %D support |
| 196 | + - Add pointwise_divide() to PetscVector |
| 197 | + - PETSc 3.19 deprecated some convergence reasons |
| 198 | + - Convert PETSC_RELEASE_LESS_THAN macro usage to PETSC_VERSION_LESS_THAN |
| 199 | + - Add in-place L2 norm difference method |
| 200 | + - Add PETSc versioning macros that imitate PETSc's own macros |
| 201 | + - Add ability to specify absolute tolerance for linear solvers |
| 202 | + - Use VecGhostGetGhostIS instead of VecGetLocalToGlobalMapping |
| 203 | + - Clear used CLI args pre-PetscFinalize |
| 204 | + - Fix swap of init with non-init DistributedVector |
| 205 | + - Add SparseMatrix::read_matlab() |
| 206 | + - Add SparseMatrix::col_start()/stop() |
| 207 | + - Add PetscMatrix read_petsc_* methods |
| 208 | + - Fixes for strict petsc error code checking |
| 209 | + - Make sure every PetscFunctionBegin has a matching PetscFunctionReturn |
| 210 | + - Add matrixconvert app |
| 211 | + - Add SparseMatrix::solver_package() |
| 212 | + - Add SparseMatrix read support from zipped .m files |
| 213 | + - Add LIBMESH_PETSC_SUCCESS wrapping PETSC_SUCCESS macro |
| 214 | + - Pass unique_ptr by value to NumericVector::restore_subvector() |
| 215 | + - Add {NumericVector,SparseMatrix}::fuzzy_equals() |
| 216 | + - Add {absolute,relative}_fuzzy_equals() support for TypeVectors/TypeTensors of MetaPhysicL types |
| 217 | + - Add PetscMatrixBase<T>, base class for PetscMatrix<T> and PetscMatrixShellMatrix<T> |
| 218 | + - Initialize PetscVector private members consistently |
| 219 | + - Add StaticCondensation class, derived from PetscMatrixShellMatrix<T> |
| 220 | + - Add LibmeshPetscCallA(), LibmeshPetscCallQ() macros |
| 221 | + * PerfLog |
| 222 | + - PerfLog::fast_pop() should be noexcept |
| 223 | + * Poly2TriTriangulator |
| 224 | + - Add Poly2TriTriangulator, a subclass of TriangulatorInterface |
| 225 | + - Add Poly2TriBadMultiBoundary unit test |
| 226 | + - Don't let DistributedMesh number poly2tri nodes |
| 227 | + - Add distance_from_circumcircle() API |
| 228 | + - Support converting Edge3 to triangulator segments |
| 229 | + * Reduced Basis |
| 230 | + - Add interpolationPhiValues to RBEIMEvaluation capnproto schema |
| 231 | + - Update to how observation points for EIM basis functions are evaluated |
| 232 | + - Fix race condition in writing header in RBEvaluation::write_out_vectors() |
| 233 | + - Update RBEIMConstruction::enrich_eim_approximation() |
| 234 | + - Fix for shellfaces in RBEIMEvaluation::side_distribute_bfs() |
| 235 | + - Update to RBConstructionBase<Base>::get_n_training_samples() (#3115) |
| 236 | + - Use best_fit_type_flag to switch between POD and Greedy EIM training |
| 237 | + - Add virtual methods for specifying index maps for the RBParametrizedFunction in EIM approximations |
| 238 | + - Add support for EIM on nodesets |
| 239 | + - Fix to apply constraints and scaling inside node assembly in add_scaled_matrix_and_vector() |
| 240 | + - Allow empty EIM basis in RBEIMConstruction::train_eim_approximation_with_POD() |
| 241 | + - RBConstruction: Re-throw exceptions on all procs in parallel |
| 242 | + - Add RBParameters::has_value(), has_extra_value() APIs |
| 243 | + - Deprecate RBParameters::get_parameters_map() |
| 244 | + - RBParameters: store std::vector<Real> instead of single Real |
| 245 | + - Add RBParameters::set_value(name, index, value) and RBParameters::push_back_value() APIs |
| 246 | + - Provide STL iterator typedefs for RBParameters::const_iterator |
| 247 | + - const correctness updates for RBThetaExpansion, RBConstruction APIs |
| 248 | + - Add RBParameters::push_back_extra_value(), RBParameters::get_extra_step_value() |
| 249 | + - Add EIM error indicator based on using one extra EIM iteration |
| 250 | + - Add VectorizedEvalInput struct to encapsulate inputs to vectorized_evaluate() functions |
| 251 | + - Introduce scaling option into RBEIMConstruction inner products |
| 252 | + - Replace NumericVector with std::vector in RBConstructionBase |
| 253 | + - Add support for storing each RB parameter as a vector quantity |
| 254 | + - Handle the case where we encounter linearly dependent data in EIM |
| 255 | + - Add EIMVarGroupPlottingInfo struct, update EIM plotting functions |
| 256 | + - Make preevaluate_thetas() virtual, it should be overridden in derived classes |
| 257 | + - Add elem center tangent derivative storage for VectorizedEvalInput in EIM |
| 258 | + - Add virtual RBEIMEvaluation::project_qp_data_vector_onto_system() API |
| 259 | + - Remove previous EIM bf projection methods that are not needed |
| 260 | + * Submodules |
| 261 | + - Update MetaPhysicL to 1.4.0+ |
| 262 | + - Update TIMPI to 1.8.5+ |
| 263 | + - Update autoconf-submodule, add support for Nvidia, gcc11, icc21 compilers |
| 264 | + - Add poly2tri submodule |
| 265 | + - Update nanoflann (#3121) |
| 266 | + - Add Eigen submodule, update to version 3.4.0 |
| 267 | + - Add NetCDF submodule at version 4.9.2 |
| 268 | + - Add Netgen submodule currently at version 69f2ea56 |
| 269 | + * System |
| 270 | + - Throw an error in EigenSystem::solve if we have constraints |
| 271 | + - Add shell matrix support for CondensedEigenSystem |
| 272 | + - Add System::has_constraint_object() |
| 273 | + - Make System::is_initialized() const |
| 274 | + - Add System matrix iterator APIs to match vector iterator APIs |
| 275 | + - Add CondensedEigenSystem::initialize_condensed_matrices(), have_condensed_dofs() APIs |
| 276 | + - Implement (Equation)System(s)::init() in terms of reinit_mesh() |
| 277 | + * TypeVector/TypeTensor |
| 278 | + - Add TypeVector::outer_product() |
| 279 | + - Add a column() API to TypeTensor |
| 280 | + - Add static_assert(is_trivially_copyable<TypeVector>) |
| 281 | + |
1 | 282 | 1.7.1 -> 1.7.3
|
2 | 283 | * PETSc support
|
3 | 284 | - Full compatibility with PETSc 3.18 and 3.19
|
|
0 commit comments