efficient IMEX
All we need to modify are the Jacobian terms for ϕ
.
From the IMEX preprint
Gm,j(gm,jϕ)=gm,j−Em,jϕ−gΔtA^j,jEmw+(gΔtA^j,j)2(1−μm,j)
which gets translated into (dicarding any terms that disappear under differentiation),
C1−∑(δϕ)−C2−C3−(gΔtAj,j)2μm,j
.
The tricky thing is that we are calculating this quantity at model interfaces, which means
and so we find
μk=21(dp3dk+1+dp3dk)pk+1−pk=(dp3di)−1p0[(p0−1ϕk+1−ϕkRdθv,k+1dp3dk+1)1−κ1−(p0−1ϕk−ϕk−1Rdθv,kdp3dk)1−κ1]=(dp3di)−1p0[(p0−1Rdθv,k+1dp3dk+1)1−κ1(ϕk+1−ϕk)1−κ1−(p0−1Rdθv,kdp3dk)1−κ1(ϕk−ϕk−1)1−κ1]
and so to make everything as easy to read as possible
∂ϕk+1[μk]=(dp3di)−1p0[(p0−1Rdθv,k+1dp3dk+1)1−κ1(ϕk+1−ϕk)1−κ1(1−κ)(ϕk+1−ϕk)1]=−dp3di,k+1(ϕk+1−ϕk)pk+1
which gives us the template
abc1JLJU,k=1JU,k=1JD,k=1JD,k=1=(1−κ)(Δtg(ϕ1))2=dp3dint,1a=Δϕ1p1=bk+1ck=2bkck=bkck=1−JU,1=1−JL,k−1−JU,k
where we can expand
bmcn=(1−κ)⋅dp3dint,m(Δtg(ϕm))2⋅Δϕnpn=(1−κ)⋅dp3dint,m(Δtg(ϕm))2⋅Δϕnpn
The trick comes from differentiating μ
with respect to ϕ
μ=dp3dint,kpk−pk+1=dp3dint,k+1ΔϕkRdTkdp3dk−Δϕk+1RdTk+1dp3dk+1
and thus
∂Δϕkμ=−dp3dint,k+1pk[Δϕk]−1