![]() |
ryujin 2.5.0 revision 3a6c8d57210175dea14d8116e1fe878f349f8c1c
|

The Discretization class holding the triangulation and finite element, the OfflineData class holding the precomputed matrices and sparsity patterns, the MeshAdaptor, and the TimeIntegrator (include/ryujin/discretization).
|
strong |
An enum class for setting the type of Triangulation that should be constructed.
Definition at line 31 of file discretization.h.
|
strong |
Controls the spatial mesh adaptation strategy.
Definition at line 26 of file mesh_adaptor.h.
|
strong |
Controls the marking strategy used for mesh adaptation. This configuration option is ignored for the uniform global refinement strategy.
Definition at line 52 of file mesh_adaptor.h.
|
strong |
Controls the time point selection strategy.
| Enumerator | |
|---|---|
| fixed_time_points | Perform a mesh adaptation cycle at preselected fixed time points. |
| simulation_cycle | Perform a mesh adaptation cycle at every nth simulation cycle. |
Definition at line 66 of file mesh_adaptor.h.
|
strong |
Controls the chosen invariant domain / CFL recovery strategy.
Definition at line 28 of file time_integrator.h.
|
strong |
Controls the chosen time-stepping scheme.
| Enumerator | |
|---|---|
| ssprk_22 | The strong stability preserving Runge Kutta method of order 2, SSPRK(2,2;1/2), with the following butcher tableau \begin{align*} \begin{array}{c|ccc} 0 & 0 \\ \tfrac{1}{2} & \tfrac{1}{2} & 0 \\ \hline 1 & 1 & 0 \end{array} \end{align*} |
| ssprk_33 | The strong stability preserving Runge Kutta method of order 3, SSPRK(3,3;1/3), with the following butcher tableau \begin{align*} \begin{array}{c|ccc} 0 & 0 \\ 1 & 1 & 0 \\ \tfrac{1}{2} & \tfrac{1}{4} & \tfrac{1}{4} & 0\\ \hline 1 & \tfrac{1}{6} & \tfrac{1}{6} & \tfrac{2}{3} \end{array} \end{align*} |
| erk_11 | The explicit Runge-Kutta method RK(1,1;1), aka a simple, forward Euler step. |
| erk_22 | The explicit Runge-Kutta method RK(2,2;1) with the butcher tableau \begin{align*} \begin{array}{c|ccc} 0 & 0 \\ \tfrac{1}{2} & \tfrac{1}{2} & 0 \\ \hline 1 & 0 & 1 \end{array} \end{align*} |
| erk_33 | The explicit Runge-Kutta method RK(3,3;1) with the butcher tableau \begin{align*} \begin{array}{c|ccc} 0 & 0 \\ \tfrac{1}{3} & \tfrac{1}{3} & 0 \\ \tfrac{2}{3} & 0 & \tfrac{2}{3} & 0 \\ \hline 1 & \tfrac{1}{4} & 0 & \tfrac{3}{4} \end{array} \end{align*} |
| erk_43 | The explicit Runge-Kutta method RK(4,3;1) with the butcher tableau \begin{align*} \begin{array}{c|ccc} 0 & 0 \\ \tfrac{1}{4} & \tfrac{1}{4} & 0 \\ \tfrac{1}{2} & 0 & \tfrac{1}{2} & 0 \\ \tfrac{3}{4} & 0 & \tfrac{1}{4} & \tfrac{1}{2} & 0 \\ \hline 1 & 0 & \tfrac{2}{3} & -\tfrac{1}{3} & \tfrac{2}{3} \end{array} \end{align*} |
| erk_54 | The explicit Runge-Kutta method RK(5,4;1) with the butcher tableau TODO |
| strang_ssprk_33_cn | A Strang split using ssprk 33 for the hyperbolic subproblem and Crank-Nicolson for the parabolic subproblem |
| strang_erk_33_cn | A Strang split using erk 33 for the hyperbolic subproblem and Crank-Nicolson for the parabolic subproblem |
| strang_erk_43_cn | A Strang split using erk 43 for the hyperbolic subproblem and Crank-Nicolson for the parabolic subproblem |
| imex_11 | A Euler IMEX splitting. This is the low order IMEX method: it performs a forward Euler time step for the hyperbolic subproblem and then a backward Euler time step for the parabolic subproblem. |
| imex_22 | A second order implicit-explicit method. It uses the explicit midpoint rule with Butcher tableau \begin{align*} \begin{array}{c|ccc} 0 & 0 \\ \tfrac{1}{2} & \tfrac{1}{2} & 0 \\ 1 & 0 & 1 & 0 \end{array} \end{align*} to solve the hyperbolic subproblem, and a two-stage Crank-Nicolson type diagonally implicit Runge-Kutta scheme with Butcher tableau \begin{align*} \begin{array}{c|ccc} 0 & 0 \\ \tfrac{1}{2} & 0 & \tfrac{1}{2} \\ 1 & \tfrac{1}{2} & \tfrac{1}{2} & 0 \end{array} \end{align*} to solve the parabolic subproblem. Each of the two stages consists of one explicit hyperbolic step and one implicit parabolic step with step size \(\tau / 2\). |
| imex_33 | The third order implicit-explicit method IMEX(3, 3; 1), see [7], Section 4.3. It uses Heun's third order explicit Runge-Kutta scheme with Butcher tableau \begin{align*} \begin{array}{c|cccc} 0 & 0 \\ \tfrac{1}{3} & \tfrac{1}{3} & 0 \\ \tfrac{2}{3} & 0 & \tfrac{2}{3} & 0 \\ 1 & \tfrac{1}{4} & 0 & \tfrac{3}{4} & 0 \end{array} \end{align*} to solve the hyperbolic subproblem, and a three-stage diagonally implicit Runge-Kutta scheme with Butcher tableau \begin{align*} \begin{array}{c|cccc} 0 & 0 \\ \tfrac{1}{3} & \tfrac{1}{3} - \gamma & \gamma \\ \tfrac{2}{3} & \gamma & \tfrac{2}{3} - 2 \gamma & \gamma \\ 1 & \tfrac{1}{4} & 0 & \tfrac{3}{4} & 0 \end{array} \end{align*} with \(\gamma = \tfrac{1}{2} + \tfrac{1}{2\sqrt{3}}\) to solve the parabolic subproblem. Each of the three stages consists of one explicit hyperbolic step and one implicit parabolic step with step size \(\tau / 3\). |
Definition at line 59 of file time_integrator.h.