diff --git a/code/ysolve.f90 b/code/ysolve.f90 index fed339a..5a14813 100644 --- a/code/ysolve.f90 +++ b/code/ysolve.f90 @@ -101,7 +101,8 @@ SUBROUTINE solve_with_diffusivity (calc_diff) INTERFACE - SUBROUTINE calc_diff + SUBROUTINE calc_diff(r1) + REAL, INTENT(IN), DIMENSION(:,:) :: r1 END SUBROUTINE calc_diff END INTERFACE @@ -126,7 +127,8 @@ SUBROUTINE SET_IC END SUBROUTINE SET_IC - SUBROUTINE calc_diff + SUBROUTINE calc_diff(r1) + REAL, INTENT(IN), DIMENSION(:,:) :: r1 END SUBROUTINE calc_diff END INTERFACE @@ -163,7 +165,7 @@ CALL SET_BC - CALL RK4(rhs) + CALL RK4(rhs, calc_diff) IF (t_uf.ge.dt_uf) THEN pflold=pflame @@ -478,13 +480,17 @@ END SUBROUTINE finalize_solver - SUBROUTINE RK4(rhs) + SUBROUTINE RK4(rhs, calc_diff) INTERFACE SUBROUTINE rhs(r1,f) REAL, INTENT(IN), DIMENSION(:,:) :: r1 REAL, INTENT(OUT), DIMENSION(:,:) :: f END SUBROUTINE rhs + + SUBROUTINE calc_diff(r1) + REAL, INTENT(IN), DIMENSION(:,:) :: r1 + END SUBROUTINE calc_diff END INTERFACE CALL substep(1,y1,y1,y2,yf) @@ -516,7 +522,7 @@ INTEGER :: i,j,k REAL :: at,bt - CALL update_dm + CALL calc_diff(ri) CALL rhs(ri,f) @@ -533,7 +539,8 @@ END SUBROUTINE RK4 - SUBROUTINE update_dm + SUBROUTINE update_dm(r1) + REAL, INTENT(IN),DIMENSION(:,:) :: r1 INTEGER :: i DO i=1,nx @@ -541,6 +548,15 @@ ENDDO END SUBROUTINE update_dm + SUBROUTINE update_dm_cd(r1) + REAL, INTENT(IN),DIMENSION(:,:) :: r1 + INTEGER :: i + + DO i=1,nx + dm(i) = diff + d_turb + ENDDO + END SUBROUTINE update_dm_cd + SUBROUTINE fonestep(r1,f) REAL, INTENT(IN),DIMENSION(:,:) :: r1 REAL, INTENT(OUT),DIMENSION(:,:) :: f