You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
remove restriction of DiffEqBase.jl (used as hotfix) (#2264)
* remove restriction of DiffEqBase.jl (used as hotfix)
* ODE_DEFAULT_NORM moved
* use ADTypes
* fix another depwarn
* bump DiffEqCallbacks
* format
* allow older version of ADTypes
* Update test/Project.toml
Co-authored-by: Joshua Lampert <[email protected]>
* restrict to ADTypes v1
* bump ADTypes for NonlinearSolve.jl
* fix compat bounds for Downgrade action
* fix Aqua.jl issue
* add DiffEqBase extension to fix callback issues with custom integrators
* ignore several run folders
* sort alphabetically
* format
* import fix
* allow v3 of DiffEqCallbacks
* require Static.jl v1 for DiffEqBase.jl v6.154 (required for new DiffEqCallbacks stuff)
* require StaticArrayInterface 1.5.1 for Static.jl v1
* fix Aqua tests
* fix test values
* fix restart_file
* require Octavian.jl v0.3.28 for Static.jl
* require LoopVectorization.jl v0.12.171 for Static.jl
* require StrideArrays.jl v0.1.29 for Static.jl
* require Polyester.jl v0.7.15 for Static.jl
* fix typo
* require OrdinaryDiffEq.jl v6.88 for FastBroadcast.jl version required by Static.jl v1
* require Polyester.jl v0.7.16 for OrdinaryDiffEqPRK.jl
* require MuladdMacro v0.2.4 for OrdinaryDiffEqPRK.jl
* require Static.jl v1.1.1 for OrdinaryDiffEqHighOrderRK.jl
* require ADTypes.jl v1.7.1 for OrdinaryDiffEqNonlinearSolve.jl
* fix documentation about PERK methods
* fix some more test values and tolerances
* remove extras that are not required anymore since Julia v1.9
* make DiffEqBase a regular dep instead of a weakdep
Trixi.jl depends on DiffEqBase.jl already via DiffEqCallbacks.jl. Making DiffEqBase.jl
a regular dep instead of a weakdep fixes a cyclic dependency issue with extensions.
* format
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* add NLsolve to docs/Project.toml
---------
Co-authored-by: Joshua Lampert <[email protected]>
Co-authored-by: Joshua Lampert <[email protected]>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
For more information on using thread-based parallelism in Trixi.jl, please refer to
33
+
For more information on using thread-based parallelism in Trixi.jl, please refer to
34
34
[Shared-memory parallelization with threads](@ref).
35
35
- If you use error-based step size control (see also the section on
36
36
[error-based adaptive step sizes](@ref adaptive_step_sizes)) together with MPI, you need to
@@ -50,7 +50,7 @@ are the following. Further documentation can be found in the
50
50
### Stabilized Explicit Runge-Kutta Methods
51
51
52
52
Optimized explicit schemes aim to maximize the timestep $\Delta t$ for a given simulation setup.
53
-
Formally, this boils down to an optimization problem of the form
53
+
Formally, this boils down to an optimization problem of the form
54
54
```math
55
55
\underset{P_{p;S} \, \in \, \mathcal{P}_{p;S}}{\max} \Delta t \text{ such that } \big \vert P_{p;S}(\Delta t \lambda_m) \big \vert \leq 1, \quad m = 1 , \dots , M \tag{1}
56
56
```
@@ -79,12 +79,12 @@ Nevertheless, due to their optimized stability properties and low-storage nature
79
79
80
80
#### Tutorial: Using `PairedExplicitRK2`
81
81
82
-
In this tutorial, we will demonstrate how you can use the second-order PERK time integrator. You need the packages `Convex.jl`and `ECOS.jl`, so be sure they are added to your environment.
82
+
In this tutorial, we will demonstrate how you can use the second-order PERK time integrator. You need the packages `Convex.jl`, `ECOS.jl`, and `NLsolve.jl`, so be sure they are added to your environment.
83
83
84
84
First, you need to load the necessary packages:
85
85
86
86
```@example PERK-example-1
87
-
using Convex, ECOS
87
+
using Convex, ECOS, NLsolve
88
88
using OrdinaryDiffEq
89
89
using Trixi
90
90
```
@@ -96,7 +96,7 @@ Then, define the ODE problem and the semidiscretization setup. For this example,
Next, we will construct the time integrator. In order to do this, you need the following components:
147
147
148
-
- Number of stages: The number of stages $S$ in the Runge-Kutta method.
148
+
- Number of stages: The number of stages $S$ in the Runge-Kutta method.
149
149
In this example, we use `6` stages.
150
-
- Time span (`tspan`): A tuple `(t_start, t_end)` that defines the time span over which the ODE will be solved.
151
-
This defines the bounds for the bisection routine for the optimal timestep $\Delta t$ used in calculating the polynomial coefficients at optimization stage.
150
+
- Time span (`tspan`): A tuple `(t_start, t_end)` that defines the time span over which the ODE will be solved.
151
+
This defines the bounds for the bisection routine for the optimal timestep $\Delta t$ used in calculating the polynomial coefficients at optimization stage.
152
152
This variable is already defined in step 5.
153
153
- Semidiscretization (`semi`): The semidiscretization setup that includes the mesh, equations, initial condition, and solver. In this example, this variable is already defined in step 3.
154
154
In the background, we compute from `semi` the Jacobian $J$ evaluated at the initial condition using [`jacobian_ad_forward`](https://trixi-framework.github.io/Trixi.jl/stable/reference-trixi/#Trixi.jacobian_ad_forward-Tuple{Trixi.AbstractSemidiscretization}).
@@ -182,9 +182,9 @@ There are two additional constructors for the `PairedExplicitRK2` method besides
182
182
183
183
In the previous tutorial the CFL number was set manually to $2.5$.
184
184
To avoid the manual trial-and-error process behind this, instantiations of `AbstractPairedExplicitRK` methods can automatically compute the stable CFL number for a given simulation setup using the [`Trixi.calculate_cfl`](@ref) function.
185
-
When constructing the time integrator from a semidiscretization `semi`,
185
+
When constructing the time integrator from a semidiscretization `semi`,
186
186
```@example PERK-example-1
187
-
# Construct third-order paired-explicit Runge-Kutta method with 8 stages for given simulation setup.
187
+
# Construct third-order paired-explicit Runge-Kutta method with 8 stages for given simulation setup.
0 commit comments