72 TYPE(t_region
) :: region
73 INTEGER,
INTENT(IN) :: istage,ivbeg,ivend
74 REAL(RFREAL),
DIMENSION(:),
POINTER :: var,varold,
rhs,rhssum
80 CHARACTER(CHRLEN) :: rcsidentstring
83 REAL(RFREAL) :: ark(5),grk(5)
90 rcsidentstring =
'$RCSfile: RkUpdatePointScalar.F90,v $ $Revision: 1.3 $'
92 global => region%global
95 'RkUpdatePointScalar.F90')
101 ark(:) = region%mixtInput%ark(:)
102 grk(:) = region%mixtInput%grk(:)
108 fac = ark(istage)*global%dtMin
110 SELECT CASE ( global%rkScheme )
111 CASE ( rk_scheme_4_classical )
112 IF ( istage == 1 )
THEN
114 var(iv) = varold(iv) + fac*
rhs(iv)
117 ELSE IF ( istage == global%nrkSteps )
THEN
119 var(iv) = varold(iv) + fac*(
rhs(iv) + rhssum(iv))
123 var(iv) = varold(iv) + fac*
rhs(iv)
124 rhssum(iv) = rhssum(iv) + grk(istage)*
rhs(iv)
127 CASE ( rk_scheme_3_wray )
128 IF ( istage == 1 )
THEN
130 var(iv) = varold(iv) + fac*
rhs(iv)
133 ELSE IF ( istage == 2 )
THEN
135 var(iv) = varold(iv) + fac*(
rhs(iv) - grk(istage)*rhssum(iv))
140 var(iv) = varold(iv) + fac*(
rhs(iv) - grk(istage)*rhssum(iv))
144 CALL
errorstop(global,err_reached_default,__line__)
subroutine registerfunction(global, funName, fileName)
subroutine rkupdatepointscalar(region, iStage, ivBeg, ivEnd, var, varOld, rhs, rhsSum)
subroutine errorstop(global, errorCode, errorLine, addMessage)
subroutine deregisterfunction(global)