Blockstructured Adaptive Mesh Refinement in object-oriented C++
c
c =====================================================
double precision function slopelim(a,b,mlim)
c =====================================================
c
c # Call usual TVD limiter-functions with phi(b/a).
c
implicit double precision (a-h,o-z)
c
if (a.ne.0.d0.and.mlim.gt.0) then
slopelim = philim(a,b,mlim)
else
slopelim = 0.d0
endif
c
return
end
c
c
c ===================================================================
subroutine reclim(r,r1,r2,mlim,om,rl,rr)
c ===================================================================
c
c # MUSCL reconstruction with slope-limiting
c # Linear reconstruction: om=0.d0
c # 2nd order spatial reconstuction: om!=0.d0
c # 3rd order spatial reconstruction: om=1.d0/3.d0
c # Higher order reconstructions are not conservative!
c
implicit double precision (a-h,o-z)
c
q1 = r - r1
q2 = r2 - r
sl1 = slopelim(q1,q2,mlim)*q1
sl2 = slopelim(q2,q1,mlim)*q2
rl = r - 0.25d0*((1.d0+om)*sl1 + (1.d0-om)*sl2)
rr = r + 0.25d0*((1.d0-om)*sl1 + (1.d0+om)*sl2)
c
return
end
c
Quickstart Users Guide Programmers Reference Installation Examples Download
AMROC Main Home Contactlast update: 06/01/04