Version 0.4.0
What's Changed
- Remove references to
uf_geometry.h
in cmakeFindUFC.cmake by @IgorBaratta in #1551 - Allow user to supply form constants and coefficients to assemblers by @garth-wells in #1553
- Fix geometry dimension to 3 in assembler by @garth-wells in #1555
- Store C code from FFCx JIT by @michalhabera in #1556
- Update version by @chrisrichardson in #1554
- Gmsh bump + src install by @jorgensd in #1559
- Avoid splitting of Expression::eval functionality across two files by @garth-wells in #1560
- Template over block size for common cases for vector (RHS) assembly by @garth-wells in #1552
- Add --init to lab instruction by @jhale in #1561
- More vector functionality by @chrisrichardson in #1566
- Allow control over mesh graph re-ordering by @garth-wells in #1567
- Support re-ordering of cells by @garth-wells in #1571
- Move DOF transformations out of kernel by @mscroggs in #1568
- Update FFCx branch for CI by @garth-wells in #1573
- Avoid creation of spans in tight loops by @garth-wells in #1574
- More reference use and performance improvements by @garth-wells in #1575
- Use fixed-with Numpy integer types by @garth-wells in #1578
- Fix for Intel classic compiler by @garth-wells in #1579
- Bump dependency versions in Dockerfile by @garth-wells in #1576
- Residual0 now initialized for residual method. by @jorgensd in #1581
- Expose dof permutation bools by @jorgensd in #1580
- Just warn about topology instead of throwing error by @chrisrichardson in #1584
- Update spack instructions by @chrisrichardson in #1583
- Simplify tabulation through dolfinx::FiniteElement by @jorgensd in #1565
- Update element interface by @mscroggs in #1582
- Performance updates for pull backs by @garth-wells in #1588
- Template la::Vector over allocator by @IgorBaratta in #1587
- Fix array2d for USM allocators by @IgorBaratta in #1589
- Revise forward and reverse scatter in IndexMap by @garth-wells in #1594
- Remove the 'symmetric' neighbourhood communicator from IndexMap by @garth-wells in #1595
- Correct indexing (fixes #1597). by @garth-wells in #1599
- Reduce number of GPS re-ordering passes for mesh cells by @garth-wells in #1600
- Cleanup helmholtz demo by @jorgensd in #1601
- Add MPI_Type_dup to copy and move by @chrisrichardson in #1602
- Simplification in IndexMap for scattering by @garth-wells in #1605
- Fix domain id of refined meshes by @IgorBaratta in #1604
- Expose set_update in newton-solver by @jorgensd in #1606
- Add test for "RTCF" elements by @jpdean in #1607
- Only push real32 docs by @mscroggs in #1608
- Expose map pull_back and test it with dolfinx.Expression by @jorgensd in #1590
- Permit only required data to be passed to IndexMap scatters by @garth-wells in #1609
- Get entity closure dofs from ffc rather than recomputing by @mscroggs in #1586
- Update KaHIP version and build by @garth-wells in #1614
- Fix KaHIP test by @IgorBaratta in #1615
- Push docker images with tag prefix by @mscroggs in #1611
- Fix misunderstanding of MPI dist graph comm reordering by @garth-wells in #1617
- Fix Docker builds by @jhale in #1619
- Jhale/fix docker end user build by @jhale in #1620
- Jhale/fix docker end user build by @jhale in #1621
- Jhale/fix docker end user build by @jhale in #1624
- Jhale/fix docker end user build by @jhale in #1625
- Jhale/fix docker end user build by @jhale in #1627
- Jhale/fix docker end user build by @jhale in #1628
- Modernise HDF5 detection via cmake by @garth-wells in #1630
- Add radix sort and argsort (lexicographic) by @IgorBaratta in #1622
- Dependency version bumps in Dockerfile by @garth-wells in #1631
- Update Dockerfile to clang-12 by @garth-wells in #1632
- Use radix sort in dofmap construction by @garth-wells in #1633
- Fix llvm version for Numba by @garth-wells in #1634
- Increase storage size of ARM Docker builder by @jhale in #1635
- Change runner AMI to Ubuntu-based image by @jhale in #1636
- Images now called latest-openmpi and latest-mpich by @jhale in #1637
- Bump CI clang version by @garth-wells in #1638
- Add explicit :latest tag by @jhale in #1640
- Add :latest tag to Dockerfile instructions by @jhale in #1643
- Remove duplicated code for ParMETIS and KaHIP and general partitioning improvements by @garth-wells in #1639
- Reuse sort code in "Build dual graph" by @IgorBaratta in #1642
- Various MPI improvements by @garth-wells in #1645
- Fixes for the new Intel Compiler by @IgorBaratta in #1646
- HHJ/Regge Biharmonic Integration Tests by @jhale in #1644
- Add workflow_dispatch for Spack CI by @garth-wells in #1647
- Modify Spack CI by @garth-wells in #1650
- Add missing overloaded BBox collisions method by @nate-sime in #1629
- Make checkout refs explicit by @jhale in #1654
- Use GitHub checkout in more places by @jhale in #1656
- Update Basix interface to allow variants by @mscroggs in #1651
- Update Catch2 version by @garth-wells in #1657
- Remove references to legacy Intel compiler by @garth-wells in #1658
- Remove some legacy code for finding PETSc. by @garth-wells in #1659
- Dockerfile updates by @garth-wells in #1660
- Remove interpolation code by @mscroggs in #1661
- Update name of CMake variable in message string (HDF5) by @garth-wells in #1663
- Faster way of fetching tdim by @michalhabera in #1665
- Bump Ubuntu base image to 21.04 by @garth-wells in #1664
- LLVM 12 for Ubuntu 21.04 by @jhale in #1668
- Try LLVM-9 by @jhale in #1669
- Bump min CMake version to 3.16. Earlier versions are not tested. by @garth-wells in #1666
- Only create entities and permutation info for facet integrals when needed by @mscroggs in #1672
- Avoid computing mesh permutations when not required by @garth-wells in #1674
- Update viz CI test by @garth-wells in #1678
- Remove topology functions that shouldn't be used by @garth-wells in #1675
- Revise HDF5 detection - use
hd5-config.cmake
when available by @garth-wells in #1677 - Pin numpy to numba compatible version by @jorgensd in #1682
- Update versioning by @chrisrichardson in #1686
- Support detection of Basix library in Python tree by @garth-wells in #1690
- CI updates for Basix build change by @garth-wells in #1691
- Spack doc update on README.md by @garth-wells in #1679
- Doc link fixes by @garth-wells in #1692
- Encapsulate petsc4py and mpi4py detection in CmakeLists.txt file by @garth-wells in #1687
- Merge Docker image build into one workflow. by @jhale in #1696
- Only need one badge for Docker images. by @jhale in #1697
- Discontinuous elements by @mscroggs in #1670
- Fix docker action syntax. by @jhale in #1698
- Fix docker caching. by @jhale in #1699
- Enable xfailed test by @mscroggs in #1701
- Use (cell, local_facet_index) pairs for exterior and interior facet integral assembly by @jpdean in #1700
- Remove xtensor-linalg dependency by @IgorBaratta in #1703
- Add missing header by @garth-wells in #1704
- Prism cell mesh by @chrisrichardson in #1707
- Fix Timer documentation by @IgorBaratta in #1705
- Add missing set_bc call by @jhale in #1710
- Refactor create topology by @chrisrichardson in #1711
- Correct DOF transformations for dS integrals by @mscroggs in #1712
- Add more documentation and comments to topology creation by @garth-wells in #1714
- Faster symmetry tests by @mscroggs in #1715
- Remove strings from DOLFINx <-> Basix cell type conversion by @mscroggs in #1709
- Replace lattice type with Lagrange variant by @mscroggs in #1716
- Use vector instead of set in basix API by @chrisrichardson in #1718
- Correct offset computation for reordering by @chrisrichardson in #1717
- Pyvista updates by @jorgensd in #1719
- Pyvista version bumps to match pypi by @jorgensd in #1720
- Use array/int in place of
array2d
for packed form coefficients by @garth-wells in #1721 - Remove
array2d
class by @garth-wells in #1722 - Remove left-over MPICH work-around by @garth-wells in #1713
- Simplify pybind11 vector/array wrapper by @garth-wells in #1724
- Compress index map by @jorgensd in #1680
- Remove calls to xt::broadcast in interpolation by @IgorBaratta in #1727
- Support passing of form coefficients to assemblers from Python by @garth-wells in #1728
- Completely remove xtensor blas by @IgorBaratta in #1732
- Update PETSc/SLEPc to 3.16.0 in Dockerfile by @garth-wells in #1734
- Improved form creation error checking by @garth-wells in #1737
- Remove in-place MPI calls by @garth-wells in #1738
- Fix CMake Basix detection by @garth-wells in #1733
- Tweaks for building wheels by @jhale in #1740
- Interpolation between functions from different spaces by @IgorBaratta in #1742
- ADIOS2 support (VTX and Fides) by @jorgensd in #1655
- Return
span
fromla::Vector
by @garth-wells in #1750 - Fixing doc strings by @massimiliano-leoni in #1730
- Clean up extraction of spaces and boundary conditions for blocked problems by @garth-wells in #1754
- Support multiple types in Python interface by @garth-wells in #1749
- Use element names consistently by @garth-wells in #1758
- Update for ufc interface without ufc_scalar_t by @chrisrichardson in #1752
- Restore CI by @chrisrichardson in #1759
- Add complex Jupyter Notebook specification by @jhale in #1756
- Fix sparsity pattern creation in python by @jorgensd in #1762
- Reshape pack coefficients to be num_cells by cstride in python by @jorgensd in #1763
- Minor MPI improvements by @garth-wells in #1760
- Bump base and package versions in Dockerfile by @garth-wells in #1768
- Spack test fixes by @garth-wells in #1769
- Some span const improvements by @garth-wells in #1770
- Fix url of INSTALL by @tkoyama010 in #1771
- Install MPI manually in Dockerfle by @garth-wells in #1772
- Avoid copies in an interface to Basix by @garth-wells in #1774
- Avoid unnecessary shared_ptr by @garth-wells in #1777
- Simplify and optimise geometry maps by @garth-wells in #1775
- Be explicit with string literals by @garth-wells in #1778
- Add test that fails if default CoordinateElement is not equispaced by @mscroggs in #1779
- Set default coordinate element type to equispaced by @mscroggs in #1780
- Update Basix quadrature interface by @mscroggs in #1783
- Add [[maybe_unused]] to variables unused in "Release" mode. by @jorgensd in #1784
- Fixes #1785 by @jorgensd in #1787
- Remove copying from recursive geometry functions by @jorgensd in #1751
- Apply iwyu suggestions by @IgorBaratta in #1790
- Raise exception when attempting to locate dofs geometrically in a mixed element by @garth-wells in #1789
- Bump some versions in Dockerfile by @garth-wells in #1793
- Add correct number of nodes to return type of empty boundingbox tree collision computation. by @jorgensd in #1794
- Try fixing pyvistaqt by pinning version by @jorgensd in #1795
- Avoid importing cpp in demos (almost) by @garth-wells in #1796
- Use built-in pybind11 function to get string for a cell enum by @garth-wells in #1797
- Function name improvements to reflect what some functions do by @garth-wells in #1799
- Correct order of args in pybind by @mscroggs in #1801
- Use standard terminology for pull back/push forward by @garth-wells in #1802
- Interpolation for elements with different Piola maps by @mscroggs in #1798
- Implement Gibbs-Poole-Stockmeyer graph re-ordering by @chrisrichardson in #1804
- Fix places where data is only used in assertions, causing -Wall -Werr -pedantic to fail in Release mode by @jorgensd in #1807
- Remove Boost graph ordering by @garth-wells in #1808
- Remove references to mailing lists on README by @garth-wells in #1809
- Use interpreter variable passed to cmake to find python modules by @renefritze in #1782
- Remove cout by @jpdean in #1812
- Make PT-SCOTCH an optional dependency by @garth-wells in #1810
- Remove interpolate() function from Basix by @mscroggs in #1811
- Call H5Oget_info_by_nameX directly for HDF5 by @garth-wells in #1813
- Remove stray header by @chrisrichardson in #1817
- Updates for Basix element maps by @garth-wells in #1819
- Turn on tests of more spaces by @mscroggs in #1818
- Simplify interpolation in FE interface by @garth-wells in #1820
- Update for Basix interface by @garth-wells in #1821
- Pack coefficients only for the active entities for each kernel by @jpdean in #1800
- Get dolfinx_jit_parameters.json location from envvar by @matsievskiysv in #1822
- Clean up some old code by @garth-wells in #1824
- Support ParMETIS partitioning when some ranks have no data by @garth-wells in #1823
- Remedy errant boost behaviour by @chrisrichardson in #1826
- Documentation text fixes by @garth-wells in #1825
- Remove avg from tests by @mscroggs in #1827
- Fix parhip build error by @jorgensd in #1828
- Simplify packing coefficients by @SarahRo in #1831
- Progress towards removing import of
cpp
in user and test code by @garth-wells in #1805 - Add diagonal enum for RectangleMesh by @jorgensd in #1836
- Consistent method/property name for accessing the MPI communicator for an object by @garth-wells in #1838
- Use std::int8_t in place of bool for bc vectors by @garth-wells in #1839
- Fix Docker action for API update by @jhale in #1841
- Don't pass permutation info into interior facet integrals by @mscroggs in #1837
- Fix Docker action by @jhale in #1842
- Build Linux x86_64 binary wheels by @jhale in #1815
- Optimise coefficient packing for block size = 1, 2 3. by @garth-wells in #1843
- Update refinement docs by @jorgensd in #1835
- Assert cast from specific Python int to int32 is safe by @jhale in #1840
- Simplify interpolation following changes to Basix and FiniteElement interfaces by @garth-wells in #1844
- Re-enable pybind11/eigen test. by @garth-wells in #1846
- remove ufc_blocked_element by @mscroggs in #1849
- Revert some change to refine by marker by @garth-wells in #1852
- Add test of vector element by @mscroggs in #1848
- Document shapes of in/out inputs in FiniteElement by @mscroggs in #1850
- Expose some functionality from cpp layer and assembly. by @jorgensd in #1855
- Remove
la::VectorSpaceBasis
and isolate PETSc functions by @garth-wells in #1856 - Fix refinement and add tests for sub refinement by @jorgensd in #1861
- Add GitHub funding by @jhale in #1860
- Enable setting of graph partitioner used in cell partitioning from Python by @garth-wells in #1862
- Add more control over making SCOTCH optional by @garth-wells in #1865
- Simplify MPI and petsc4py casters by @jhale in #1863
- Add isort configuration and non-blocking CI step by @jhale in #1864
- Import some graph functions into Python module by @garth-wells in #1866
- Add non-blocking clang-format call to CI by @jhale in #1867
- Missing 3 in libeigen3-dev by @jhale in #1868
- Change dead petsc link to petsc4py docs by @jorgensd in #1871
- Fix for
IndexMap
segmentation fault by @jpdean in #1870 - Update link to C++ docs by @ageorgou in #1874
- Add H(curl) curl-curl eigenvalue test by @jhale in #1649
- RedHat-like test environment by @jhale in #1869
- Bump PETSc, SLEPc and OpenMPI versions in Dockerfile by @garth-wells in #1877
- Remove more 'private' cpp interface from Python demos/tests by @garth-wells in #1878
- Put fem-related PETSc functions into separate namespace by @garth-wells in #1876
- Try SonarCloud (experiment) by @jhale in #1880
- Fix potential out-of-bounds error, not built locally. by @jhale in #1882
- Fix #1558 by @jorgensd in #1879
- Revert "Fix #1558 (#1879)" by @jorgensd in #1886
- Remove PETSc Vec from
fem::Function
by @garth-wells in #1885 - Rename mesh generation functions by @jhale in #1884
- Fix various bugs reported by sonarcloud by @jorgensd in #1881
- Update docker basic test to make images build by @jorgensd in #1891
- Fix GJK loop access by @jorgensd in #1892
- Test new sonarcloud flags by @jorgensd in #1893
- Add simple test for vector assembly using different types (Python) by @garth-wells in #1888
- Fix pullback on manifold and add test by @jorgensd in #1890
- Change create_rectangle to take two dimensional points by @jhale in #1894
- Fix ranges of function data in pyvista demo by @jorgensd in #1897
- Add interpolation callable shape checks by @garth-wells in #1896
- Issue compile time error if data type is not supported (MPI) by @IgorBaratta in #1902
- Implement DOF permutations for VectorElement by @mscroggs in #1901
- Flatten geometry storage by @garth-wells in #1899
- Fix #1558. by @jorgensd in #1898
- Refactor DirichletBC by @jorgensd in #1883
- Update special functions tests by @jorgensd in #1900
- Allow BCs to be set with literals and arrays by @garth-wells in #1905
- Fix return type for
la::Vector::norm
by @garth-wells in #1906 - Interpolation of ufl expressions by @jorgensd in #1875
- Consolidate PETSc linear algebra wrapper into single h/cpp files by @garth-wells in #1904
- README badge update by @garth-wells in #1908
- Replace confusing legacy
FiniteElement::value_dimension
withFiniteElement::value_shape
by @garth-wells in #1910 - Convert std::vector to std::vector<int8_t> by @IgorBaratta in #1911
- Remove unused function arguments in bc lifting implementation by @garth-wells in #1913
- Support creation of 'sub' meshes by @jpdean in #1907
- Dynamically create Form classes to inherit from appropriate typed cpp base by @garth-wells in #1909
- Sort imports by @garth-wells in #1914
- Fix function copy option by @jorgensd in #1916
- Remove unnecessay semicolons by @mscroggs in #1919
- Add demo CMakeList.txt files to repo by @garth-wells in #1918
- Fix Python wrappers when SCOTCH not installed by @jhale in #1917
- Rename
dirichletbc.py
->bcs.py
by @garth-wells in #1920 - Fix CMake python interp name by @garth-wells in #1921
- Add ufl files as CMake targets and compile when needed by @garth-wells in #1922
- Check that the CoordinateElement is correct when creating a FunctionSpace by @mscroggs in #1923
- Updates for
ufc.h
->ufcx.h
renaming by @garth-wells in #1924 - Simplify
ufcx.h
detection by @garth-wells in #1925 - Store allocator type in la::Vector by @IgorBaratta in #1929
- Major simplification of PETSc and SLEPc detection by @garth-wells in #1927
- Remove unused xmls by @jorgensd in #1932
- Remove unused timers by @jorgensd in #1931
- Docker dependency version bumps by @garth-wells in #1935
- Fix regression in eval by @jorgensd in #1937
- Update GitHub EC2 runner by @jhale in #1938
- Bump gmsh version by @jorgensd in #1939
- Update UFL dependency check by @garth-wells in #1940
- Fix narrowing of global indices in graph builder by @chrisrichardson in #1941
- Add uniform weights to MPI neighbor communicator by @IgorBaratta in #1944
- Global range bugfix by @chrisrichardson in #1945
- Make timing MPI reduction easily selectable, and MPI_MAX by default by @chrisrichardson in #1949
- Add optional
cells
argument in interpolate functions by @garth-wells in #1950 - Add function to get Vector allocator by @IgorBaratta in #1953
- Bump NumPy and xtl in Dockerfile by @garth-wells in #1954
- Refactor
Function::eval
for performance by @jorgensd in #1948 - Enable CMAKE_INCLUDE_CURRENT_DIR in cpp/demos by @IgorBaratta in #1952
- Disable Sphinx warnings as errors. by @garth-wells in #1957
- Move data allocation out of
scatter_**_begin
by @IgorBaratta in #1956 - Remove compute point values from demos by @jorgensd in #1955
- Support creation of a FiniteElement from a Basix element and add H(curl) interpolation demo by @garth-wells in #1889
- Fix questionable
std::move
in mesh construction by @garth-wells in #1961 - Further memory reductions in mesh construction by @garth-wells in #1962
- Add conversions from UFL manifold cell string types by @jhale in #1963
- Add native dolfinx sparse matrix by @chrisrichardson in #1930
- Add matrix-free demo (C++) by @IgorBaratta in #1959
- Bump sonarcloud. Remove broken link in favor of github tags by @jorgensd in #1968
- Fix broken
SparsityPattern
Python interface by @jorgensd in #1967 - SLEPc cmake fix by @jhale in #1970
- Add
FiniteElement::operator==
to check elements for equality by @garth-wells in #1951 - Fix eval with empty input coordinates by @jorgensd in #1942
- Simplify ADIOS2 writers by @garth-wells in #1972
- Refactor pack coefficients by @IgorBaratta in #1966
- Spack CI updates by @garth-wells in #1975
- Fix bug in interpolation of sub-functions by @garth-wells in #1977
- Disable some workflows on forks by @garth-wells in #1981
- Switch boost::filesystem to std::filesystem by @garth-wells in #1980
- Fix SonarCloud for remote PRs by @jhale in #1984
- Add support for
pathlib
by @finsberg in #1978 - Use std::filesystem in pybind11 layer by @garth-wells in #1985
- Remove
dolfinx_utils
by @garth-wells in #1982 - Update Expression by @michalhabera in #1858
- Add missing ghost update to elasticity demo by @jhale in #1987
- Improve VTK output by @garth-wells in #1990
- Various clean-ups by @jorgensd in #1994
- Import second level submodules automatically by @michalhabera in #1993
- Allow creation of, and operations on, a
Mesh
where some ranks have no cells. by @garth-wells in #1995 - Extend pyvista plotting to higher order meshes. by @jorgensd in #1996
- myst as source format for demos by @jhale in #1992
- Remove pylit remnants by @garth-wells in #1998
- Fix deprecation warning for python 3.10 by @jorgensd in #2001
- Standards compliant debug definition by @garth-wells in #2000
- Use installed Catch2 test library by @garth-wells in #2002
- Docker bumps by @garth-wells in #2004
- Update compiler flags for mpich 4.0 in Dockerfiles by @garth-wells in #2006
- Correct offset to avoid out-of-bounds array access by @anzil in #2007
- Add Python example with
MatrixCSR
by @garth-wells in #1999 - Support creation of Vector and MatrixCSR from Python with different scalar types by @garth-wells in #2008
- Simplify and improve Python demo docs by @garth-wells in #2010
- Remove new doc deps from CI by @jhale in #2011
- Change
SLEPcEigenSolver.h
toslepc.h
by @garth-wells in #2013 - Add DPC variants by @mscroggs in #2015
- Serendipity variants by @mscroggs in #2017
- Sandbox PETSc-dependent NewtonSolver class in
nls::petsc
namespace by @garth-wells in #2018 - Fix facet plotting by @jorgensd in #2020
- Move PETSc assembly functions into submodule by @garth-wells in #2016
- Remove
Function.ufl_evaluate
by @garth-wells in #2024 - Add bc handling to MatrixCSR assembly from Python by @garth-wells in #2025
- Make UFL files Python by @michalhabera in #2021
- Fix wheel build syntax by @jhale in #2026
- Bump UFL requirement by @jhale in #2028
- Add more logging to XDMF meshtags by @chrisrichardson in #2029
- Fix sub element creation of function space based on basix element by @jorgensd in #2030
- Update gitattributes by @jorgensd in #2032
- Bump MPICH and pyvista version in Dockerfile by @garth-wells in #2034
- Get SLEPc from gitlab in Dockerfile [skip ci] by @garth-wells in #2036
- Run more robust Spack CI demo test by @garth-wells in #2037
- Fix interpolation-io demo [continuous element] by @IgorBaratta in #2038
- Sphinx + Breathe for C++ docs by @garth-wells in #2035
- Doc CI build path updates by @garth-wells in #2041
- Use the metaclass approach for MeshTags of different types. by @garth-wells in #2042
- Remove unused variable result by @jorgensd in #2043
- Minor documentation improvements (C++/Breathe) by @garth-wells in #2045
- Remove UniqueIdGenerator by @garth-wells in #2044
- Fix relative link in C++/Breathe docs by @garth-wells in #2046
- Reduce peak memory use when distributing data in parallel by @garth-wells in #2047
- Add scalable sparse neighbourhood discovery by @garth-wells in #2050
- Simplify MeshTag construction by @garth-wells in #2052
- Fix issue with MeshTags and
ufl_id
by @garth-wells in #2053 - Fix MPI 'free' bug in unittest by @garth-wells in #2057
- Fix bug in topology creation by @jpdean in #2060
- Topology computation improvements, removes xtensor in topology computation by @garth-wells in #2063
- Replace discrete operator with arbitrary order operator by @jorgensd in #2051
- Remove a debug line by @garth-wells in #2064
- Fix sub component name by @jorgensd in #2068
- Add missing "else" by @mscroggs in #2079
- Avoid using count/id to name
fem.Functions
in Python by @jorgensd in #2073 - Do not overwrite UFL id in Function by @michalhabera in #2081
- Some fixes for dofmap creation on a submesh by @jpdean in #2062
- Return empty permutations on ranks with no cells or facets by @jpdean in #2071
- Make mesh construction scalable (and remove MPI all-to-all calls) by @garth-wells in #2080
- Add Python interface for ADIOS2-based output formats by @jorgensd in #2056
- Set PETSc options prefix for matrix and vector in
fem.petsc.LinearProblem
by @jorgensd in #2077 - Fix typing of assemble_vector_nest by @jorgensd in #2082
- Change empty default lists to
None
by @jorgensd in #2084 - Test higher-order spaces on a submesh by @jpdean in #2085
- Fix for exterior facet integrals on a submesh by @jpdean in #2086
- Remove tdim where it can be got from the cell by @garth-wells in #2088
- Move file
__enter__
/__exit__
to the Python layer by @garth-wells in #2087 - Discrete interpolation matrix by @jorgensd in #2069
- Fix interpolation into serendipity by @mscroggs in #2078
- Fix return type of kahip partitioner by @IgorBaratta in #2090
- Fix typo - proposed by @srosenbu by @IgorBaratta in #2092
- Make mesh distribution deterministic for a given number of ranks by @garth-wells in #2093
- Improvement in mesh topology computation by @garth-wells in #2083
- Remove
common::subsystem
by @garth-wells in #2094 - Add MyST option to enable 'dollarmath' by @garth-wells in #2099
- Add adios2 files (.bp) and pngs to gitignore by @jorgensd in #2100
- Remove redundant directory in C++ test path by @garth-wells in #2102
- Skip gemv for identity operators in
interpolation_matrix
by @IgorBaratta in #2095 - Add access to original cell index by @chrisrichardson in #2101
- Ignore zero entries - interpolation matrix by @IgorBaratta in #2105
- Fix writing HDF5 files to subdirectory and flatten Python tests by @garth-wells in #2103
- Simplify topology build by @garth-wells in #2096
- Fill output matrix with 0.0 in math::pinv by @SarahRo in #2110
- Submesh entity map fix by @jpdean in #2107
- Docker file version bumps by @garth-wells in #2112
- Minor improvements and removal of unused includes by @jorgensd in #2108
- Support refinement of meshes with MeshTags by @chrisrichardson in #2104
- Link to MPI C libraries only via CMake by @garth-wells in #2116
- Simplify local dual graph construction by @garth-wells in #2117
- Improve ghost topology computation by @garth-wells in #2118
- Fix for submeshes with entities of codimension 1 by @jpdean in #2115
- Fix Dockerfile by @tiagovla in #2122
- Fix typos in geometry.h by @IgorBaratta in #2129
- Fix
compute_boundary_facets
forGhostMode.none
by @jpdean in #2124 - Fix expression evaluation on subset of cells by @jorgensd in #2135
- Add support for custom Basix elements by @mscroggs in #2113
- Improve determination of geometry element dimension by @jorgensd in #2128
- Better submesh assembly tests by @jpdean in #2133
- Throw runtime error for blocked mixed Dirichlet BC with Constant by @jorgensd in #2130
- Remove an AllGather from refinement code by @chrisrichardson in #2137
- Add non-recursive collision algorithm by @IgorBaratta in #2125
- Simplify Spack instructions by @garth-wells in #2146
- Simplify Basix element creation by @mscroggs in #2143
New Contributors
- @tkoyama010 made their first contribution in #1771
- @renefritze made their first contribution in #1782
- @matsievskiysv made their first contribution in #1822
- @SarahRo made their first contribution in #1831
- @finsberg made their first contribution in #1978
- @tiagovla made their first contribution in #2122
Full Changelog: 0.1.0...v0.4.0