define_SC_time_step Subroutine

public subroutine define_SC_time_step(params, F)

Arguments

Type IntentOptional AttributesName
type(KORC_PARAMS), intent(inout) :: params
type(FIELDS), intent(inout) :: F

Called by

proc~~define_sc_time_step~~CalledByGraph proc~define_sc_time_step define_SC_time_step program~main main program~main->proc~define_sc_time_step

Contents

Source Code


Source Code

  subroutine define_SC_time_step(params,F)
    TYPE(KORC_PARAMS), INTENT(INOUT) 	:: params
    TYPE(FIELDS), INTENT(INOUT)         :: F
    integer :: sub_E_SC

    F%subcycle_E_SC = FLOOR(F%dt_E_SC/params%dt,ip)

    sub_E_SC=F%subcycle_E_SC
    
    params%t_it_SC = params%t_skip/F%subcycle_E_SC
    params%t_skip=F%subcycle_E_SC

    F%dt_E_SC=params%t_skip*params%dt

!    write(output_unit_write,*) 'dt_E_SC',F%dt_E_SC,'dt',params%dt,'subcycle_E_SC', &
!         F%subcycle_E_SC,'t_skip',params%t_skip, &
!         't_it_SC',params%t_it_SC
    
    if (params%mpi_params%rank.EQ.0) then

     write(output_unit_write,'(/,"* * * * * SC_E1D SUBCYCLING * * * * *")')
     write(output_unit_write,*) "SC_E1D sybcycling iterations: ",F%subcycle_E_SC
     write(output_unit_write,*) "Updated number of outputs: ", &
          params%t_steps/(params%t_skip*params%t_it_SC)

     write(output_unit_write,'("* * * * * * * * * * * * * * * * * * *",/)')
    end if
    

    
  end subroutine define_SC_time_step