mapc2p.f.html | clawcode2html |
Source file: mapc2p.f | |
Directory: /home/rjl/www/pubs/cise08/cise08levequeV2 | |
Converted: Wed Jul 2 2008 at 13:40:42 | |
This documentation file will not reflect any later changes in the source file. |
c c ===================================================== subroutine mapc2p(xc,yc,xp,yp) c ===================================================== c c # on input, (xc,yc) is a computational grid point c # on output, (xp,yp) is corresponding point in physical space c implicit double precision (a-h,o-z) common /cgrid/ igrid c c go to (100,200,300) igrid 100 continue c # Cartesian (no mapping): xp = xc yp = yc go to 900 200 continue c # Polar coordinates, xc = r, yc = theta xp = xc * dcos(yc) yp = xc * dsin(yc) go to 900 300 continue c # radial projection mapping r1 = 1.d0 d = dmax1(dabs(xc), dabs(yc)) r = dmax1(dsqrt(xc**2 + yc**2), 1.d-10) xp = r1*d*xc/r yp = r1*d*yc/r c # interpolate between above mapping and Cartesian grid: w = dmax1(dabs(xc),dabs(yc)) w = dmin1(w, 1.d0) !# for ghost cells xp = w*xp + (1.d0-w)*xc yp = w*yp + (1.d0-w)*yc go to 900 c 900 continue return end