-
Notifications
You must be signed in to change notification settings - Fork 114
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'main' into multi_ion_mhd
- Loading branch information
Showing
307 changed files
with
5,743 additions
and
1,608 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
name: Spell Check | ||
|
||
on: [pull_request, workflow_dispatch] | ||
|
||
jobs: | ||
typos-check: | ||
name: Spell Check with Typos | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Checkout Actions Repository | ||
uses: actions/checkout@v3 | ||
- name: Check spelling | ||
uses: crate-ci/[email protected] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -26,3 +26,6 @@ coverage_report/ | |
.vscode/ | ||
|
||
.DS_Store | ||
|
||
run | ||
run/* |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
[default.extend-words] | ||
rcall = "rcall" | ||
claus = "claus" | ||
dum = "dum" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,11 +1,12 @@ | ||
name = "Trixi" | ||
uuid = "a7f1ee26-1774-49b1-8366-f1abc58fbfcb" | ||
authors = ["Michael Schlottke-Lakemper <[email protected]>", "Gregor Gassner <[email protected]>", "Hendrik Ranocha <[email protected]>", "Andrew R. Winters <[email protected]>", "Jesse Chan <[email protected]>"] | ||
version = "0.5.15-pre" | ||
version = "0.5.23-pre" | ||
|
||
[deps] | ||
CodeTracking = "da1fd8a2-8d9e-5ec2-8556-3022fb5608a2" | ||
ConstructionBase = "187b0558-2788-49d3-abe0-74a17ed4e7c9" | ||
DiffEqCallbacks = "459566f4-90b8-5000-8ac3-15dfb0a30def" | ||
EllipsisNotation = "da5c29d0-fa7d-589e-88eb-ea29b0a81949" | ||
FillArrays = "1a297f60-69ca-5386-bcde-b61e274b549b" | ||
ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210" | ||
|
@@ -20,6 +21,7 @@ Octavian = "6fd5a793-0b7e-452c-907f-f8bfe9c57db4" | |
OffsetArrays = "6fe1bfb0-de20-5000-8ca7-80f57d26f881" | ||
P4est = "7d669430-f675-4ae7-b43e-fab78ec5a902" | ||
Polyester = "f517fe37-dbe3-4b94-8317-1923a5111588" | ||
PrecompileTools = "aea7be01-6a6a-4083-8856-8a6e6704d82a" | ||
Printf = "de0858da-6303-5e67-8744-51eddeeeb8d7" | ||
RecipesBase = "3cdcf5f2-1ef4-517c-9805-6587b60abb01" | ||
Reexport = "189a3867-3050-52da-a836-e630ba90ab69" | ||
|
@@ -30,6 +32,7 @@ SimpleUnPack = "ce78b400-467f-4804-87d8-8f486da07d0a" | |
SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" | ||
StartUpDG = "472ebc20-7c99-4d4b-9470-8fde4e9faa0f" | ||
Static = "aedffcd0-7271-4cad-89d0-dc628f76c6d3" | ||
StaticArrayInterface = "0d7ed370-da01-4f52-bd93-41d350b8b718" | ||
StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" | ||
StrideArrays = "d1fa6d79-ef01-42a6-86c9-f7c551f8593b" | ||
StructArrays = "09ab397b-f2b6-538f-b94a-2f83cf4a842a" | ||
|
@@ -42,8 +45,9 @@ TriplotRecipes = "808ab39a-a642-4abf-81ff-4cb34ebbffa3" | |
[compat] | ||
CodeTracking = "1.0.5" | ||
ConstructionBase = "1.3" | ||
DiffEqCallbacks = "2.25" | ||
EllipsisNotation = "1.0" | ||
FillArrays = "0.13.2" | ||
FillArrays = "0.13.2, 1" | ||
ForwardDiff = "0.10.18" | ||
HDF5 = "0.14, 0.15, 0.16" | ||
IfElse = "0.1" | ||
|
@@ -55,14 +59,16 @@ Octavian = "0.3.5" | |
OffsetArrays = "1.3" | ||
P4est = "0.4" | ||
Polyester = "0.3.4, 0.5, 0.6, 0.7" | ||
PrecompileTools = "1.1" | ||
RecipesBase = "1.1" | ||
Reexport = "1.0" | ||
Requires = "1.1" | ||
SciMLBase = "1.90" | ||
Setfield = "0.8, 1" | ||
SimpleUnPack = "1.1" | ||
StartUpDG = "0.15" | ||
StartUpDG = "0.16" | ||
Static = "0.3, 0.4, 0.5, 0.6, 0.7, 0.8" | ||
StaticArrayInterface = "1.4" | ||
StaticArrays = "1" | ||
StrideArrays = "0.1.18" | ||
StructArrays = "0.6" | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -20,7 +20,7 @@ | |
**Trixi.jl** is a numerical simulation framework for hyperbolic conservation | ||
laws written in [Julia](https://julialang.org). A key objective for the | ||
framework is to be useful to both scientists and students. Therefore, next to | ||
having an extensible design with a fast implementation, Trixi is | ||
having an extensible design with a fast implementation, Trixi.jl is | ||
focused on being easy to use for new or inexperienced users, including the | ||
installation and postprocessing procedures. Its features include: | ||
|
||
|
@@ -35,7 +35,7 @@ installation and postprocessing procedures. Its features include: | |
* Kinetic energy-preserving and entropy-stable methods based on flux differencing | ||
* Entropy-stable shock capturing | ||
* Positivity-preserving limiting | ||
* Finite difference summation by parts (SBP) methods | ||
* [Finite difference summation by parts (SBP) methods](https://github.com/ranocha/SummationByPartsOperators.jl) | ||
* Compatible with the [SciML ecosystem for ordinary differential equations](https://diffeq.sciml.ai/latest/) | ||
* [Explicit low-storage Runge-Kutta time integration](https://diffeq.sciml.ai/latest/solvers/ode_solve/#Low-Storage-Methods) | ||
* [Strong stability preserving methods](https://diffeq.sciml.ai/latest/solvers/ode_solve/#Explicit-Strong-Stability-Preserving-Runge-Kutta-Methods-for-Hyperbolic-PDEs-(Conservation-Laws)) | ||
|
@@ -63,61 +63,66 @@ installation and postprocessing procedures. Its features include: | |
|
||
## Installation | ||
If you have not yet installed Julia, please [follow the instructions for your | ||
operating system](https://julialang.org/downloads/platform/). Trixi works | ||
operating system](https://julialang.org/downloads/platform/). Trixi.jl works | ||
with Julia v1.8. | ||
|
||
### For users | ||
Trixi and its related tools are registered Julia packages. Hence, you | ||
can install Trixi, the visualization tool | ||
Trixi.jl and its related tools are registered Julia packages. Hence, you | ||
can install Trixi.jl, the visualization tool | ||
[Trixi2Vtk](https://github.com/trixi-framework/Trixi2Vtk.jl), | ||
[OrdinaryDiffEq.jl](https://github.com/SciML/OrdinaryDiffEq.jl), and | ||
[Plots.jl](https://github.com/JuliaPlots/Plots.jl) | ||
by executing the following commands in the Julia REPL: | ||
```julia | ||
julia> import Pkg | ||
julia> using Pkg | ||
|
||
julia> Pkg.add(["Trixi", "Trixi2Vtk", "OrdinaryDiffEq", "Plots"]) | ||
``` | ||
You can copy and paste all commands to the REPL *including* the leading | ||
`julia>` prompts - they will automatically be stripped away by Julia. | ||
The package [OrdinaryDiffEq.jl](https://github.com/SciML/OrdinaryDiffEq.jl) | ||
provides time integration schemes used by Trixi, while | ||
provides time integration schemes used by Trixi.jl, while | ||
[Plots.jl](https://github.com/JuliaPlots/Plots.jl) can be used to directly | ||
visualize Trixi's results from the REPL. | ||
visualize Trixi.jl's results from the REPL. | ||
|
||
*Note on package versions:* If some of the examples for how to use Trixi do not | ||
work, verify that you are using a recent Trixi release by comparing the | ||
installed Trixi version from | ||
*Note on package versions:* If some of the examples for how to use Trixi.jl do not | ||
work, verify that you are using a recent Trixi.jl release by comparing the | ||
installed Trixi.jl version from | ||
```julia | ||
julia> import Pkg; Pkg.update("Trixi"); Pkg.status("Trixi") | ||
julia> using Pkg; Pkg.update("Trixi"); Pkg.status("Trixi") | ||
``` | ||
to the [latest release](https://github.com/trixi-framework/Trixi.jl/releases/latest). | ||
If the installed version does not match the current release, please check the | ||
*Troubleshooting* section in the [documentation](#documentation). | ||
|
||
The commands above can also be used to update Trixi. A brief list of notable | ||
changes to Trixi is available in [`NEWS.md`](NEWS.md). | ||
The commands above can also be used to update Trixi.jl. A brief list of notable | ||
changes to Trixi.jl is available in [`NEWS.md`](NEWS.md). | ||
|
||
### For developers | ||
If you plan on editing Trixi itself, you can download Trixi locally and run it from | ||
within the cloned directory: | ||
If you plan on editing Trixi.jl itself, you can download Trixi.jl locally and use the | ||
code from the cloned directory: | ||
```bash | ||
git clone [email protected]:trixi-framework/Trixi.jl.git | ||
cd Trixi.jl | ||
julia --project=@. -e 'import Pkg; Pkg.instantiate()' # Install Trixi's dependencies | ||
julia -e 'import Pkg; Pkg.add(["Trixi2Vtk", "Plots"])' # Install postprocessing tools | ||
julia -e 'import Pkg; Pkg.add("OrdinaryDiffEq")' # Install time integration schemes | ||
mkdir run | ||
cd run | ||
julia --project=. -e 'using Pkg; Pkg.develop(PackageSpec(path=".."))' # Install local Trixi.jl clone | ||
julia --project=. -e 'using Pkg; Pkg.add(["OrdinaryDiffEq", "Trixi2Vtk", "Plots"])' # Install additional packages | ||
``` | ||
If you installed Trixi this way, you always have to start Julia with the `--project` | ||
flag set to your local Trixi clone, e.g., | ||
Note that the postprocessing tools Trixi2Vtk.jl and Plots.jl are optional and | ||
can be omitted. | ||
|
||
If you installed Trixi.jl this way, you always have to start Julia with the `--project` | ||
flag set to your `run` directory, e.g., | ||
```bash | ||
julia --project=@. | ||
julia --project=. | ||
``` | ||
if already inside the `run` directory. | ||
Further details can be found in the [documentation](#documentation). | ||
|
||
|
||
## Usage | ||
In the Julia REPL, first load the package Trixi | ||
In the Julia REPL, first load the package Trixi.jl | ||
```julia | ||
julia> using Trixi | ||
``` | ||
|
@@ -140,10 +145,10 @@ This will open a new window with a 2D visualization of the final solution: | |
</p> | ||
|
||
The method `trixi_include(...)` expects a single string argument with the path to a | ||
Trixi elixir, i.e., a text file containing Julia code necessary to set up and run a | ||
simulation. To quickly see Trixi in action, `default_example()` | ||
Trixi.jl elixir, i.e., a text file containing Julia code necessary to set up and run a | ||
simulation. To quickly see Trixi.jl in action, `default_example()` | ||
returns the path to an example elixir with a short, two-dimensional | ||
problem setup. A list of all example elixirs packaged with Trixi can be | ||
problem setup. A list of all example elixirs packaged with Trixi.jl can be | ||
obtained by running `get_examples()`. Alternatively, you can also browse the | ||
[`examples/`](examples/) subdirectory. | ||
If you want to modify one of the elixirs to set up your own simulation, | ||
|
@@ -159,23 +164,23 @@ instance, in the example above the first execution of `trixi_include` takes abou | |
|
||
### Showcase of advanced features | ||
The presentation [From Mesh Generation to Adaptive Simulation: A Journey in Julia](https://youtu.be/_N4ozHr-t9E), | ||
originally given as part of JuliaCon 2022, outlines how to use Trixi for an adaptive simulation | ||
originally given as part of JuliaCon 2022, outlines how to use Trixi.jl for an adaptive simulation | ||
of the compressible Euler equations in two spatial dimensions on a complex domain. More details | ||
as well as code to run the simulation presented can be found at the | ||
[reproducibility repository](https://github.com/trixi-framework/talk-2022-juliacon_toolchain) | ||
for the presentation. | ||
|
||
## Documentation | ||
Additional documentation is available that contains more information on how to | ||
modify/extend Trixi's implementation, how to visualize output files etc. It | ||
modify/extend Trixi.jl's implementation, how to visualize output files etc. It | ||
also includes a section on our preferred development workflow and some tips for | ||
using Git. The latest documentation can be accessed either | ||
[online](https://trixi-framework.github.io/Trixi.jl/stable) or under [`docs/src`](docs/src). | ||
|
||
|
||
## Referencing | ||
If you use Trixi in your own research or write a paper using results obtained | ||
with the help of Trixi, please cite the following articles: | ||
If you use Trixi.jl in your own research or write a paper using results obtained | ||
with the help of Trixi.jl, please cite the following articles: | ||
```bibtex | ||
@article{ranocha2022adaptive, | ||
title={Adaptive numerical simulations with {T}rixi.jl: | ||
|
@@ -211,7 +216,7 @@ with the help of Trixi, please cite the following articles: | |
} | ||
``` | ||
|
||
In addition, you can also refer to Trixi directly as | ||
In addition, you can also refer to Trixi.jl directly as | ||
```bibtex | ||
@misc{schlottkelakemper2020trixi, | ||
title={{T}rixi.jl: {A}daptive high-order numerical simulations | ||
|
@@ -227,19 +232,19 @@ In addition, you can also refer to Trixi directly as | |
|
||
|
||
## Authors | ||
Trixi was initiated by [Michael | ||
Trixi.jl was initiated by [Michael | ||
Schlottke-Lakemper](https://lakemper.eu) | ||
(RWTH Aachen University, Germany) and | ||
(RWTH Aachen University/High-Performance Computing Center Stuttgart (HLRS), Germany) and | ||
[Gregor Gassner](https://www.mi.uni-koeln.de/NumSim/gregor-gassner) | ||
(University of Cologne, Germany). Together with [Hendrik Ranocha](https://ranocha.de) | ||
(University of Hamburg, Germany), [Andrew Winters](https://liu.se/en/employee/andwi94) | ||
(Linköping University, Sweden), and [Jesse Chan](https://jlchan.github.io) (Rice University, US), | ||
they are the principal developers of Trixi. | ||
they are the principal developers of Trixi.jl. | ||
The full list of contributors can be found in [AUTHORS.md](AUTHORS.md). | ||
|
||
|
||
## License and contributing | ||
Trixi is licensed under the MIT license (see [LICENSE.md](LICENSE.md)). Since Trixi is | ||
Trixi.jl is licensed under the MIT license (see [LICENSE.md](LICENSE.md)). Since Trixi.jl is | ||
an open-source project, we are very happy to accept contributions from the | ||
community. Please refer to [CONTRIBUTING.md](CONTRIBUTING.md) for more details. | ||
Note that we strive to be a friendly, inclusive open-source community and ask all members | ||
|
@@ -250,17 +255,31 @@ or [create an issue](https://github.com/trixi-framework/Trixi.jl/issues/new). | |
|
||
|
||
## Acknowledgments | ||
<p align="center"> | ||
<img align="middle" src="https://user-images.githubusercontent.com/3637659/233821022-84910be7-8649-4999-a0ff-22d5e20f0b90.jpg" width=auto/> | ||
</p> | ||
|
||
This project has benefited from funding by the Deutsche Forschungsgemeinschaft (DFG, German Research Foundation) | ||
under Germany's Excellence Strategy EXC 2044-390685587, Mathematics Münster: | ||
Dynamics-Geometry-Structure. | ||
|
||
This project has benefited from funding by the Deutsche Forschungsgemeinschaft (DFG, German Research Foundation) | ||
through the research unit FOR 5409 "Structure-Preserving Numerical Methods for Bulk- and | ||
Interface Coupling of Heterogeneous Models (SNuBIC)" (project number 463312734). | ||
|
||
This project has benefited from funding from the European Research Council through the | ||
ERC Starting Grant "An Exascale aware and Un-crashable Space-Time-Adaptive | ||
Discontinuous Spectral Element Solver for Non-Linear Conservation Laws" (Extreme), | ||
ERC grant agreement no. 714487. | ||
|
||
This project has benefited from funding from Vetenskapsrådet (VR, Swedish Research Council), Sweden grant | ||
agreement 2020-03642 VR. | ||
This project has benefited from funding from Vetenskapsrådet (VR, Swedish Research Council), Sweden | ||
through the VR Starting Grant "Shallow water flows including sediment transport and morphodynamics", | ||
VR grant agreement 2020-03642 VR. | ||
|
||
This project has benefited from funding from the United States National Science Foundation under awards | ||
DMS-1719818 and DMS-1943186. | ||
|
||
This project has benefited from funding from the German Federal Ministry of | ||
Education and Research through the project grant "Adaptive earth system modeling | ||
with significantly reduced computation time for exascale supercomputers | ||
(ADAPTEX)" (funding id: 16ME0668K). |
Oops, something went wrong.