advance_nonlinear_term_rk Subroutine

private subroutine advance_nonlinear_term_rk(g_state, phinew, aparnew, bparnew, dt, fields_func, source_func)

Advances dg/dt = NL(g,chi) from current g_state, chi from t -> t+dt by using an Runge-Kutta scheme with embedded error estimate for error control. This method is a wrapper to the true generic RK implementation.

Arguments

Type IntentOptional Attributes Name
complex, intent(inout), dimension (:,:,:) :: g_state
complex, intent(inout), dimension (:,:,:) :: phinew
complex, intent(inout), dimension (:,:,:) :: aparnew
complex, intent(inout), dimension (:,:,:) :: bparnew
real, intent(in) :: dt
procedure(invert_field_func) :: fields_func
procedure(source_term_func) :: source_func

Contents


Source Code

  subroutine advance_nonlinear_term_rk(g_state, phinew, aparnew, bparnew, dt, &
       fields_func, source_func)
    implicit none
    complex, dimension (:,:,:), intent(in out) :: g_state
    complex, dimension (:,:,:), intent (in out) :: phinew, aparnew, bparnew
    real, intent(in) :: dt
    procedure(invert_field_func) :: fields_func
    procedure(source_term_func) :: source_func

    call advance_nonlinear_term_rk_implementation( &
         g_state, phinew, aparnew, bparnew, dt, &
         fields_func, source_func, the_rk_scheme)
  end subroutine advance_nonlinear_term_rk