v4.0.0
We are happy to release v4.0.0 of t8code!
Enjoy reading through the release nodes, or have a look at the NEWS.md (or in the archive) of it, if you read this in the future) for the most important changes.
What's Changed
- Data handler diff approach by @Davknapp in #1244
- Pack opimization by @Davknapp in #1256
- Merge main into feature-cmesh_vertex_connectivity by @dutkalex in #1267
- version 3.0.0 by @ole-alb in #1282
- Fix wrong return value when checking tree geometry compat. by @jmark in #1285
- Fix various warnings by @dutkalex in #1284
- Fix CI parallelity by @sandro-elsweijer in #1277
- Remove autotools CI by @sandro-elsweijer in #1288
- Fix spelling-errors by @Davknapp in #1291
- Add missing const qualifiers by @dutkalex in #1293
- Feature ghost tuning by @holke in #1003
- Upgrade to C++ 20 by @Davknapp in #1298
- add assertion with error message by @ole-alb in #1304
- more const for split_array functions by @holke in #1302
- Fix: More robust connect cmesh faces by vertices and sphere cmesh examples by @jmark in #1296
- Remove Fortran from language dependencies when not needed. by @jmark in #1281
- Correct mail address by @sandro-elsweijer in #1308
- add placeholder for internal data handling by @ole-alb in #1274
- Update functionname to naming scheme by @Davknapp in #1310
- parametrized -> parameterized by @Davknapp in #1312
- Add version.txt to .gitignore by @sandro-elsweijer in #1313
- Fix: Add missing headers in order to import definitions. by @jmark in #1319
- Replaced all tscheme with scheme by @Davknapp in #1316
- Add ctest Testing folder to .gitignore by @sandro-elsweijer in #1321
- Add tag labels to pr template by @sandro-elsweijer in #1322
- Scheme CRTP Update by @sandro-elsweijer in #1243
- More finely graded Warning-flags for CMake by @Davknapp in #1315
- Increase ci timeout limit by @sandro-elsweijer in #1324
- increase ci timeout limit (again) by @sandro-elsweijer in #1325
- Update README.md by @sandro-elsweijer in #1328
- Configure with -O1 on debug-builds by @Davknapp in #1326
- Correct typos by @sandro-elsweijer in #1332
- Move fortran debug flag by @Davknapp in #1335
- Update element-functions by @Davknapp in #1334
- Remove code duplication by @sandro-elsweijer in #1290
- fixed missing Assertion by @Davknapp in #1336
- Add getter for scheme eclass by @sandro-elsweijer in #1341
- Multiple schemes tests by @ole-alb in #1300
- Remove duplicate declaration by @Davknapp in #1343
- Avoid dynamic allocation in element-functions by @Davknapp in #1347
- Avoid dynamic allocations with hard-coded numbers by @Davknapp in #1348
- Fix dquad/pquad confusion bug by @holke in #1339
- Add element ancestor test by @sandro-elsweijer in #1346
- Disable build noise from sc and p4est by @dutkalex in #1283
- Remove old libsc option by @dutkalex in #1350
- Make all schemes const by @ole-alb in #1349
- Standalone scheme by @ole-alb in #1331
- Revert loop to prevent overwriting of the input element by @ole-alb in #1356
- Fix benchmarks by @sandro-elsweijer in #1344
- Feature search cpp interface by @Davknapp in #1297
- add interface for replicated partition search by @hannesbrandt in #1286
- Switch the order of coords and level by @ole-alb in #1360
- Test all schemes in forest tests by @ole-alb in #1352
- Add temporay default scheme macro by @ole-alb in #1366
- add a function to pretty print scheme and eclass by @Davknapp in #1364
- Test input = output by @ole-alb in #1363
- use occ as system include by @Davknapp in #1372
- introduce more setters to the vtk writer by @Davknapp in #1358
- Fix error in default quad scheme by @ole-alb in #1378
- Remove partition warning by @ole-alb in #1379
- Fixed vtk read documentation by @tunxu in #1381
- Correct order of execution in docu and some typos by @lenaploetzke in #1382
- Adding link to JOSS paper in README.md. by @jmark in #1387
- correct typo in name by @sandro-elsweijer in #1388
- link to gtest as system-library by @ole-alb in #1389
- Strong types by @Davknapp in #1309
- Bfs test by @Davknapp in #1386
- Update all github-runners to ubuntu-22.04 by @Davknapp in #1393
- Update GitHub Runners by @sandro-elsweijer in #1394
- Add new test for linear id by @ole-alb in #1380
- Update p4est by @lukasdreyer in #1395
- Use linux line endings by @lukasdreyer in #1391
- constexpr for strong types by @Davknapp in #1396
- Improvements to the tutorials by @lenaploetzke in #1399
- fix typos by @Davknapp in #1402
- avoid doubling of cmake install path by @lukasdreyer in #1390
- Minor corrections to the forest_general documentation by @lenaploetzke in #1401
- Delete obsolete function by @Davknapp in #1410
- Replace pragma by include guard by @lenaploetzke in #1408
- Added copyright information to gtest_main by @lenaploetzke in #1411
- Activate CI for follow-up PRs by @sandro-elsweijer in #1398
- Impr remove t8 dvertex bits by @spenke91 in #1409
- enable the usage of a merge queue by @Davknapp in #1412
- Printable strong types by @Davknapp in #1400
- Scheme tutorial by @Davknapp in #1359
- Update vec c interface by @Davknapp in #1416
- Ifdef t8 enable script by @Davknapp in #1375
- Replaced ENABLE_LESS_TESTS by TEST_LEVEL by @lenaploetzke in #1413
- Fix operator warning by @sandro-elsweijer in #1424
- Fix ghost warning by @sandro-elsweijer in #1419
- Add corner_face_function by @ole-alb in #1362
- Update vec by @ole-alb in #1307
- Test RandomAccessible operator by @ole-alb in #1421
- Adapt documentation paragraph in README by @lenaploetzke in #1405
- Remove doubled underscores in test names by @lenaploetzke in #1426
- Correct some typos and remove unused code by @lenaploetzke in #1427
- Minimal tests for test level 2 by @lenaploetzke in #1418
- Improve CI to a more finegrained CI by @Davknapp in #1429
- Remove unimplemented t8_mesh by @lukasdreyer in #1433
- Feature conditioned compilation for netcdf by @lukasdreyer in #1435
- Fix various warnings by @dutkalex in #1414
- Reduce runtime for TEST_LEVEL == 2 by @lukasdreyer in #1444
- Adapt iterate replace test for test levels 1 and 2 by @lenaploetzke in #1446
- Added missing copyright statement in check_macros script by @lenaploetzke in #1450
- also run the CI when a Draft-PR is converted into a PR by @Davknapp in #1451
- change file suffix for script files from scp to sh by @lenaploetzke in #1448
- Fix typo in pre-commit script by @lenaploetzke in #1456
- Bugfix: Memory leak in test t8_gtest_geometry_linear by @lenaploetzke in #1455
- Bugfix: Memory leak in test t8_IO/t8_gtest_vtk_writer by @lenaploetzke in #1457
- Bugfix: Invalid read size by @lenaploetzke in #1459
- rename get_root -> set_to_root by @Davknapp in #1434
- Improvement: Rework Pull Request template by @lenaploetzke in #1440
- Remove macro checker by @sandro-elsweijer in #1462
- [2/4] Add valgrind check to ci by @lenaploetzke in #1452
- Bugfix: Replace T8_ENABLE_LESS_TEST by T8CODE_TEST_LEVEL by @lenaploetzke in #1471
- [1/4] Add valgrind check to ci by @lenaploetzke in #1438
- Move element_find_owner to public interface by @lukasdreyer in #1445
- Improvement: Only use T8_WITH_NETCDF if necessary by @Davknapp in #1469
- Feature wextra by @lukasdreyer in #1442
- [3/4] Add valgrind check to ci by @lenaploetzke in #1453
- Documentation: set join orientation by @sandro-elsweijer in #1482
- Enhancement: Element is refinable check by @sandro-elsweijer in #1484
- Standalone scheme face functions by @ole-alb in #1345
- Improvement: Remove inconsistent line from PR template by @lenaploetzke in #1496
- Bugfix: vtk writer num_cells_to_write [1/3] by @holke in #1490
- [4/4] Add valgrind check to ci by @lenaploetzke in #1460
- Improvement: Dinstinguish internal header files from public ones by @spenke91 in #1474
- Enhancement: Align standalone to coding guidelines by @sandro-elsweijer in #1498
- Documentation: Fix standalone scheme documentation by @sandro-elsweijer in #1483
- Fix some typos by @sandro-elsweijer in #1506
- Bugfix: Change strategy to find test binaries for valgrind ci by @lenaploetzke in #1512
- Improvement: [1/2] Rename macros T8_WITH_ to T8_ENABLE_ by @lenaploetzke in #1468
- Fix set_linear_id for prisms by @hannesbrandt in #1520
- Fix syntax in geo files by @sandro-elsweijer in #1463
- Bugfix: Fix CI problem with documentation by @lenaploetzke in #1521
- Improvement: Fix a typo by @Davknapp in #1526
- Fix typos and add ".md" to README by @lenaploetzke in #1518
- Improvement: [2/2] Use #if instead of #ifdef for macros T8_ENABLE by @lenaploetzke in #1470
- Improvement: Leave the CMAKE_C/CXX_STANDARD global variables alone by @dutkalex in #1525
- Fix some includes by @sandro-elsweijer in #1513
- Fix some other includes by @sandro-elsweijer in #1514
- Feature: Added workflow files to automize project board usage. by @Davknapp in #1499
- Bugfix: remove constexpr qualifier by @dutkalex in #1524
- Bugfix: More robust handling of labels by @Davknapp in #1538
- Documentation: Document issue wf by @Davknapp in #1531
- Bugfix: Handle draft prs by @Davknapp in #1540
- Add AMR25 conference information to README by @lenaploetzke in #1544
- Bugfix: Connect issue to project by @Davknapp in #1543
- Bugfix: Fix vtk api by @Davknapp in #1511
- Bugfix: Fix wrong paths in pre-commit script by @spenke91 in #1535
- Improvement: Add type for bug issue_template by @Davknapp in #1549
- Improvement: Automatically set issue type to feature by @Davknapp in #1551
- Bugfix: Issue Template by @ole-alb in #1553
- Bugfix: Error in feature Template by @ole-alb in #1555
- Bugfix: T8ddy learns how to use a page to iterate over all items in a project by @Davknapp in #1565
- Improvement: Rename ts_context by @ole-alb in #1566
- Improvement: Change default value of T8CODE_BUILD_TPL_TESTS option to OFF by @lenaploetzke in #1568
- Automatically mark sc and p4est options as advanced by @sandro-elsweijer in #1570
- Bugfix: Fix geometry example by @sandro-elsweijer in #1582
- Bugfix: Remove curved assertion by @sandro-elsweijer in #1584
- Bugfix: ignore the case for the letter "C" in "Closes" by @Davknapp in #1587
- Bugfix: constexpr error by @ole-alb in #1530
- Improvement: redesigns vtk compilation by @faouziH21 in #1481
- Improvement: Remove package update in indent workflow by @sandro-elsweijer in #1602
- Feature cmesh vertex connectivity by @holke in #960
- Improvement: Get rid of T8_ENABLE_OCC in headers by @Davknapp in #1612
- Bugfix: Fix memory leak. by @Davknapp in #1617
- Improvement: Remove conference information from README by @lenaploetzke in #1618
- Scheme improvements by @sandro-elsweijer in #1596
- Bugfix: Missing utility header include by @holke in #1620
- Rework msh reader by @sandro-elsweijer in #1423
- Other: Remove deprecated indent macro by @sandro-elsweijer in #1626
- Add global vertex id to msh file reader by @LenaRadmer in #1397
- Bugfix: is_refinable usage by @sandro-elsweijer in #1598
- Bugfix: msh node conversion tables by @sandro-elsweijer in #1475
- Feature: Implement computation of the first element of a process by @Davknapp in #1579
- Other: Improved documentation, more assertions by @Davknapp in #1589
- Feature: Test first elem computation by @Davknapp in #1577
- Bugfix: CMake Install paths by @Davknapp in #1516
- Other: Add Valgrind reminder to PR template by @lenaploetzke in #1636
- Feature: Add t8_cmesh_vertex_conn_vertex_to_tree to the cmesh interface and remove headers from public interface by @holke in #1622
- Other: Added missing copyright information for issue board workflows by @lenaploetzke in #1638
- Other: Slim down mattermost bot by @lenaploetzke in #1634
- Feature: vector split by @Davknapp in #1591
- Feature: add get_max_num_children by @ole-alb in #1649
- Feature: strong type conversion [1/2] by @holke in #1662
- Update orcid by @ole-alb in #1665
- Other: Add license information to cmake files by @lenaploetzke in #1668
- Improvement: Renamed forest functions to explicitly say leaf elements by @spenke91 in #1606
- Improvement: Renamed forest variables to explicitly say leaf element by @spenke91 in #1608
- Improvement: Improve test pretty print by @ole-alb in #1670
- Improvement: Decrease test level by @Davknapp in #1673
- Feature: Generate Code Coverage report by @lenaploetzke in #1563
- Other: Added section for renamed macros to NEWS.md by @lenaploetzke in #1676
- Improvement: Reduce depth of descendant test by @Davknapp in #1674
- Improvement: Speed up element is leaf test by @Davknapp in #1679
- Improvement: Reduce t8_gtest_forest_commit complexity for testlevel 2 by @Davknapp in #1680
- Improvement: Run code coverage workflow for every commit by @lenaploetzke in #1685
- Improvement: Tests are family by @ole-alb in #1683
- Improvement: Runtime of nca test by @Davknapp in #1678
- Improvement: Do not upload a code coverage report in the merge queue by @lenaploetzke in #1689
- Bugfix: Wrong vector operations in benchmark by @sandro-elsweijer in #1696
- Bugfix: Fix small typo by @ole-alb in #1699
- Other: Fix an 8 year old typo by @sandro-elsweijer in #1692
- Fix typo in documentation by @sandro-elsweijer in #1694
- Fix: CI updates run into 403 error. by @holke in #1701
- Improvement: Remove depricated lines from benchmark by @ole-alb in #1708
- Other: Add date of creation to entries in issue board by @spenke91 in #1707
- Improvement: Better handling of hashes and errors in t8_geometry [2/2] by @holke in #1656
- Pack/Unpack data for user-data by @Davknapp in #1224
- Tetsuite memory management by @sandro-elsweijer in #1431
- Improvement: move bin search to forest private by @holke in #1640
- Documentation: t8_dtet_type_face_to_boundary by @schok6 in #1713
- Fix: Use testsuite alloc by @sandro-elsweijer in #1717
- Bugfix: Do not send to self via blocking send by @Davknapp in #1721
- Fix a typo which makes spell check fail by @sandro-elsweijer in #1729
- Fix: Remove unnecessary cmake paths by @sandro-elsweijer in #1727
- Feature: Local cmesh bounds by @Davknapp in #1659
- Improvement: Introduce names for test levels by @spenke91 in #1731
- Improvement: Minor vtk corrections by @sandro-elsweijer in #1476
- Improvement - Performance of the current VTK writer in t8code by @Flatken in #1651
- Documentation: Fix doxygen by @Davknapp in #1741
- Documentation: Fix cmesh doxygen by @Davknapp in #1757
- Feature: enable logs redirection by @dutkalex in #1705
- Bugfix: Install vertex connectivity headers by @Davknapp in #1763
- Feature vtk reader vertex connectivity by @tunxu in #1430
- Bugfix: Overflowing datatype in test by @sandro-elsweijer in #1769
- Other: Feature new for hybrid by @Davknapp in #1776
- Improvement: Remove a magic number by @sandro-elsweijer in #1779
- Documentation: Fix doxygen errors. by @Davknapp in #1774
- Improvement: Fix an argument name by @sandro-elsweijer in #1781
- Bugfix: local search by @hannesbrandt in #1768
- Other: Find netcdf by @Davknapp in #1787
- Bugfix: incremental CMake configure by @dutkalex in #1792
- Fix some weird compiler errors by @sandro-elsweijer in #1789
- Bugfix: Fix installed headers by @Davknapp in #1797
- Other: Fix t8_geometry documentation by @sandro-elsweijer in #1796
- Improvement: Reduce vertex maxlevel and document it by @sandro-elsweijer in #1802
- Improvement: Implement missing functions in vertex connectivity by @sandro-elsweijer in #1758
- Feature:Fortran valgrind by @Davknapp in #1814
- Feature:Activate fortran api compilation in codecov run by @Davknapp in #1812
- Bugfix: Extend valgrind suppression file by fortran related errors by @lenaploetzke in #1817
- Bugfix: pr action by @Davknapp in #1822
- Feature add vertex information2 by @LenaRadmer in #1572
- Fix: OpenMPI linkage by @sandro-elsweijer in #1794
- Improvement: Outsource cad utility function by @sandro-elsweijer in #1826
- Improvement: Correct some small typos by @lenaploetzke in #1831
- Improvement: Make quick_pr more robust. by @Davknapp in #1833
- Improvement: add context hooks in CMakeLists.txt by @dutkalex in #1838
- Other: Remove conference information from README by @lenaploetzke in #1839
- Bugfix: GH_TOKEN by @Davknapp in #1841
- Bump actions/download-artifact from 4 to 5 by @dependabot[bot] in #1828
- Bump actions/checkout from 4 to 5 by @dependabot[bot] in #1835
- Doxumenation: fix doxygen errors in standalone by @lukasdreyer in #1846
- Documentation: Fix docu t8 types by @Davknapp in #1830
- Fix t8 scheme documentation by @holke in #1848
- fix doxygen in t8_forest/t8_forest_search by @Davknapp in #1849
- Documentation: Fix t8 data documentation by @Davknapp in #1827
- Other: Add status badge for docs by @lenaploetzke in #1859
- Improvement: Rename variables from t to element in t8 scheme default by @lenaploetzke in #1864
- Bugfix: Corrected outdated debug flag in t8_forest_iterate.cxx by @spenke91 in #1862
- Documentation: Fix t8 default scheme documentation by @lenaploetzke in #1858
- Documentation: Fix doxygen errors in src by @lukasdreyer in #1850
- Sphinx documentation update by @Davknapp in #1719
- Documentation: Add doxygen documentation to remaining static functions in folder src/t8_forest/ by @spenke91 in #1868
- Documentation: Fix doxygen errors and update documentation in src/t8_forest/ directory. by @spenke91 in #1867
- Bugfix: global logging with local info in t8_forest_ghost by @dutkalex in #1877
- Improvement: clearer error message when creating a distributed cmesh by @dutkalex in #1874
- Other: Oops I deleted autotools by @sandro-elsweijer in #1660
- Documentation: Fix some typos by @lenaploetzke in #1882
- Other: Fix some typos by @JoshuaLampert in #1886
- Feature: enable t8_cmesh_get_global_vertices_of_tree( ..., ..., nullptr ) by @dutkalex in #1885
- Improvement: Change location of CodeCoverage include in cmake by @lenaploetzke in #1880
- Feature: Use flat vector for unstructured mesh interface by @lenaploetzke in #1892
- Documentation: Remove further doxygen errors (doxygen version 1.9.1) by @spenke91 in #1891
- Improvement: Remove vertex renumbering and make negative volume check optional by @sandro-elsweijer in #1786
- Documentation: shmem_array_start_writing documentation by @Davknapp in #1724
- Add timing of big arrays in forest by @lukasdreyer in #1904
- Improvement: Custom competence test for mesh interface by @lenaploetzke in #1895
- Documentation: Fix doxygen warnings observed for newer Doxygen version (such as 1.3.2) by @spenke91 in #1894
- Bump actions/download-artifact from 5 to 6 by @dependabot[bot] in #1927
- Bump actions/upload-artifact from 4 to 5 by @dependabot[bot] in #1928
- Fix: Strong types by @sandro-elsweijer in #1933
- Improvement: Add a scheme helper class for general schemes by @sandro-elsweijer in #1898
- Improvement: Throw an error if t8_cmesh_copy() is called for a cmesh using vertex connectivity by @spenke91 in #1897
- Feature: Interface as cmake library by @lenaploetzke in #1914
- Improvement: Improve the predictability of Codecoverage by @lenaploetzke in #1931
- Cmake: Remove ${} from if clauses by @lenaploetzke in #1948
- Improvement: Rename unstructured mesh interface by @lenaploetzke in #1923
- (Hopefully an) Improvement: Separate eclass variables into extern (C) and constexpr (C++) variables by @sandro-elsweijer in #1942
- Other: Fix typos and indent doxygen comments by @lenaploetzke in #1949
- Bugfix: VTK Output of empty partitions by @holke in #1954
- Feature: Add eclass string for invalid eclass by @holke in #1955
- Fix: clean up custom assertion test header by @holke in #1972
- Improvement: Move t8_cad.hxx/cxx to own folder src/t8_cad by @spenke91 in #1926
- Bugfix: fix empty struct warning by @dutkalex in #1888
- Update documentation link to Read the Docs by @sandro-elsweijer in #1970
- Only add a proc once to owners by @lukasdreyer in #1917
- Bugfix: Fix issue 1951 half face neighbor order by @holke in #1952
- Improvement: indent script hardening for BSD systems by @dutkalex in #1975
- Feature: Enable VTK ASCII output of Ghost data [3/3] by @holke in #1493
- Feature: Add a scalar and vector data field to VTK write test [2/3] by @holke in #1488
- feature: const all params in face iterator by @holke in #1968
- Fix: Valgrind tests failed due to memory error. Element destroy at wrong position. by @holke in #1978
- Bugfix: 1922 Non-initialized variable caused "jump based on uninitialized value" in t8_cmesh_uniform_bounds_from_unpartioned by @holke in #1983
- Enhancement: Add vector views and concepts by @sandro-elsweijer in #1940
- Documentation: improve ghost function documentation by @dutkalex in #1756
- Enhancement: Indent many files that were seemingly unchecked before. [2/2] by @holke in #1987
- Bugfix: (2nd try) 1922 Non-initialized variable caused "jump based on uninitialized value" in t8_cmesh_uniform_bounds_from_unpartioned by @holke in #1993
- Bump actions/checkout from 5 to 6 by @dependabot[bot] in #1992
- Enhancement: Clean up cmesh folder. New subfolders and better structure. Only moving files. by @holke in #1986
- Feature: Very first version of the unstructured mesh interface by @lenaploetzke in #1829
- Improvement: Add possibility to use mpi with valgrind to check_valgrind scripts by @lenaploetzke in #1990
- Bugfix: Ignore warnings when executing CMake tests by @holke in #1996
- Improvement: Restrict MPI to version 3.0 or higher by @holke in #1998
- Improvement: indent ignore list and unification of indent scripts [1/2] by @holke in #1688
- Bugfix: fix clang compilation by @dutkalex in #2001
- Bugfix: Geometry access of cad shapes by @sandro-elsweijer in #1878
- Feature: Compute the eclass of a tree or ghost neighbor in the cmesh by @holke in #1806
- Bugfix: add missing STL includes by @dutkalex in #2016
- Other: Add my ORCID by @spenke91 in #2019
- Documentation: Update NEWS.md for version 4.0 release by @holke in #2021
- Correct spelling and email in citation file by @dutkalex in #2023
- Other: Add Lenas ORCID by @spenke91 in #2024
New Contributors
- @hannesbrandt made their first contribution in #1286
- @tunxu made their first contribution in #1381
- @lenaploetzke made their first contribution in #1382
- @faouziH21 made their first contribution in #1481
- @Flatken made their first contribution in #1651
- @JoshuaLampert made their first contribution in #1886
Full Changelog: v3.0.0...v4.0.0