cstore.f.html | |
Source file: cstore.f | |
Directory: /home/rjl/git/rjleveque/clawpack-4.x/amrclaw/2d/lib | |
Converted: Sun May 15 2011 at 19:16:13 using clawcode2html | |
This documentation file will not reflect any later changes in the source file. |
c c ------------------------------------------------------------ c subroutine cstore(qc,nrow,ncol,nvar,qc1d,lenbc,naux,auxc,auxc1d) implicit double precision (a-h, o-z) dimension qc(nrow,ncol,nvar) dimension qc1d(lenbc,nvar) dimension auxc(nrow,ncol,naux) dimension auxc1d(lenbc,naux) c c store coarse perimeter worth of solution into 1d array. c go around fine grid in following order c 2 c __________ c 1 | | 3 c __________ c 4 c c save first interior cell of enlarged grid corresponding to c fine grid bordering cell. note that since fine grid is smaller, c the cell is one in. coarse (temporary) grid has no ghost cells c side 1 index = 0 do 10 j = 2, ncol-1 index = index + 1 do 5 ivar = 1, nvar 5 qc1d(index,ivar) = qc(1,j,ivar) do 6 iaux = 1, naux 6 auxc1d(index,iaux) = auxc(1,j,iaux) 10 continue c side 2 do 20 i = 2, nrow-1 index = index + 1 do 15 ivar = 1, nvar 15 qc1d(index,ivar) = qc(i,ncol,ivar) do 16 iaux = 1, naux 16 auxc1d(index,iaux) = auxc(i,ncol,iaux) 20 continue c side 3 do 30 j = 2, ncol-1 index = index + 1 do 25 ivar = 1, nvar 25 qc1d(index,ivar) = qc(nrow,j,ivar) do 26 iaux = 1, naux 26 auxc1d(index,iaux) = auxc(nrow,j,iaux) 30 continue c side 4 do 40 i = 2, nrow-1 index = index + 1 do 35 ivar = 1, nvar 35 qc1d(index,ivar) = qc(i,1,ivar) do 36 iaux = 1, naux 36 auxc1d(index,iaux) = auxc(i,1,iaux) 40 continue return end