Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Feature: T8codeMesh backend with MPI support (#1803)
* Initial commit for the new feature using t8code as meshing backend. * Delete t8code_2d_dgsem * Added new examples and tests. Testing updates for T8code.jl. * Worked in the comments. * Fixed spelling. * Update src/auxiliary/auxiliary.jl Co-authored-by: Hendrik Ranocha <[email protected]> * Added whitespace in Unions. * Adapted commented out code block reporting the no. of elements per level. * Added dummy save mesh support for . * Added test . * Added to method signature. * Deleted unnecessary comments. * Removed commented out tests. * Fixed Morton ordering bug in 2D at mortar interfaces. * Disabled `save_solution` callbacks and added more tests. * Added more tests. * Updated code according to the review. * Update src/auxiliary/t8code.jl Co-authored-by: Hendrik Ranocha <[email protected]> * Update src/auxiliary/t8code.jl Co-authored-by: Hendrik Ranocha <[email protected]> * Update src/auxiliary/t8code.jl Co-authored-by: Hendrik Ranocha <[email protected]> * Update src/auxiliary/t8code.jl Co-authored-by: Hendrik Ranocha <[email protected]> * Update src/meshes/t8code_mesh.jl Co-authored-by: Hendrik Ranocha <[email protected]> * Update src/meshes/t8code_mesh.jl Co-authored-by: Hendrik Ranocha <[email protected]> * Update src/meshes/t8code_mesh.jl Co-authored-by: Hendrik Ranocha <[email protected]> * Update src/meshes/t8code_mesh.jl Co-authored-by: Hendrik Ranocha <[email protected]> * Update src/meshes/t8code_mesh.jl Co-authored-by: Hendrik Ranocha <[email protected]> * Update src/meshes/t8code_mesh.jl Co-authored-by: Hendrik Ranocha <[email protected]> * Update src/solvers/dgsem_t8code/containers_2d.jl Co-authored-by: Hendrik Ranocha <[email protected]> * Update src/meshes/t8code_mesh.jl Co-authored-by: Hendrik Ranocha <[email protected]> * Code cleanup. * Updated to [email protected] * Fixing minor issues. * Fixed typo. * Code cleanup. * Enabled `set_ghost` in examples. * Generalized type info in function signature. * Added namespace qualifier. * Updated comments. * Refactored code and deleted lots of it. * Removed a copy operation. * Initial commit. * Fxinig minor bugs. * Fixed minor typo. * Added first 3d example and fixed segfault. * Added many 3D examples and tests. * Backup. * Fixed merging issues. * Adding more tests. * Fixed some merging issues and formatting. * Fixed spelling. * Fixed spelling and changed assert macro. * Applied automatic formatting. * Applied automatic formatting. * Backup. * Removed superfluous outer constructor for T8codeMesh. * Added return statement for consistency. * Fixed wrong indentation by autoformatter. * Added comments. * Made sure an exception is thrown. * Changed flags for sc_init for t8code initialization. * Updated formatting. * Workaround for error about calling MPI routines after MPI has been finalized. * Upped to T8code v0.4.1. * Added mpi_finailize_hook for proper memory cleanup. * Added t8code to test_threaded.jl * Added a `save_mesh_file` call in order to satisfy code coverage. * Improved finalizer logic for T8coeMesh. * Refined code. * Restructured to do blocks. * Moved save_mesh_file call to test file. * Fixed spelling error. * Made sc_finalize optional. * Fixed spelling. * Cleaned up examples. * Updated and cleaned t8code solver codes. * Updated tests for t8code 3D code. * Fixed spelling. * Update elixir_euler_source_terms_nonconforming_unstructured_curved.jl * Update elixir_euler_source_terms_nonconforming_unstructured_curved.jl * Fixed indentation. * Update src/solvers/dgsem_structured/dg_3d.jl Co-authored-by: Hendrik Ranocha <[email protected]> * Update src/solvers/dgsem_t8code/containers_3d.jl Co-authored-by: Andrew Winters <[email protected]> * Update src/callbacks_step/amr_dg3d.jl Co-authored-by: Andrew Winters <[email protected]> * Update examples/t8code_3d_dgsem/elixir_euler_ec.jl Co-authored-by: Andrew Winters <[email protected]> * Update examples/t8code_3d_dgsem/elixir_advection_unstructured_curved.jl Co-authored-by: Andrew Winters <[email protected]> * Update examples/t8code_3d_dgsem/elixir_advection_amr_unstructured_curved.jl Co-authored-by: Andrew Winters <[email protected]> * Update src/solvers/dgsem_structured/dg_3d.jl Co-authored-by: Hendrik Ranocha <[email protected]> * Update src/meshes/t8code_mesh.jl Co-authored-by: Hendrik Ranocha <[email protected]> * Update src/callbacks_step/analysis_dg3d.jl Co-authored-by: Hendrik Ranocha <[email protected]> * Update examples/t8code_3d_dgsem/elixir_euler_free_stream.jl Co-authored-by: Andrew Winters <[email protected]> * Removed NDIMS from T8codeMesh construction in case of p4est/p8est connectivity input. * Aligned T8codeMesh constructur with other mesh constructors. * Update examples/t8code_3d_dgsem/elixir_euler_sedov.jl Co-authored-by: Andrew Winters <[email protected]> * Update examples/t8code_3d_dgsem/elixir_euler_sedov.jl Co-authored-by: Andrew Winters <[email protected]> * Cleanup up. * Added @allocated test. * Fixed formatting. * Applied formatter. * Added ParallelT8codeMesh to constructor. * Code cleanup. * Extended T8codeMesh backend to support MPI interfaces datastructures. * Update NEWS.md (#1780) * set version to v0.6.5 * set development version to v0.6.6-pre * hotfix: restrict DiffEqBase.jl to let CI pass (#1788) * hotfix: restrict DiffEqBase.jl to let CI pass * restrict DiffEqBase.jl in main Project.toml * Update Project.toml * Parabolic Mortar for AMR `P4estMesh{3}` (#1765) * Clean branch * Un-Comment * un-comment * test coarsen * remove redundancy * Remove support for passive terms * expand resize * comments * format * Avoid code duplication * Update src/callbacks_step/amr_dg1d.jl Co-authored-by: Michael Schlottke-Lakemper <[email protected]> * comment * comment & format * Try to increase coverage * Slightly more expressive names * Apply suggestions from code review * add specifier for 1d * Structs for resizing parabolic helpers * check if mortars are present * reuse `reinitialize_containers!` * resize calls for parabolic helpers * update analysis callbacks * Velocities for compr euler * Init container * correct copy-paste error * resize each dim * add dispatch * Add AMR for shear layer * USe only amr shear layer * first steps towards p4est parabolic amr * Add tests * remove plots * Format * remove redundant line * platform independent tests * No need for different flux_viscous comps after adding container_viscous to p4est * Laplace 3d * Longer times to allow converage to hit coarsen! * Increase testing of Laplace 3D * Add tests for velocities * remove comment * add elixir for amr testing * adding commented out mortar routines in 2D * Adding Mortar to 2d dg parabolic term * remove testing snippet * fix comments * add more arguments for dispatch * add some temporary todo notes * some updates for AP and KS * specialize mortar_fluxes_to_elements * BUGFIX: apply_jacobian_parabolic! was incorrect for P4estMesh * fixed rhs_parabolic! for mortars * more changes to elixir * indexing bug * comments * Adding the example for nonperiodic BCs with amr * hopefully this fixes AMR boundaries for parabolic terms * add elixir * Example with non periodic bopundary conditions * remove cruft * 3D parabolic amr * TGV elixir * Creating test for AMR 3D parabolic * Formatting * test formatting * Update src/Trixi.jl * Update src/equations/compressible_euler_1d.jl * Update src/equations/compressible_euler_2d.jl * Update src/equations/compressible_euler_3d.jl * Update src/solvers/dgsem_tree/container_viscous_2d.jl * Update src/solvers/dgsem_tree/container_viscous_2d.jl * Update src/solvers/dgsem_tree/container_viscous_2d.jl * Update src/solvers/dgsem_tree/container_viscous_3d.jl * Update src/solvers/dgsem_tree/container_viscous_3d.jl * Update src/solvers/dgsem_tree/container_viscous_3d.jl * Update src/solvers/dgsem_p4est/dg_2d_parabolic.jl * Update src/solvers/dgsem_p4est/dg_2d_parabolic.jl * Update src/solvers/dgsem_tree/dg_2d_parabolic.jl * Update src/solvers/dgsem_tree/dg_2d_parabolic.jl * Update src/solvers/dgsem_tree/dg_2d_parabolic.jl * Update src/solvers/dgsem_tree/dg_2d_parabolic.jl * Update src/solvers/dgsem_tree/dg_2d_parabolic.jl * Update src/solvers/dgsem_tree/dg_2d_parabolic.jl * Update src/solvers/dgsem_tree/dg_2d_parabolic.jl * Update src/solvers/dgsem_tree/dg_2d_parabolic.jl * Update src/solvers/dgsem_tree/dg_2d_parabolic.jl * Update test/test_parabolic_3d.jl * Update src/solvers/dgsem_tree/dg_3d_parabolic.jl * Update src/solvers/dgsem_tree/dg_3d_parabolic.jl * Update src/solvers/dgsem_tree/dg_3d_parabolic.jl * Update src/solvers/dgsem_tree/dg_3d_parabolic.jl * Update src/solvers/dgsem_tree/dg_3d_parabolic.jl * Update src/solvers/dgsem_tree/dg_3d_parabolic.jl * Update src/solvers/dgsem_tree/dg_3d_parabolic.jl * Update src/solvers/dgsem_tree/dg_3d_parabolic.jl * Update src/solvers/dgsem_p4est/dg_3d_parabolic.jl * Update src/solvers/dgsem_p4est/dg_3d_parabolic.jl * Update src/solvers/dgsem_p4est/dg_3d_parabolic.jl * Update src/solvers/dgsem_p4est/dg_3d_parabolic.jl * Update src/solvers/dgsem_p4est/dg_2d_parabolic.jl * Update src/solvers/dgsem_p4est/dg_2d.jl * Update src/solvers/dgsem_p4est/dg_2d_parabolic.jl * Update src/solvers/dgsem_p4est/dg_2d_parabolic.jl * Update test/test_parabolic_3d.jl * Update test/test_parabolic_3d.jl * Update test/test_parabolic_3d.jl * Update examples/p4est_3d_dgsem/elixir_navierstokes_3d_blast_wave_amr.jl * Update examples/p4est_3d_dgsem/elixir_navierstokes_taylor_green_vortex_amr.jl * Update examples/p4est_3d_dgsem/elixir_navierstokes_3d_blast_wave_amr.jl * Update examples/p4est_3d_dgsem/elixir_navierstokes_taylor_green_vortex_amr.jl * Update examples/p4est_3d_dgsem/elixir_navierstokes_3d_blast_wave_amr.jl * Update examples/p4est_3d_dgsem/elixir_navierstokes_3d_blast_wave_amr.jl * Update examples/p4est_3d_dgsem/elixir_navierstokes_taylor_green_vortex_amr.jl * Update examples/p4est_3d_dgsem/elixir_navierstokes_3d_blast_wave_amr.jl * Update examples/p4est_3d_dgsem/elixir_navierstokes_taylor_green_vortex_amr.jl * Update examples/p4est_3d_dgsem/elixir_navierstokes_3d_blast_wave_amr.jl * Update examples/p4est_3d_dgsem/elixir_navierstokes_taylor_green_vortex_amr.jl * Update dg_3d_parabolic.jl * Update test_parabolic_3d.jl * Update elixir_navierstokes_3d_blast_wave_amr.jl * Update elixir_navierstokes_taylor_green_vortex_amr.jl * Update dg_3d_parabolic.jl * Update test_parabolic_3d.jl * Update test_parabolic_3d.jl * Update examples/p4est_3d_dgsem/elixir_navierstokes_3d_blast_wave_amr.jl * Update elixir_navierstokes_3d_blast_wave_amr.jl * Update elixir_navierstokes_taylor_green_vortex_amr.jl * Update dg_3d_parabolic.jl * Update test_parabolic_3d.jl * Delete examples/p4est_3d_dgsem/elixir_navierstokes_3d_blast_wave_amr.jl * Create elixir_navierstokes_blast_wave_amr.jl * Update test_parabolic_3d.jl * Update NEWS.md * Update NEWS.md * Update src/solvers/dgsem_p4est/dg_3d_parabolic.jl * Update src/solvers/dgsem_p4est/dg_3d_parabolic.jl * Update src/solvers/dgsem_p4est/dg_3d_parabolic.jl * Update src/solvers/dgsem_p4est/dg_3d_parabolic.jl --------- Co-authored-by: Daniel_Doehring <[email protected]> Co-authored-by: Daniel Doehring <[email protected]> Co-authored-by: Michael Schlottke-Lakemper <[email protected]> Co-authored-by: Jesse Chan <[email protected]> Co-authored-by: Jesse Chan <[email protected]> * reset the timer also on non-root MPI processes (#1787) Co-authored-by: Michael Schlottke-Lakemper <[email protected]> * Add HLLC flux for non-cartesian meshes to CompressibleEulerEquations{2,3}D (#1790) * add HLLC flux for non-cartesian meshes * add tests for HLLC flux * Add 2D test with HLLC * Update test_p4est_3d.jl * Update test_p4est_2d.jl * Update test_p4est_3d.jl * Update src/equations/compressible_euler_3d.jl Co-authored-by: Hendrik Ranocha <[email protected]> * Update src/equations/compressible_euler_2d.jl Co-authored-by: Hendrik Ranocha <[email protected]> * Update compressible_euler_2d.jl * Update compressible_euler_3d.jl * Update test_p4est_2d.jl * Update test_p4est_3d.jl * Update compressible_euler_2d.jl * Update compressible_euler_2d.jl --------- Co-authored-by: Daniel Doehring <[email protected]> Co-authored-by: Hendrik Ranocha <[email protected]> * Bump crate-ci/typos from 1.16.23 to 1.16.26 (#1793) Bumps [crate-ci/typos](https://github.com/crate-ci/typos) from 1.16.23 to 1.16.26. - [Release notes](https://github.com/crate-ci/typos/releases) - [Changelog](https://github.com/crate-ci/typos/blob/master/CHANGELOG.md) - [Commits](crate-ci/typos@v1.16.23...v1.16.26) --- updated-dependencies: - dependency-name: crate-ci/typos dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Extend `CompressibleEulerQuasi1D` and `ShallowWaterQuasi1D` to `DGMulti` (#1797) * adding DGMulti versions of fluxes * remove incorrect factor of 2 * add example and test * formatting * add comment * revert removing factor of 2 * formatting * add SWE quasi-1D test d * enable quasi1D SWE for DGMulti * add docstrings * formatting * Update src/equations/compressible_euler_quasi_1d.jl Co-authored-by: Hendrik Ranocha <[email protected]> * adding comments explaining why `normal_direction` is included in 1D * Apply suggestions from code review Co-authored-by: Daniel Doehring <[email protected]> --------- Co-authored-by: Hendrik Ranocha <[email protected]> Co-authored-by: Daniel Doehring <[email protected]> * Fix boundary_condition_slip_wall for SWE (#1798) * fix_wall_bc * add test * apply formatter * adjust some comments * update elixir and test; add topography * comments explaining usage of `ForwardDiff.jacobian` (#1800) * Bump actions/upload-artifact from 3 to 4 (#1795) * Bump actions/upload-artifact from 3 to 4 Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 3 to 4. - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](actions/upload-artifact@v3...v4) --- updated-dependencies: - dependency-name: actions/upload-artifact dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <[email protected]> * bump download-artifact to v4 --------- Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Hendrik Ranocha <[email protected]> * Code cleanup. * Applied formatter. * Registered mpi t8code tests. * Added load-balancing feature to T8codeMesh. * Applied formatter. * Updated some test values. * Fixed typo. * Removed unused member variable. * Apply suggestions from code review Co-authored-by: Daniel Doehring <[email protected]> * suggestions from review * fix format (strange?) * Added comments to help interpreting the source code. * Update src/callbacks_step/amr_dg3d.jl Co-authored-by: Benedict <[email protected]> * Adhered to unified mesh constructor calling scheme. * Applied formatter. * Switched to Float64 instead of Cdouble. * Update src/meshes/t8code_mesh.jl Co-authored-by: Daniel Doehring <[email protected]> * Refactored negative volume check. * Applied formatter. * Fixed typo resp. bug. * Apply suggestions from code review Co-authored-by: Hendrik Ranocha <[email protected]> * add missing allocation checks * Some refactoring. * Deleted msh file. * Fixed a bug. * Code cleanup. * Ignore gmsh files. * Removed adapt! from global namespace. * Added documentation. * Added @test_warn to test. * Applied formatter. * Apply suggestions from code review Co-authored-by: Hendrik Ranocha <[email protected]> Co-authored-by: Joshua Lampert <[email protected]> * Turned @warn to @info. * Code cleanup and added @deprecated routines in order to avoid breaking release. * Applied formatter. * Added formatter pragmas to avoid ugly formatting. * Applied formatter. * Code cleanup. Documenting. * Applied formatter. * Removed remnants of development. * Removed dubious commented out line. * minors in comments skip ci * Added `retrieve` function which downloads missing mesh file without race conditions in case of MPI environment. * Added Downloads as dependency. * Added missing namespace qualifier. * add compat bound * Apply suggestions from code review Co-authored-by: Daniel Doehring <[email protected]> Co-authored-by: Joshua Lampert <[email protected]> * use retrieve everywhere for downloading * try to improve formatting * and what julia formatter makes out of it * try to consolidate max_dt computation * format * add default allocation tests * remove left over vtk_write * Revert "try to consolidate max_dt computation" This reverts commit d0e9a2c. * fix variable name * less consolidation * remove unused variables * Update src/auxiliary/auxiliary.jl Co-authored-by: Hendrik Ranocha <[email protected]> * Update src/Trixi.jl Co-authored-by: Hendrik Ranocha <[email protected]> * revert b068d11 (manually) * use Trixi.download * Revert "use retrieve everywhere for downloading" This reverts commit a438547. * change to new Trixi.download signature * format * remove merge leftover * format * Code refactor. Applied review comments. * Fixed bug. * Fixed typo. * Update src/auxiliary/auxiliary.jl Co-authored-by: Hendrik Ranocha <[email protected]> * Update src/meshes/t8code_mesh.jl Co-authored-by: Hendrik Ranocha <[email protected]> * Update src/meshes/t8code_mesh.jl Co-authored-by: Hendrik Ranocha <[email protected]> * Applying review comments. * Added return early if there is nothing to do in adapt routines. --------- Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: Johannes Markert <[email protected]> Co-authored-by: Hendrik Ranocha <[email protected]> Co-authored-by: Andrew Winters <[email protected]> Co-authored-by: Jesse Chan <[email protected]> Co-authored-by: Hendrik Ranocha <[email protected]> Co-authored-by: Ahmad Peyvan <[email protected]> Co-authored-by: Daniel_Doehring <[email protected]> Co-authored-by: Daniel Doehring <[email protected]> Co-authored-by: Michael Schlottke-Lakemper <[email protected]> Co-authored-by: Jesse Chan <[email protected]> Co-authored-by: Benedict <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Patrick Ersing <[email protected]> Co-authored-by: Benedict Geihe <[email protected]> Co-authored-by: Joshua Lampert <[email protected]>
- Loading branch information