Skip to content

Commit

Permalink
Feature: T8codeMesh backend with MPI support (#1803)
Browse files Browse the repository at this point in the history
* 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
16 people authored Jan 31, 2024
1 parent 0799029 commit d53fdb5
Show file tree
Hide file tree
Showing 85 changed files with 1,529 additions and 640 deletions.
2 changes: 2 additions & 0 deletions Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ ConstructionBase = "187b0558-2788-49d3-abe0-74a17ed4e7c9"
DataStructures = "864edb3b-99cc-5e75-8d2d-829cb0a9cfe8"
DiffEqBase = "2b5f629d-d688-5b77-993f-72d75c75574e"
DiffEqCallbacks = "459566f4-90b8-5000-8ac3-15dfb0a30def"
Downloads = "f43a241f-c20a-4ad4-852c-f6b1247861c6"
EllipsisNotation = "da5c29d0-fa7d-589e-88eb-ea29b0a81949"
FillArrays = "1a297f60-69ca-5386-bcde-b61e274b549b"
ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210"
Expand Down Expand Up @@ -57,6 +58,7 @@ ConstructionBase = "1.3"
DataStructures = "0.18.15"
DiffEqBase = "6 - 6.143"
DiffEqCallbacks = "2.25"
Downloads = "1.6"
EllipsisNotation = "1.0"
FillArrays = "0.13.2, 1"
ForwardDiff = "0.10.18"
Expand Down
9 changes: 3 additions & 6 deletions benchmark/elixir_2d_euler_vortex_unstructured.jl
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@

using Downloads: download
using OrdinaryDiffEq
using Trixi

Expand Down Expand Up @@ -49,11 +48,9 @@ end
initial_condition = initial_condition_isentropic_vortex
solver = DGSEM(polydeg = 3, surface_flux = flux_lax_friedrichs)

default_mesh_file = joinpath(@__DIR__, "mesh_uniform_cartesian.mesh")
isfile(default_mesh_file) ||
download("https://gist.githubusercontent.com/ranocha/f4ea19ba3b62348968c971db43d7798b/raw/a506abb9479c020920cf6068c142670fc1a9aadc/mesh_uniform_cartesian.mesh",
default_mesh_file)
mesh_file = default_mesh_file
mesh_file = Trixi.download("https://gist.githubusercontent.com/ranocha/f4ea19ba3b62348968c971db43d7798b/raw/a506abb9479c020920cf6068c142670fc1a9aadc/mesh_uniform_cartesian.mesh",
joinpath(@__DIR__, "mesh_uniform_cartesian.mesh"))

mesh = UnstructuredMesh2D(mesh_file, periodicity = true)

semi = SemidiscretizationHyperbolic(mesh, equations, initial_condition, solver)
Expand Down
9 changes: 2 additions & 7 deletions examples/dgmulti_2d/elixir_euler_hohqmesh.jl
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@

using Downloads: download
using OrdinaryDiffEq
using Trixi

Expand Down Expand Up @@ -30,12 +29,8 @@ dg = DGMulti(polydeg = 8, element_type = Quad(), approximation_type = SBP(),

###############################################################################
# Get the curved quad mesh from a file (downloads the file if not available locally)

default_mesh_file = joinpath(@__DIR__, "mesh_trixi_unstructured_mesh_docs.mesh")
isfile(default_mesh_file) ||
download("https://gist.githubusercontent.com/andrewwinters5000/52056f1487853fab63b7f4ed7f171c80/raw/9d573387dfdbb8bce2a55db7246f4207663ac07f/mesh_trixi_unstructured_mesh_docs.mesh",
default_mesh_file)
mesh_file = default_mesh_file
mesh_file = Trixi.download("https://gist.githubusercontent.com/andrewwinters5000/52056f1487853fab63b7f4ed7f171c80/raw/9d573387dfdbb8bce2a55db7246f4207663ac07f/mesh_trixi_unstructured_mesh_docs.mesh",
joinpath(@__DIR__, "mesh_trixi_unstructured_mesh_docs.mesh"))

mesh = DGMultiMesh(dg, mesh_file)

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@

using Downloads: download
using OrdinaryDiffEq
using Trixi

Expand Down Expand Up @@ -31,10 +30,8 @@ Trixi.validate_faces(faces)
mapping_flag = Trixi.transfinite_mapping(faces)

# Unstructured mesh with 24 cells of the square domain [-1, 1]^n
mesh_file = joinpath(@__DIR__, "square_unstructured_2.inp")
isfile(mesh_file) ||
download("https://gist.githubusercontent.com/efaulhaber/63ff2ea224409e55ee8423b3a33e316a/raw/7db58af7446d1479753ae718930741c47a3b79b7/square_unstructured_2.inp",
mesh_file)
mesh_file = Trixi.download("https://gist.githubusercontent.com/efaulhaber/63ff2ea224409e55ee8423b3a33e316a/raw/7db58af7446d1479753ae718930741c47a3b79b7/square_unstructured_2.inp",
joinpath(@__DIR__, "square_unstructured_2.inp"))

mesh = P4estMesh{2}(mesh_file, polydeg = 3,
mapping = mapping_flag,
Expand Down
7 changes: 2 additions & 5 deletions examples/p4est_2d_dgsem/elixir_advection_unstructured_flag.jl
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@

using Downloads: download
using OrdinaryDiffEq
using Trixi

Expand Down Expand Up @@ -29,10 +28,8 @@ Trixi.validate_faces(faces)
mapping_flag = Trixi.transfinite_mapping(faces)

# Unstructured mesh with 24 cells of the square domain [-1, 1]^n
mesh_file = joinpath(@__DIR__, "square_unstructured_2.inp")
isfile(mesh_file) ||
download("https://gist.githubusercontent.com/efaulhaber/63ff2ea224409e55ee8423b3a33e316a/raw/7db58af7446d1479753ae718930741c47a3b79b7/square_unstructured_2.inp",
mesh_file)
mesh_file = Trixi.download("https://gist.githubusercontent.com/efaulhaber/63ff2ea224409e55ee8423b3a33e316a/raw/7db58af7446d1479753ae718930741c47a3b79b7/square_unstructured_2.inp",
joinpath(@__DIR__, "square_unstructured_2.inp"))

mesh = P4estMesh{2}(mesh_file, polydeg = 3,
mapping = mapping_flag,
Expand Down
7 changes: 2 additions & 5 deletions examples/p4est_2d_dgsem/elixir_euler_blast_wave_amr.jl
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@

using Downloads: download
using OrdinaryDiffEq
using Trixi

Expand Down Expand Up @@ -50,10 +49,8 @@ volume_integral = VolumeIntegralShockCapturingHG(indicator_sc;
solver = DGSEM(basis, surface_flux, volume_integral)

# Unstructured mesh with 48 cells of the square domain [-1, 1]^n
mesh_file = joinpath(@__DIR__, "square_unstructured_1.inp")
isfile(mesh_file) ||
download("https://gist.githubusercontent.com/efaulhaber/a075f8ec39a67fa9fad8f6f84342cbca/raw/a7206a02ed3a5d3cadacd8d9694ac154f9151db7/square_unstructured_1.inp",
mesh_file)
mesh_file = Trixi.download("https://gist.githubusercontent.com/efaulhaber/a075f8ec39a67fa9fad8f6f84342cbca/raw/a7206a02ed3a5d3cadacd8d9694ac154f9151db7/square_unstructured_1.inp",
joinpath(@__DIR__, "square_unstructured_1.inp"))

mesh = P4estMesh{2}(mesh_file, polydeg = 3, initial_refinement_level = 1)

Expand Down
8 changes: 2 additions & 6 deletions examples/p4est_2d_dgsem/elixir_euler_double_mach_amr.jl
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@

using Downloads: download
using OrdinaryDiffEq
using Trixi

Expand Down Expand Up @@ -99,11 +98,8 @@ solver = DGSEM(polydeg = polydeg, surface_flux = surface_flux,
volume_integral = volume_integral)

# Get the unstructured quad mesh from a file (downloads the file if not available locally)
default_mesh_file = joinpath(@__DIR__, "abaqus_double_mach.inp")
isfile(default_mesh_file) ||
download("https://gist.githubusercontent.com/andrewwinters5000/a0806ef0d03cf5ea221af523167b6e32/raw/61ed0eb017eb432d996ed119a52fb041fe363e8c/abaqus_double_mach.inp",
default_mesh_file)
mesh_file = default_mesh_file
mesh_file = Trixi.download("https://gist.githubusercontent.com/andrewwinters5000/a0806ef0d03cf5ea221af523167b6e32/raw/61ed0eb017eb432d996ed119a52fb041fe363e8c/abaqus_double_mach.inp",
joinpath(@__DIR__, "abaqus_double_mach.inp"))

mesh = P4estMesh{2}(mesh_file)

Expand Down
8 changes: 2 additions & 6 deletions examples/p4est_2d_dgsem/elixir_euler_forward_step_amr.jl
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@

using Downloads: download
using OrdinaryDiffEq
using Trixi

Expand Down Expand Up @@ -104,11 +103,8 @@ solver = DGSEM(polydeg = polydeg, surface_flux = surface_flux,
volume_integral = volume_integral)

# Get the unstructured quad mesh from a file (downloads the file if not available locally)
default_mesh_file = joinpath(@__DIR__, "abaqus_forward_step.inp")
isfile(default_mesh_file) ||
download("https://gist.githubusercontent.com/andrewwinters5000/b346ee6aa5446687f128eab8b37d52a7/raw/cd1e1d43bebd8d2631a07caec45585ec8456ca4c/abaqus_forward_step.inp",
default_mesh_file)
mesh_file = default_mesh_file
mesh_file = Trixi.download("https://gist.githubusercontent.com/andrewwinters5000/b346ee6aa5446687f128eab8b37d52a7/raw/cd1e1d43bebd8d2631a07caec45585ec8456ca4c/abaqus_forward_step.inp",
joinpath(@__DIR__, "abaqus_forward_step.inp"))

mesh = P4estMesh{2}(mesh_file)

Expand Down
7 changes: 2 additions & 5 deletions examples/p4est_2d_dgsem/elixir_euler_free_stream.jl
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@

using Downloads: download
using OrdinaryDiffEq
using Trixi

Expand Down Expand Up @@ -31,10 +30,8 @@ end
# Get the uncurved mesh from a file (downloads the file if not available locally)

# Unstructured mesh with 48 cells of the square domain [-1, 1]^n
mesh_file = joinpath(@__DIR__, "square_unstructured_1.inp")
isfile(mesh_file) ||
download("https://gist.githubusercontent.com/efaulhaber/a075f8ec39a67fa9fad8f6f84342cbca/raw/a7206a02ed3a5d3cadacd8d9694ac154f9151db7/square_unstructured_1.inp",
mesh_file)
mesh_file = Trixi.download("https://gist.githubusercontent.com/efaulhaber/a075f8ec39a67fa9fad8f6f84342cbca/raw/a7206a02ed3a5d3cadacd8d9694ac154f9151db7/square_unstructured_1.inp",
joinpath(@__DIR__, "square_unstructured_1.inp"))

# Map the unstructured mesh with the mapping above
mesh = P4estMesh{2}(mesh_file, polydeg = 3, mapping = mapping, initial_refinement_level = 1)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@

using Downloads: download
using OrdinaryDiffEq
using Trixi

Expand Down Expand Up @@ -31,10 +30,8 @@ mapping_flag = Trixi.transfinite_mapping(faces)

# Get the uncurved mesh from a file (downloads the file if not available locally)
# Unstructured mesh with 24 cells of the square domain [-1, 1]^n
mesh_file = joinpath(@__DIR__, "square_unstructured_2.inp")
isfile(mesh_file) ||
download("https://gist.githubusercontent.com/efaulhaber/63ff2ea224409e55ee8423b3a33e316a/raw/7db58af7446d1479753ae718930741c47a3b79b7/square_unstructured_2.inp",
mesh_file)
mesh_file = Trixi.download("https://gist.githubusercontent.com/efaulhaber/63ff2ea224409e55ee8423b3a33e316a/raw/7db58af7446d1479753ae718930741c47a3b79b7/square_unstructured_2.inp",
joinpath(@__DIR__, "square_unstructured_2.inp"))

mesh = P4estMesh{2}(mesh_file, polydeg = 3,
mapping = mapping_flag,
Expand Down
8 changes: 2 additions & 6 deletions examples/p4est_2d_dgsem/elixir_euler_supersonic_cylinder.jl
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@
#
# Keywords: supersonic flow, shock capturing, AMR, unstructured curved mesh, positivity preservation, compressible Euler, 2D

using Downloads: download
using OrdinaryDiffEq
using Trixi

Expand Down Expand Up @@ -82,11 +81,8 @@ solver = DGSEM(polydeg = polydeg, surface_flux = surface_flux,
volume_integral = volume_integral)

# Get the unstructured quad mesh from a file (downloads the file if not available locally)
default_mesh_file = joinpath(@__DIR__, "abaqus_cylinder_in_channel.inp")
isfile(default_mesh_file) ||
download("https://gist.githubusercontent.com/andrewwinters5000/a08f78f6b185b63c3baeff911a63f628/raw/addac716ea0541f588b9d2bd3f92f643eb27b88f/abaqus_cylinder_in_channel.inp",
default_mesh_file)
mesh_file = default_mesh_file
mesh_file = Trixi.download("https://gist.githubusercontent.com/andrewwinters5000/a08f78f6b185b63c3baeff911a63f628/raw/addac716ea0541f588b9d2bd3f92f643eb27b88f/abaqus_cylinder_in_channel.inp",
joinpath(@__DIR__, "abaqus_cylinder_in_channel.inp"))

mesh = P4estMesh{2}(mesh_file)

Expand Down
8 changes: 2 additions & 6 deletions examples/p4est_2d_dgsem/elixir_euler_wall_bc_amr.jl
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@

using Downloads: download
using OrdinaryDiffEq
using Trixi

Expand Down Expand Up @@ -39,11 +38,8 @@ solver = DGSEM(polydeg = 5, surface_flux = flux_lax_friedrichs,
volume_integral = VolumeIntegralFluxDifferencing(volume_flux))

# Get the unstructured quad mesh from a file (downloads the file if not available locally)
default_mesh_file = joinpath(@__DIR__, "abaqus_gingerbread_man.inp")
isfile(default_mesh_file) ||
download("https://gist.githubusercontent.com/andrewwinters5000/0e9e990a04b5105d1d2e3096a6e41272/raw/0d924b1d7e7d3cc1070a6cc22fe1d501687aa6dd/abaqus_gingerbread_man.inp",
default_mesh_file)
mesh_file = default_mesh_file
mesh_file = Trixi.download("https://gist.githubusercontent.com/andrewwinters5000/0e9e990a04b5105d1d2e3096a6e41272/raw/0d924b1d7e7d3cc1070a6cc22fe1d501687aa6dd/abaqus_gingerbread_man.inp",
joinpath(@__DIR__, "abaqus_gingerbread_man.inp"))

mesh = P4estMesh{2}(mesh_file)

Expand Down
7 changes: 2 additions & 5 deletions examples/p4est_2d_dgsem/elixir_mhd_rotor.jl
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@

using Downloads: download
using OrdinaryDiffEq
using Trixi

Expand Down Expand Up @@ -69,10 +68,8 @@ function mapping_twist(xi, eta)
return SVector(x, y)
end

mesh_file = joinpath(@__DIR__, "square_unstructured_2.inp")
isfile(mesh_file) ||
download("https://gist.githubusercontent.com/efaulhaber/63ff2ea224409e55ee8423b3a33e316a/raw/7db58af7446d1479753ae718930741c47a3b79b7/square_unstructured_2.inp",
mesh_file)
mesh_file = Trixi.download("https://gist.githubusercontent.com/efaulhaber/63ff2ea224409e55ee8423b3a33e316a/raw/7db58af7446d1479753ae718930741c47a3b79b7/square_unstructured_2.inp",
joinpath(@__DIR__, "square_unstructured_2.inp"))

mesh = P4estMesh{2}(mesh_file,
polydeg = 4,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@

using Downloads: download
using OrdinaryDiffEq
using Trixi

Expand Down Expand Up @@ -49,10 +48,8 @@ function mapping(xi, eta, zeta)
end

# Unstructured mesh with 48 cells of the cube domain [-1, 1]^3
mesh_file = joinpath(@__DIR__, "cube_unstructured_2.inp")
isfile(mesh_file) ||
download("https://gist.githubusercontent.com/efaulhaber/b8df0033798e4926dec515fc045e8c2c/raw/b9254cde1d1fb64b6acc8416bc5ccdd77a240227/cube_unstructured_2.inp",
mesh_file)
mesh_file = Trixi.download("https://gist.githubusercontent.com/efaulhaber/b8df0033798e4926dec515fc045e8c2c/raw/b9254cde1d1fb64b6acc8416bc5ccdd77a240227/cube_unstructured_2.inp",
joinpath(@__DIR__, "cube_unstructured_2.inp"))

# Mesh polydeg of 2 (half the solver polydeg) to ensure FSP (see above).
mesh = P4estMesh{3}(mesh_file, polydeg = 2,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@

using Downloads: download
using OrdinaryDiffEq
using Trixi

Expand Down Expand Up @@ -46,10 +45,8 @@ function mapping(xi, eta, zeta)
end

# Unstructured mesh with 68 cells of the cube domain [-1, 1]^3
mesh_file = joinpath(@__DIR__, "cube_unstructured_1.inp")
isfile(mesh_file) ||
download("https://gist.githubusercontent.com/efaulhaber/d45c8ac1e248618885fa7cc31a50ab40/raw/37fba24890ab37cfa49c39eae98b44faf4502882/cube_unstructured_1.inp",
mesh_file)
mesh_file = Trixi.download("https://gist.githubusercontent.com/efaulhaber/d45c8ac1e248618885fa7cc31a50ab40/raw/37fba24890ab37cfa49c39eae98b44faf4502882/cube_unstructured_1.inp",
joinpath(@__DIR__, "cube_unstructured_1.inp"))

mesh = P4estMesh{3}(mesh_file, polydeg = 3,
mapping = mapping,
Expand Down
7 changes: 2 additions & 5 deletions examples/p4est_3d_dgsem/elixir_euler_ec.jl
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@

using Downloads: download
using OrdinaryDiffEq
using Trixi

Expand Down Expand Up @@ -46,10 +45,8 @@ function mapping(xi_, eta_, zeta_)
end

# Unstructured mesh with 48 cells of the cube domain [-1, 1]^3
mesh_file = joinpath(@__DIR__, "cube_unstructured_2.inp")
isfile(mesh_file) ||
download("https://gist.githubusercontent.com/efaulhaber/b8df0033798e4926dec515fc045e8c2c/raw/b9254cde1d1fb64b6acc8416bc5ccdd77a240227/cube_unstructured_2.inp",
mesh_file)
mesh_file = Trixi.download("https://gist.githubusercontent.com/efaulhaber/b8df0033798e4926dec515fc045e8c2c/raw/b9254cde1d1fb64b6acc8416bc5ccdd77a240227/cube_unstructured_2.inp",
joinpath(@__DIR__, "cube_unstructured_2.inp"))

mesh = P4estMesh{3}(mesh_file, polydeg = 5,
mapping = mapping,
Expand Down
7 changes: 2 additions & 5 deletions examples/p4est_3d_dgsem/elixir_euler_free_stream.jl
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@

using Downloads: download
using OrdinaryDiffEq
using Trixi

Expand Down Expand Up @@ -47,10 +46,8 @@ function mapping(xi_, eta_, zeta_)
end

# Unstructured mesh with 68 cells of the cube domain [-1, 1]^3
mesh_file = joinpath(@__DIR__, "cube_unstructured_1.inp")
isfile(mesh_file) ||
download("https://gist.githubusercontent.com/efaulhaber/d45c8ac1e248618885fa7cc31a50ab40/raw/37fba24890ab37cfa49c39eae98b44faf4502882/cube_unstructured_1.inp",
mesh_file)
mesh_file = Trixi.download("https://gist.githubusercontent.com/efaulhaber/d45c8ac1e248618885fa7cc31a50ab40/raw/37fba24890ab37cfa49c39eae98b44faf4502882/cube_unstructured_1.inp",
joinpath(@__DIR__, "cube_unstructured_1.inp"))

# Mesh polydeg of 2 (half the solver polydeg) to ensure FSP (see above).
mesh = P4estMesh{3}(mesh_file, polydeg = 2,
Expand Down
7 changes: 2 additions & 5 deletions examples/p4est_3d_dgsem/elixir_euler_free_stream_extruded.jl
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@

using Downloads: download
using OrdinaryDiffEq
using Trixi

Expand Down Expand Up @@ -36,10 +35,8 @@ function mapping(xi, eta_, zeta_)
end

# Unstructured mesh with 48 cells of the cube domain [-1, 1]^3
mesh_file = joinpath(@__DIR__, "cube_unstructured_2.inp")
isfile(mesh_file) ||
download("https://gist.githubusercontent.com/efaulhaber/b8df0033798e4926dec515fc045e8c2c/raw/b9254cde1d1fb64b6acc8416bc5ccdd77a240227/cube_unstructured_2.inp",
mesh_file)
mesh_file = Trixi.download("https://gist.githubusercontent.com/efaulhaber/b8df0033798e4926dec515fc045e8c2c/raw/b9254cde1d1fb64b6acc8416bc5ccdd77a240227/cube_unstructured_2.inp",
joinpath(@__DIR__, "cube_unstructured_2.inp"))

mesh = P4estMesh{3}(mesh_file, polydeg = 3,
mapping = mapping,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@

using Downloads: download
using OrdinaryDiffEq
using Trixi

Expand Down Expand Up @@ -49,10 +48,8 @@ function mapping(xi, eta, zeta)
end

# Unstructured mesh with 68 cells of the cube domain [-1, 1]^3
mesh_file = joinpath(@__DIR__, "cube_unstructured_1.inp")
isfile(mesh_file) ||
download("https://gist.githubusercontent.com/efaulhaber/d45c8ac1e248618885fa7cc31a50ab40/raw/37fba24890ab37cfa49c39eae98b44faf4502882/cube_unstructured_1.inp",
mesh_file)
mesh_file = Trixi.download("https://gist.githubusercontent.com/efaulhaber/d45c8ac1e248618885fa7cc31a50ab40/raw/37fba24890ab37cfa49c39eae98b44faf4502882/cube_unstructured_1.inp",
joinpath(@__DIR__, "cube_unstructured_1.inp"))

# Mesh polydeg of 2 (half the solver polydeg) to ensure FSP (see above).
mesh = P4estMesh{3}(mesh_file, polydeg = 2,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@

using Downloads: download
using OrdinaryDiffEq
using Trixi

Expand All @@ -19,11 +18,8 @@ boundary_conditions = Dict(:Bottom => boundary_condition,
solver = DGSEM(polydeg = 4, surface_flux = flux_lax_friedrichs)

# Unstructured 3D half circle mesh from HOHQMesh
default_mesh_file = joinpath(@__DIR__, "abaqus_half_circle_3d.inp")
isfile(default_mesh_file) ||
download("https://gist.githubusercontent.com/andrewwinters5000/11461efbfb02c42e06aca338b3d0b645/raw/81deeb1ebc4945952c30af5bb75fe222a18d975c/abaqus_half_circle_3d.inp",
default_mesh_file)
mesh_file = default_mesh_file
mesh_file = Trixi.download("https://gist.githubusercontent.com/andrewwinters5000/11461efbfb02c42e06aca338b3d0b645/raw/81deeb1ebc4945952c30af5bb75fe222a18d975c/abaqus_half_circle_3d.inp",
joinpath(@__DIR__, "abaqus_half_circle_3d.inp"))

mesh = P4estMesh{3}(mesh_file, initial_refinement_level = 0)

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@

using Downloads: download
using OrdinaryDiffEq
using Trixi

Expand Down
Loading

0 comments on commit d53fdb5

Please sign in to comment.