libMesh v1.1.0

@jwpeterson jwpeterson released this Dec 5, 2016 · 231 commits to master since this release

Summary of major changes from 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 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::_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

Downloads

libMesh v1.1.0-rc2

@jwpeterson jwpeterson released this Nov 28, 2016 · 231 commits to master since this release

Summary of major changes from 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 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::_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

Downloads

libMesh v1.1.0-rc1

@jwpeterson jwpeterson released this Nov 14, 2016 · 231 commits to master since this release

Summary of major changes from 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 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::_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.

Downloads

libMesh v1.0.0

@jwpeterson jwpeterson released this Jun 28, 2016 · 1044 commits to master since this release

Summary of major changes in the update from 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.
  • Numerous fixes for non-standard build configurations (64-bit indices, complex variables, SLEPc, AMR disabled, Exodus disabled, single-precision floats, etc.)
  • Examples tested (and some disabled) in non-standard build configurations where they either don't work or don't make sense.

Downloads

libMesh v1.0.0-rc2

@jwpeterson jwpeterson released this Jun 6, 2016 · 1044 commits to master since this release

Second release candidate for 1.0.0.

Summary of major changes in the update from 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.
  • Numerous fixes for non-standard build configurations (64-bit indices, complex variables, SLEPc, AMR disabled, Exodus disabled, single-precision floats, etc.)
  • Examples tested (and some disabled) in non-standard build configurations where they either don't work or don't make sense.

Downloads

libMesh v1.0.0-rc1

@jwpeterson jwpeterson released this May 5, 2016 · 1044 commits to master since this release

First release candidate for the 1.0.0 release.

Summary of major changes in the update from 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.

Downloads

libMesh v0.9.5

@jwpeterson jwpeterson released this Jan 13, 2016 · 2051 commits to master since this release

The final 0.9.5 release.

Summary of major changes in the update from 0.9.4 -> 0.9.5:

  • Add interface to SLEPc's solver for generalized indefinite Hermitian eigenvalue problems (GHIEP).
  • Refactor NumericVector::insert(), add PetscVector::insert() specializations.
  • Refactor NumericVector::add_vector().
  • Add DiffContext::elem_solution_rate.
  • Add systems_of_equations_ex7, solves large deformation elasticity.
  • Add hand-coded TypeTensor::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 utility function.

Downloads

Second 0.9.5 release candidate

@jwpeterson jwpeterson released this Jan 12, 2016 · 2051 commits to master since this release

A few small bugfixes have been identified and cherry-picked over since the last release candidate. Please use these tarballs instead of the 0.9.5-rc1 tarballs.

* 90496b0 (tag: v0.9.5-rc2, upstream/0.9.5, 0.9.5) Run bootstrap.
* b43a0e1 Update automake version number to 0.9.5-rc2.
* 8ff1d03 Use __LIBMESH_DATE__ and __LIBMESH_TIME__ in auto_ptr.h
* 99235f0 Add missing #include
* 7145d63 Add missing ifdef wrapper
* 9560aef Fix issues with writing Exodus files after deleting nodes.
* 037d8c2 Fix warning generated while trying to ignore warnings.
* 3afb43d Suppress variadic template warnings in GCC.
* 5e4499d Don't use LIBMESH_OPTIONS in reduced basis ex5

Downloads

First release candidate for the 0.9.5 release

@jwpeterson jwpeterson released this Dec 3, 2015 · 2051 commits to master since this release

This release candidate does not include the recent project_vector changes which are in master. We are still working out some segfaults and performance regressions with those.

Downloads

Historical Release Only - DO NOT DOWNLOAD

@jwpeterson jwpeterson released this Nov 1, 2015 · 7992 commits to master since this release

Please download v0.9.4 or later instead.

Downloads