macro mfm requires that: 1. mfm has been loaded 2. values have been ascribed to: nflf,nflr,nx,ny,mz,lstep,conrea,conmix,mfmmod NFLUIDS=NFLF*NFLR IF(NFLF.GT.1) THEN STORE(AVEF); VARMAX(AVEF)=1.0; VARMIN(AVEF)=0.0 IF(NFLR.EQ.1) THEN + STORE(MNSQ); VARMAX(MNSQ)=1.0; VARMIN(MNSQ)=0.0 ENDIF ENDIF IF(NFLR.GT.1) THEN STORE(AVER); VARMAX(AVER)=1.0; VARMIN(AVER)=0.0 IF(NFLF.EQ.1) THEN + STORE(MNSQ); VARMAX(MNSQ)=1.0; VARMIN(MNSQ)=0.0 ENDIF ENDIF mesg(mfm1 arranges solution for :nfluids: fluids in rising order INTEGER(III) III=NFLUIDS+1 ! DO loop order chosen so that ! F1 is solved first DO II = 1,NFLUIDS III = III-1 SOLVE(F:III:) VARMAX(F:III:)=1.0; VARMIN(F:III:)=0.0; RELAX(F:III:,LINRLX,0.5) ENDDO mesg(macro mfm1 sets linear relaxation for all fluids = 0.5 mesg(mfmmod = :mfmmod:; viscon = :viscon:; nfluids = :nfluids:; $ CONMIX= :CONMIX: IF(CONREA.GT.0.0) THEN MESG(conrea = :conrea:; Chemical reaction is active mesg(ratexp = :ratexp:; highf = :highf:; lowf = :lowf: ENDIF mesg(macro mfm1 transmits data to EARTH via SPEDAT SPEDAT(MFM,MFMMOD,C,:MFMMOD:) SPEDAT(MFM,NFLUIDS,I,:NFLUIDS:) SPEDAT(MFM,NFLR,I,:NFLR:) SPEDAT(MFM,NFLF,I,:NFLF:) SPEDAT( MFM, CONREA, R, :CONREA:) SPEDAT( MFM, CONMIX, R, :CONMIX:) IF(CONREA.GT.0.0) THEN SPEDAT(MFM,RATEXP,R,:RATEXP:) SPEDAT(MFM,highf,R,:highf:) SPEDAT(MFM,lowf,R,:lowf:) ENDIF SPEDAT(MFM,VISCON,R,:VISCON:) mesga(>> During an EARTH run with graphical monitor active, << mesg(>> entering S S brings fluid-population display << mesg(>> to screen, and allows some data-change opportunity. << mesgb(macro mfm1, i.e. L003, ends STOP