The sections below detail the format of the *.blk and *.plt files written by VERTEX and read by PSSECT and WERAMI. ======================================================================================== Plot (*.plt) file data write statements (routine outgrd [tlib_691.f] or plinp [rlib_691.f]) c------------------------------------- write (n4,1000) loopx, loopy, jinc(1) c output graphics data do i = 1, loopx if (i.ne.1.and.igrd(i,1).eq.0) igrd(i,1) = igrd(i-1,1) kst = 1 20 jst = kst if (i.ne.1.and.igrd(i,jst).eq.0) igrd(i,jst) = igrd(i-1,jst) kd = igrd(i,jst) ltic = -1 do j = jst, loopy if (i.ne.1.and.igrd(i,j).eq.0) igrd(i,j) = igrd(i-1,j) if (igrd(i,j).eq.0.or.igrd(i,j).eq.kd) then ltic = ltic + 1 if (j.eq.loopy) then write (n4,1000) ltic,kd kst = 1 end if else write (n4,1000) ltic,kd kst = j goto 20 end if end do end do c write assemblage list write (n4,*) iasct do i = 1, iasct write (n4,*) iavar(1,i),iavar(2,i),iavar(3,i) write (n4,*) (idasls(j,i), j = 1, iavar(3,i)) end do c---------------------------------- loopx, loopy, jinc = 2**(jlev-1) number of nodes associated with a result - 1, pointer to the result (in bpl) [read with j changing fastest] followed by iasct = number of asssemblages and for each assemblage i iavar(1,i) = number of solution phases, iavar(2,i) = number of stoichiometric phases, iavar(3,i) = sum followed by a pointer for each phase in the assemblage (either to a solution phase or a stoichiometric phase) ======================================================================================== Bulk (*.blk) file write statements (routine outbl1 [resub_691.f] or bplinp [rlib_691.f]) c----------------------------------- c graphics output write (n5,'(3(i8,1x))') ic,jc,iap(ibulk) c phase molar amounts write (n5,1010) (amt(i),i=1,np+ncpd) c solution phase compositions do i = 1, np ids = kkp(i) write (n5,1010) (pa3(i,j),j=1,nstot(ids)) c lagged speciation if (ksmod(ids).eq.39.and.lopt(32)) write (n5,1010) * (caq(i,j),j=1,nat) end do c dependent potentials, usually chemical potentials write (n5,1010) (mu(i),i=1,kbulk) 1010 format (10(g16.8,1x)) c----------------------------------- This i/o is repeated for every optimization (the numbering of the optimizations is sequential, i.e., the first data is for optimization 1 = ibulk) ic, jc = the i,j coordinate at which the optimization was done, iap(ibulk) is the pointer to the phase assemblage (ibulk = 1..iasct) b(i) i = 1...iavar(iavar(3,iap(ibulk)) then for each of the solution phases in the assemblage (iavar(1,iap(ibulk)) read the following data for solution ids = idasls(j,iap(ibulk)) for site j = 1...istg(ids) read the compositions of each of the k = 1..ispg(ids,j) species then read the kbulk dependent potentials Reading the informaton in the *.blk file requires the pointers and counters written to the *.plt file. The nodal coordinates given in the *.blk file are converted to the corresponding values of the independent variables by routine setxyp [rlib_691.f].