Skip to content

Commit 205d4c3

Browse files
committed
implement step for RandomHeunCache
1 parent 4ed7a43 commit 205d4c3

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

src/perform_step/low_order.jl

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -125,16 +125,17 @@ end
125125
@unpack t,dt,uprev,u,W,p,f = integrator
126126
ftmp = integrator.f(uprev,p,t,W.curW)
127127
tmp = @.. uprev + dt * ftmp
128-
u = uprev .+ (dt / 2) .* (ftmp .+ integrator.f(tmp,p,t+dt, W.curW .+ W.dW))
128+
u = uprev .+ (dt/2) .* (ftmp .+ integrator.f(tmp,p,t+dt, W.curW .+ W.dW))
129129
integrator.u = u
130130
end
131131

132132
@muladd function perform_step!(integrator,cache::RandomHeunCache)
133-
@unpack rtmp1, rtmp2 = cache
133+
@unpack tmp, rtmp1, rtmp2 = cache
134134
@unpack t,dt,uprev,u,W,p,f = integrator
135135
integrator.f(rtmp1,uprev,p,t,W.curW)
136-
@.. u = uprev + dt * rtmp1
137-
integrator.f(rtmp1,u,p,t,W.curW)
136+
@.. tmp = uprev + dt * rtmp1
137+
integrator.f(rtmp2,tmp,p,t+dt,W.curW+W.dW)
138+
@.. u = uprev + (dt/2) * (rtmp1 + rtmp2)
138139
end
139140

140141
# weak approximation EM

0 commit comments

Comments
 (0)