-
Notifications
You must be signed in to change notification settings - Fork 8
Description
We used iteration to realize semi-implicit solving of the LLG equation in Artemis (Link to the paper), which enables a larger time step dt compared to the explicit solver, such as RungeKutta.
In MagneX, TimeIntegratorOption = 3 enables us to solve for M in an iterative way exactly the same as Artemis, and TimeIntegratorOption = 2 chooses a predictor-corrector algorithm, which realized a similar semi-implicit numerical strategy.
However, when TimeIntegratorOption = 4, the explicit solvers are selected, namely
integration.type can take on the following string or int values: (without the quotation marks)
"ForwardEuler" or "0" = Native Forward Euler Integrator
"RungeKutta" or "1" = Native Explicit Runge Kutta
"SUNDIALS" or "2" = SUNDIALS ARKODE Integrator
Even though some of these explicit are higher order accurate, e.g. RK4, their explicit nature makes the dt requirement more stringent.
What would be a more advanced strategy is to combine the iteration and higher-order time integrator. To do so, we need to find a way to add iteration on top of the AMReX time integrators.