Trixi.jl
Trixi.jl copied to clipboard
Implement coupling between meshes in one simulation
We implemented a new SemidiscretizationCoupled
which bundles multiple semidiscretizations and runs them in parallel with synchronized time steps.
These semidiscretizations can be coupled using the new BoundaryConditionCoupled
. When this boundary condition is used, values at a specified boundary of another mesh can be used as boundary condition.
We adapted the visualization code to plot coupled semidiscretizations as well: This is the advection basic example, but we split the mesh in two parts to use two semidiscretizations and a coupled boundary in between.
New examples are the coupled basic example above and the Euler source terms example on a ring (in 2D) and a cubed sphere (in 3D). These two are shown below using the visualization in https://github.com/trixi-framework/Trixi2Vtk.jl/pull/31.
Restart support has not been implemented in this PR.
Codecov Report
Merging #553 (f8b8a6c) into main (dc30dba) will increase coverage by
3.70%
. The diff coverage is91.90%
.
:exclamation: Current head f8b8a6c differs from pull request most recent head a126baf. Consider uploading reports for the commit a126baf to get more accurate results
@@ Coverage Diff @@
## main #553 +/- ##
==========================================
+ Coverage 89.15% 92.86% +3.70%
==========================================
Files 226 224 -2
Lines 18816 18785 -31
==========================================
+ Hits 16775 17443 +668
+ Misses 2041 1342 -699
Flag | Coverage Δ | |
---|---|---|
unittests | 92.86% <91.90%> (+3.70%) |
:arrow_up: |
Flags with carried forward coverage won't be shown. Click here to find out more.
Impacted Files | Coverage Δ | |
---|---|---|
src/Trixi.jl | 66.67% <ø> (ø) |
|
src/callbacks_step/analysis_dgmulti.jl | 98.63% <ø> (+49.30%) |
:arrow_up: |
src/meshes/tree_mesh.jl | 83.78% <0.00%> (-1.15%) |
:arrow_down: |
...discretization/semidiscretization_euler_gravity.jl | 88.44% <50.00%> (-2.93%) |
:arrow_down: |
src/solvers/dgsem_p4est/dg_2d.jl | 98.55% <50.00%> (-0.47%) |
:arrow_down: |
src/solvers/dgsem_p4est/dg_3d.jl | 98.64% <50.00%> (-0.33%) |
:arrow_down: |
src/semidiscretization/semidiscretization.jl | 90.54% <66.67%> (-1.01%) |
:arrow_down: |
src/meshes/mesh_io.jl | 95.05% <76.00%> (+0.78%) |
:arrow_up: |
src/solvers/dgsem_structured/dg.jl | 86.67% <88.46%> (+2.46%) |
:arrow_up: |
src/callbacks_step/stepsize.jl | 96.00% <90.00%> (-1.67%) |
:arrow_down: |
... and 67 more |
Continue to review full report at Codecov.
Legend - Click here to learn more
Δ = absolute <relative> (impact)
,ø = not affected
,? = missing data
Powered by Codecov. Last update dc30dba...a126baf. Read the comment docs.
We don't understand why the documentation job is failing.
We don't understand why the documentation job is failing.
See for the immediate cause https://github.com/trixi-framework/Trixi.jl/pull/553/checks?check_run_id=2544365213#step:5:11
For some reason, the L2 errors rho_v1
and rho_v2
are flipped on macOS for one test case.
Why the hell are rho_v1
and rho_v2
errors interchanged in CI compared to my system for the elixir_euler_cubed_sphere_coupled
!?