Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Weak form modal DG methods on simplicial (and quad/hex meshes) (#647)
* first draft of weak form modal DG methods * fix naming of new folder * adding structarrays and Trixi interface stuff * adding calc_source! * adding sandbox folder for experiments todo: remove later * new VertexMappedMesh type introduces a wrapper around MeshData and boundary tags * adding timers * removing "has_nonconservative_terms" for now * updating scratch elixir * adding draft of BoundaryStateDirichlet/Wall * updating elixir * updating elixir for testing * adding specialization for nodal SBP methods * minor minor formatting and docstring edits, removing an unnecessary type annotation, renaming variables * formatting + fixed BC bug * working elixir with weak form DG on triangles * calc_error_norms returns component-wise errors * removing unused boundary condition code * adding `func` to calc_error_norms * making AbstractMeshData !<: AbstractMesh * minor formatting * adding periodic/non-periodic elixirs * remove unused type alias / annotations * adding integrate * adding analysis callback code adding analysis to Trixi.jl, moving analysis out of dg.jl * removing extra ::AbstractVector annotation * adding tests * adding `2d_tri` tests to CI * force add Manifest.toml * Revert "force add Manifest.toml" This reverts commit 74a9a46. * adding ape triangular example * modified @requires statements make it so that Trixi @requires both StructArrays/StartUpDG for triangular mesh * switch to L2 projection for compute_coefficients * removing cruft "sandbox" testing folder * formatting (2-space tabs, alignment) * renaming folder dg_tri -> dg_triangles * Update src/solvers/dg_triangles/mesh.jl Co-authored-by: Hendrik Ranocha <ranocha@users.noreply.github.com> * Update .github/workflows/ci.yml Co-authored-by: Hendrik Ranocha <ranocha@users.noreply.github.com> * Update examples/triangular_mesh_2D/elixir_ape_triangular_mesh.jl Co-authored-by: Hendrik Ranocha <ranocha@users.noreply.github.com> * Update examples/triangular_mesh_2D/elixir_ape_triangular_mesh.jl Co-authored-by: Hendrik Ranocha <ranocha@users.noreply.github.com> * Update src/solvers/dg_triangles/mesh.jl Co-authored-by: Hendrik Ranocha <ranocha@users.noreply.github.com> * Update examples/triangular_mesh_2D/elixir_euler_triangular_mesh.jl Co-authored-by: Hendrik Ranocha <ranocha@users.noreply.github.com> * Update examples/triangular_mesh_2D/elixir_euler_periodic_triangular_mesh.jl Co-authored-by: Hendrik Ranocha <ranocha@users.noreply.github.com> * Update src/solvers/dg_triangles/dg.jl Co-authored-by: Hendrik Ranocha <ranocha@users.noreply.github.com> * Update test/test_examples_2d_triangular_mesh.jl Co-authored-by: Hendrik Ranocha <ranocha@users.noreply.github.com> * Update test/runtests.jl Co-authored-by: Hendrik Ranocha <ranocha@users.noreply.github.com> * Update src/solvers/dg_triangles/dg.jl Co-authored-by: Hendrik Ranocha <ranocha@users.noreply.github.com> * Update src/solvers/dg_triangles/dg.jl Co-authored-by: Hendrik Ranocha <ranocha@users.noreply.github.com> * Update src/solvers/dg_triangles/dg.jl Co-authored-by: Hendrik Ranocha <ranocha@users.noreply.github.com> * Update src/solvers/dg_triangles/dg.jl Co-authored-by: Hendrik Ranocha <ranocha@users.noreply.github.com> * Update src/solvers/dg_triangles/mesh.jl Co-authored-by: Hendrik Ranocha <ranocha@users.noreply.github.com> * Update src/solvers/dg_triangles/mesh.jl Co-authored-by: Hendrik Ranocha <ranocha@users.noreply.github.com> * adding new elixirs + tagging as experimental * using `each___` for iteration * minor doc changes * update NEWS.md * compat bounds * fix eltype in analysis * update path dg_tri -> dg_triangles * Apply suggestions from code review Co-authored-by: Hendrik Ranocha <ranocha@users.noreply.github.com> * caught mistake in L2 norm computation * fixed elixir name: euler -> ape * adding convergence elixir * adding compat with StartUpDG@0.9.1 new SBP type selector API. minor version bump was to avoid conflict in exporting DGSEM... * remove SBP() from convergence + bump test project.toml versions * renaming folder dg_triangles - > dg_simplices * Apply suggestions from code review Co-authored-by: Hendrik Ranocha <ranocha@users.noreply.github.com> * fixing bug in digest_boundary_conditions for triangles * specializing source_terms in calc_sources! * change dg_triangles -> dg_simplices in Trixi.jl * adding Triangulate VertexMappedMesh constructor * adding example using Triangulate * specializing digest_boundary_conditions to avoid ambiguity * adding docs for simplicial meshes * update gitignore for MacOS ignore .DS_Store * updating docs [skip ci] * Apply suggestions from code review [skip ci] Co-authored-by: Hendrik Ranocha <ranocha@users.noreply.github.com> * updating docs - capping lines at 100 columns - replacing N -> polydeg - replacing md.sJ -> md.Jf - adding more descriptions of quadrature rules and SBP nodes - finishing descriptions of plotting-related fields in RefElemData * replacing N -> polydeg in elixirs * replacing md.sJ -> md.Jf in solver code * bump StartUpDG compat * specializing existing `digest_boundary_conditions` routines - restricting x_neg, x_pos, ... unpacking routines to mesh::TreeMesh * Apply suggestions from code review Co-authored-by: Hendrik Ranocha <ranocha@users.noreply.github.com> * removing elixir which duplicates coverage updating elixirs for CI tests set up parameters to reduce runtimes * updating # todos - # todo -> # Todo: simplices, removing old todos. - fixing todo for calc_error_norms updating todos in dg.jl * updating `each___` iteration function names * adding @threaded * adding Base.show for VertexMappedMesh * adding Octavian - adding Octavian to Project.toml - adding `using Octavian` to `Trixi.jl` * updating l2, linf errors for test for triangular elixirs * updating test/Project.toml - temporarily removing Plots.jl to test CI on the PR * trying Octavian: matmul! * Update test/test_examples_2d_triangular_mesh.jl Co-authored-by: Hendrik Ranocha <ranocha@users.noreply.github.com> * fixing linf::MVector issue - `similar(::SVector)` returns an `MVector`, so I replaced it * selectively using Octavian `matmul!` revert to `mul!` for 5-argument multiply with vector arguments. Octavian hangs (see JuliaLinearAlgebra/Octavian.jl#103) * compat bound for Octavian, reverting OrdinaryDiffEq compat * fixing bugs for SBP-type discretizations - specialize `mul_by!` for UniformScaling - using LinearAlgebra: UniformScaling - dispatch on subtype of SBP * fixing Octavian compat had put Octavian compat in test/Project.toml instead of Project.toml * fixing thread-related bug - adding threading and preallocated thread arrays other minor change: removed unnecessary StructArray conversion in `compute_coefficients` * update `todo` label for Octavian.matmul! * update NEWS.md with simplicial mesh updates * renaming elixirs and test: triangular_mesh -> simplicial_mesh * adding support for 3D tet meshes - made most simplicial routines dimension-agnostic * added `min_max_speed_naive` for CompressibleEulerEquations3D * updating NEWS.md with tet meshes * fixing test naming: 2d_triangles -> simplices * updating docs with news about simplices * adding minor comments * VertexMappedMesh: fix order of type parameters * Apply suggestions from code review Co-authored-by: Michael Schlottke-Lakemper <michael@sloede.com> Co-authored-by: Hendrik Ranocha <ranocha@users.noreply.github.com> * Update docs/make.jl Co-authored-by: Michael Schlottke-Lakemper <michael@sloede.com> * reorganizing simplicial examples new folders: `simplicial_2d_dg` and `simplicial_3d_dg` * resolving issue with `mul_by!` dispatch for UniformScaling - defaults to `mul!` for `A::UniformScaling` * renaming/reorganizing simplicial tests in ci * updating docs with tentative name for Triangulate.jl elixir * adding Plots.jl v1.16 to test compat * adding convergence test for triangular mesh * updating `eachdim(mesh)`, also `@inline`ing `each___` functions Co-authored-by: Jesse Chan <jesse.chan@rice.edu> Co-authored-by: Hendrik Ranocha <ranocha@users.noreply.github.com> Co-authored-by: Michael Schlottke-Lakemper <michael@sloede.com>
- Loading branch information