Skip to content

add iterative solving to the amrex time integrator #22

@jackieyao0114

Description

@jackieyao0114

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions