time_integration_2d Module



Abstract Interfaces

abstract interface

  • public subroutine stepper_2d_iface(state)

    Arguments

    Type IntentOptional Attributes Name
    type(solver_state_2d_t), intent(inout), target :: state

Functions

public function compute_dt_2d(state) result(dt)

Arguments

Type IntentOptional Attributes Name
type(solver_state_2d_t), intent(in) :: state

Return Value real(kind=wp)

private pure function curvilinear_sigma(u, v, c, sxi, seta, vol) result(sig)

Per-cell contravariant spectral radius for the curvilinear CFL limit: (|u.Sxi| + c|Sxi| + |u.Seta| + c|Seta|) / V, with cell-averaged face vectors.

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in) :: u
real(kind=wp), intent(in) :: v
real(kind=wp), intent(in) :: c
real(kind=wp), intent(in) :: sxi(2)
real(kind=wp), intent(in) :: seta(2)
real(kind=wp), intent(in) :: vol

Return Value real(kind=wp)


Subroutines

private subroutine rhs_2d(ctx)

stepper_kernels rhs callback: recompute the 2D residual (halo exchange + BCs + interior resid happen inside compute_resid_2d).

Arguments

Type IntentOptional Attributes Name
class(*), intent(inout), target :: ctx

public subroutine rk4_step_2d(state)

Classic RK4 via the shared kernel. Whole-array flat update (halos included) — legal under the halo-zero resid invariant; halos are refreshed inside compute_resid_2d before each use. New in R2; no bit-history to preserve.

Arguments

Type IntentOptional Attributes Name
type(solver_state_2d_t), intent(inout), target :: state

public subroutine ssprk54_step_2d(state)

SSPRK(5,4) via the shared kernel (see rk4_step_2d notes).

Arguments

Type IntentOptional Attributes Name
type(solver_state_2d_t), intent(inout), target :: state

public subroutine euler_step_2d(state)

Explicit Euler via the shared kernel (whole-array flat update under the halo-zero resid invariant — see rk4_step_2d notes). Retired from the legacy interior-slice form in Q2a: u + dt*resid is the identical expression and halo resid is zero, so this one is bit-neutral.

Arguments

Type IntentOptional Attributes Name
type(solver_state_2d_t), intent(inout), target :: state

public subroutine ssprk22_step_2d(state)

SSPRK(2,2) via the shared kernel (see rk4_step_2d notes). Q2a authorized last-bit change: the kernel's 1D-verbatim distributed stage groupings replace the legacy factored groupings (spec 2026-07-10 §5).

Arguments

Type IntentOptional Attributes Name
type(solver_state_2d_t), intent(inout), target :: state

public subroutine tvd_rk3_step_2d(state)

TVD-RK3 via the shared kernel (see rk4_step_2d notes). Q2a authorized last-bit change, as ssprk22 above. This is every 2D deck's default integrator, so all 2D golden outputs move at the last bit.

Arguments

Type IntentOptional Attributes Name
type(solver_state_2d_t), intent(inout), target :: state

public subroutine resolve_time_scheme_2d(stepper, scheme)

Arguments

Type IntentOptional Attributes Name
procedure(stepper_2d_iface), intent(out), pointer :: stepper
character(len=*), intent(in) :: scheme