next up previous contents
Next: itopol Up: Description of relevant Previous: Description of relevant

virt

 

The virt array stores the virtual unknowns for a certain block. Specifically, the virt arrays store the intermediate representations (See smsg ). of the virtual unknowns at all internal subfaces sequentially. Virtual unknowns must be stored for each degree of freedom and at each time level, therefore:

double precision virt(0:ndegfd, 1:ntimlv, 1:vlen)
The degree of freedom 0 is reserved for transported normal fluxes on the block interfaces (itrans = 2). There is a slight difference with the solutgif array in that virt(i,*,*) for i=1 and i=2 does not indicate the V(1) and V(2) fluxes. Instead, the following holds for i=1 and i=2:
virt(1,*,*)
stores the tangential virtual fluxes
virt(2,*,*)
stores the normal virtual fluxes

The transported quantities for itrans = 2 are stored in virt(0,*,*). Therefore in summary:
itrans = 1
stored in virt(1,*,*) and virt(2,*,*)
itrans = 2
stored in virt(0,*,*)
stored in virt(itrans,*,*)

The parameter vlen is equal to the number of virtual tangential fluxes to be stored and is computed by routine isddvlen . Note that vlen is therefore slightly too large for i>1 and i = 0. The itopol array stores for each sub face of a block the starting position in virt of the virtual unknowns for that sub face.



ISNaS ontwikkeling
Tue May 23 12:05:54 METDST 1995