diff options
| -rw-r--r-- | Donjon/data/rep1300_reflector_sp1.x2m | 2 | ||||
| -rw-r--r-- | Donjon/src/ACRMAC.f | 1 | ||||
| -rw-r--r-- | Donjon/src/DLEAK.f | 1 | ||||
| -rw-r--r-- | Donjon/src/DSPH.f | 5 | ||||
| -rw-r--r-- | Donjon/src/MCRMAC.f | 1 | ||||
| -rw-r--r-- | Donjon/src/PCRMAC.f | 1 | ||||
| -rw-r--r-- | Donjon/src/SCRSAP.f | 1 | ||||
| -rw-r--r-- | Dragon/src/BREF.f | 7 | ||||
| -rw-r--r-- | Dragon/src/BRERT.f | 1 | ||||
| -rw-r--r-- | Dragon/src/MAC.f | 22 | ||||
| -rw-r--r-- | Dragon/src/MACDRV.f | 14 | ||||
| -rw-r--r-- | Dragon/src/MACUPD.f | 8 | ||||
| -rwxr-xr-x | Trivac/src/BIVSPS.f | 2 | ||||
| -rwxr-xr-x | Trivac/src/MACD.f | 26 | ||||
| -rwxr-xr-x | Trivac/src/MACXSI.f | 19 | ||||
| -rwxr-xr-x | Trivac/src/OUTAUX.f | 22 | ||||
| -rwxr-xr-x | Trivac/src/TRIRCA.f | 8 | ||||
| -rwxr-xr-x | Trivac/src/TRIVAA.f | 6 |
18 files changed, 115 insertions, 32 deletions
diff --git a/Donjon/data/rep1300_reflector_sp1.x2m b/Donjon/data/rep1300_reflector_sp1.x2m index 140d3fa..8003131 100644 --- a/Donjon/data/rep1300_reflector_sp1.x2m +++ b/Donjon/data/rep1300_reflector_sp1.x2m @@ -55,8 +55,6 @@ MACRO := SCR: SAPOBJ :: EDIT 2 NMIX 55 SAPHYB SAPOBJ MIX 51 USE SET 'BURN' 0.0 ENDMIX MIX 52 USE SET 'BURN' 0.0 ENDMIX MIX 53 USE SET 'BURN' 0.0 ENDMIX MIX 54 USE SET 'BURN' 0.0 ENDMIX MIX 55 USE SET 'BURN' 0.0 ENDMIX ; - - UTL: MACRO :: STEP UP GROUP STEP AT 1 DUMP ; *---- * Define the macro geometry (MACROGEOM) *---- diff --git a/Donjon/src/ACRMAC.f b/Donjon/src/ACRMAC.f index 37f5444..7705ca3 100644 --- a/Donjon/src/ACRMAC.f +++ b/Donjon/src/ACRMAC.f @@ -491,6 +491,7 @@ ISTATE(4)=NF ISTATE(5)=NED ISTATE(6)=ITRANC + IF(LMAKE1(6)) ISTATE(10)=1 CALL LCMPUT(IPMAC,'STATE-VECTOR',NSTATE,1,ISTATE) *---- * INCLUDE LEAKAGE IN THE MACROLIB (USED ONLY FOR NON-REGRESSION TESTS) diff --git a/Donjon/src/DLEAK.f b/Donjon/src/DLEAK.f index f3e629b..01ce26d 100644 --- a/Donjon/src/DLEAK.f +++ b/Donjon/src/DLEAK.f @@ -252,6 +252,7 @@ ISTATE(2)=NMIX
ISTATE(3)=1
ISTATE(9)=ILEAK
+ IF(ITYPE.EQ.2) ISTATE(10)=1 ! set NTOT1 flag
ISTATE(11)=NPERT
CALL LCMPUT(IPNEW,'STATE-VECTOR',NSTATE,1,ISTATE)
IF(IMPX.GT.1) CALL LCMLIB(IPNEW)
diff --git a/Donjon/src/DSPH.f b/Donjon/src/DSPH.f index f52b811..f78fa14 100644 --- a/Donjon/src/DSPH.f +++ b/Donjon/src/DSPH.f @@ -98,6 +98,7 @@ NDEL=ISTATE(7)
NALBP=ISTATE(8)
ILEAKS=ISTATE(9)
+ NW=ISTATE(10)
*----
* READ THE INPUT DATA
*----
@@ -453,7 +454,7 @@ CALL LCMPUT(MPNEW,'IJJS00',NMIX,1,IJJ)
CALL LCMPUT(MPNEW,'IPOS00',NMIX,1,NJJ)
CALL LCMPUT(MPNEW,'NTOT0',NMIX,2,GAR)
- CALL LCMPUT(MPNEW,'NTOT1',NMIX,2,GAR)
+ IF(IMC.EQ.1) CALL LCMPUT(MPNEW,'NTOT1',NMIX,2,GAR)
IF(NIFISS.GT.0) THEN
PER2(:NMIX,:NIFISS)=0.0
CALL LCMPUT(MPNEW,'NUSIGF',NMIX*NIFISS,2,PER2)
@@ -487,12 +488,14 @@ *----
* SET THE PERTURBED MACROLIB STATE-VECTOR
*----
+ IF(IMC.EQ.1) NW=1 ! activate NTOT1 flag
ISTATE(:NSTATE)=0
ISTATE(1)=NGRP
ISTATE(2)=NMIX
ISTATE(3)=1
ISTATE(7)=NALBP
ISTATE(9)=ILEAKS
+ ISTATE(10)=NW
ISTATE(11)=NPERT
CALL LCMPUT(IPNEW,'STATE-VECTOR',NSTATE,1,ISTATE)
IF(IMPX.GT.1) CALL LCMLIB(IPNEW)
diff --git a/Donjon/src/MCRMAC.f b/Donjon/src/MCRMAC.f index 5c819da..6a15a76 100644 --- a/Donjon/src/MCRMAC.f +++ b/Donjon/src/MCRMAC.f @@ -476,6 +476,7 @@ ISTATE(4)=NF ISTATE(5)=NED ISTATE(6)=ITRANC + IF(LMAKE1(6)) ISTATE(10)=1 CALL LCMPUT(IPMAC,'STATE-VECTOR',NSTATE,1,ISTATE) *---- * INCLUDE LEAKAGE IN THE MACROLIB (USED ONLY FOR NON-REGRESSION TESTS) diff --git a/Donjon/src/PCRMAC.f b/Donjon/src/PCRMAC.f index 06cf5af..d4337f9 100644 --- a/Donjon/src/PCRMAC.f +++ b/Donjon/src/PCRMAC.f @@ -422,6 +422,7 @@ ISTATE(4)=MAX(ISTATE(4),NF) IF(LMAKE1(4)) ISTATE(9)=1 IF(LMAKE1(5)) ISTATE(9)=2 + IF(LMAKE1(9)) ISTATE(10)=1 CALL LCMPUT(IPMAC,'STATE-VECTOR',NSTATE,1,ISTATE) *---- * INCLUDE LEAKAGE IN THE MACROLIB (USED ONLY FOR NON-REGRESSION TESTS) diff --git a/Donjon/src/SCRSAP.f b/Donjon/src/SCRSAP.f index b51a4ab..37f7d49 100644 --- a/Donjon/src/SCRSAP.f +++ b/Donjon/src/SCRSAP.f @@ -504,6 +504,7 @@ ISTATE(4)=NF ISTATE(5)=NED ISTATE(6)=ITRANC + IF(LMAKE1(6)) ISTATE(10)=1 CALL LCMPUT(IPMAC,'STATE-VECTOR',NSTATE,1,ISTATE) *---- * INCLUDE LEAKAGE IN THE MACROLIB (USED ONLY FOR NON-REGRESSION TESTS) diff --git a/Dragon/src/BREF.f b/Dragon/src/BREF.f index 9e7de4a..88ec646 100644 --- a/Dragon/src/BREF.f +++ b/Dragon/src/BREF.f @@ -238,7 +238,7 @@ DEALLOCATE(IMIX1,IGAP,ADFREF,ITRIAL,IPEDI2) IF(IPRINT.GT.0) THEN CALL LCMGET(IPMAC1,'STATE-VECTOR',ISTATE) - WRITE(6,110) IPRINT,(ISTATE(I),I=1,9),ISTATE(12),ISTATE(14) + WRITE(6,110) IPRINT,(ISTATE(I),I=1,10),ISTATE(12),ISTATE(14) ENDIF RETURN * @@ -255,6 +255,7 @@ 1 7H NLG ,I6,39H (NUMBER OF DELAYED PRECURSOR GROUPS)/ 2 7H NALB ,I6,31H (NUMBER OF PHYSICAL ALBEDOS)/ 3 7H ILEAK ,I6,40H (1=DIFF AVAILABLE; 2=DIFFX AVAILABLE)/ - 4 7H IDF ,I6,44H (=0/2/3/4 ADF INFORMATION ABSENT/PRESENT)/ - 5 7H ISPH ,I6,36H (=0/1 SPH FACTORS ABSENT/PRESENT)) + 4 7H NW ,I6,43H (=0/1: NTOT1 INFORMATION ABSENT/PRESENT)/ + 5 7H IDF ,I6,44H (=0/2/3/4 ADF INFORMATION ABSENT/PRESENT)/ + 6 7H ISPH ,I6,36H (=0/1 SPH FACTORS ABSENT/PRESENT)) END diff --git a/Dragon/src/BRERT.f b/Dragon/src/BRERT.f index 10d4155..19afde9 100644 --- a/Dragon/src/BRERT.f +++ b/Dragon/src/BRERT.f @@ -334,6 +334,7 @@ IF(J_FUEL.GT.0) ISTATE(4)=1 IF(ICODE(2).NE.0) ISTATE(8)=1 ! physical albedo information ISTATE(9)=1 ! diffusion coefficient information + IF(IDIFF.EQ.1) ISTATE(10)=NL-1 ! NTOT1 is present IF(ISPH.EQ.0) ISTATE(12)=3 ! discontinuity factor information IF(ISPH.EQ.1) ISTATE(14)=1 ! SPH factor information CALL LCMPUT(IPMAC1,'STATE-VECTOR',NSTATE,1,ISTATE) diff --git a/Dragon/src/MAC.f b/Dragon/src/MAC.f index c4f0cde..e87c7b9 100644 --- a/Dragon/src/MAC.f +++ b/Dragon/src/MAC.f @@ -135,6 +135,7 @@ ITRANC=0 NDELG=0 NALBP=0 + NW=0 NSTEP=0 IDF=0 NPART0=0 @@ -158,6 +159,7 @@ ITRANC=ISTATE(6) NDELG=ISTATE(7) NALBP =ISTATE(8) + NW =ISTATE(10) NSTEP=ISTATE(11) IDF=ISTATE(12) NPART0=ISTATE(17) @@ -167,7 +169,7 @@ *---- IF(NMACSR.EQ.1) THEN CALL MACDRV(IPMACR,INDREC,IPRINT,IDF,NBMIX,NGROUP,NANISO, - 1 NIFISS,NEDMAC,ITRANC,NDELG,NSTEP,NALBP) + 1 NIFISS,NEDMAC,ITRANC,NDELG,NSTEP,NALBP,ILEAK,NW) ELSE NNEWMX=0 NANISO=MAX(NLO,NANISO) @@ -226,7 +228,7 @@ 1 //'S.') ENDIF CALL MACUPD(NENTRY,KENTRY,IPRINT,NTOTMX,NBMIX,NGROUP, - 1 NANISO,NIFISS,NEDMAC,ITRANC) + 1 NANISO,NIFISS,NEDMAC,ITRANC,ILEAK,NW) IF(NMACSR.EQ.-2) CALL LCMSIX(KENTRY(IPMAC2),' ',2) ENDIF * @@ -244,6 +246,8 @@ ISTATE(6)=ITRANC ISTATE(7)=NDELG ISTATE(8)=NALBP + ISTATE(9)=ILEAK + ISTATE(10)=NW ISTATE(11)=NSTEP ISTATE(12)=IDF ISTATE(17)=NPART0 @@ -257,12 +261,12 @@ CALL LCMPUT(IPMACR,'STATE-VECTOR',NSTATE,1,ISTATE) ENDIF IF(IPRINT.GT.1) CALL LCMLIB(IPMACR) - IF(IPRINT.GT.0) WRITE(IOUT,100) IPRINT,(ISTATE(I),I=1,9), - 1 ISTATE(11),ISTATE(12),ISTATE(17) + IF(IPRINT.GT.0) WRITE(IOUT,100) IPRINT,(ISTATE(I),I=1,12), + 1 ISTATE(17) CALL LCMSIX(IPMACR,' ',0) RETURN * - 100 FORMAT(/8H OPTIONS/8H -------/ + 100 FORMAT(/17H MACROLIB OPTIONS/17H ----------------/ 1 7H IPRINT,I6,30H (0=NO PRINT/1=SHORT/2=MORE)/ 2 7H NGROUP,I6,28H (NUMBER OF ENERGY GROUPS)/ 3 7H NBMIX ,I6,39H (NUMBER OF MIXTURES IN THE MACROLIB)/ @@ -275,7 +279,9 @@ 1 7H NLG ,I6,39H (NUMBER OF DELAYED PRECURSOR GROUPS)/ 2 7H NALB ,I6,31H (NUMBER OF PHYSICAL ALBEDOS)/ 3 7H ILEAK ,I6,40H (1=DIFF AVAILABLE; 2=DIFFX AVAILABLE)/ - 4 7H NSTEP ,I6,39H (NUMBER OF PERTURBATION DIRECTORIES)/ - 5 7H IDF ,I6,48H (=0/2 BOUNDARY FLUXES FOR ADF ABSENT/PRESENT)/ - 6 7H NPART0,I6,34H (NUMBER OF COMPANION PARTICLES)) + 4 7H NW ,I6,45H (=0/1: P1-WEIGHTED INFORMATION ABSENT/PRES, + 5 4HENT)/ + 6 7H NSTEP ,I6,39H (NUMBER OF PERTURBATION DIRECTORIES)/ + 7 7H IDF ,I6,48H (=0/2 BOUNDARY FLUXES FOR ADF ABSENT/PRESENT)/ + 8 7H NPART0,I6,34H (NUMBER OF COMPANION PARTICLES)) END diff --git a/Dragon/src/MACDRV.f b/Dragon/src/MACDRV.f index cbdf780..64a673f 100644 --- a/Dragon/src/MACDRV.f +++ b/Dragon/src/MACDRV.f @@ -1,6 +1,6 @@ *DECK MACDRV SUBROUTINE MACDRV(IPLIST,INDREC,IPRINT,IDF,NBMIX,NGROUP,NANISO, - > NIFISS,NEDMAC,ITRANC,NDELG,NSTEP,NALBP) + > NIFISS,NEDMAC,ITRANC,NDELG,NSTEP,NALBP,ILEAK,NW) * *----------------------------------------------------------------------- * @@ -37,6 +37,8 @@ * NSTEP number of delta cross-section sets used for generalized * perturbation theory (GPT) or kinetics calculations. * NALBP number of physical albedos. +* ILEAK type of diffusion coefficient information. +* NW weighting flag (=0/1: P1-weighted information absent/present). * *----------------------------------------------------------------------- * @@ -46,7 +48,7 @@ *---- TYPE(C_PTR) IPLIST INTEGER INDREC,IPRINT,IDF,NBMIX,NGROUP,NANISO,NIFISS,NEDMAC, - > ITRANC,NDELG,NSTEP,NALBP + > ITRANC,NDELG,NSTEP,NALBP,ILEAK,NW *---- * LOCAL VARIABLES *---- @@ -352,5 +354,13 @@ CALL MACWXS(IPLIST,IPRINT,NGROUP,NBMIX,NIFISS,NANISO, > ITRANC,NEDMAC) ENDIF +*---- +* SET STATE-VECTOR FLAGS +*---- + NW=0 + IF(LNEWXS(9)) NW=1 + ILEAK=0 + IF(LNEWXS(7)) ILEAK=1 + IF(LNEWXS(10).OR.LNEWXS(11).OR.LNEWXS(12)) ILEAK=2 RETURN END diff --git a/Dragon/src/MACUPD.f b/Dragon/src/MACUPD.f index 8efd97c..9246aae 100644 --- a/Dragon/src/MACUPD.f +++ b/Dragon/src/MACUPD.f @@ -1,6 +1,6 @@ *DECK MACUPD SUBROUTINE MACUPD(NENTRY,KENTRY,IPRINT,NTOTMX,NBMIX ,NGROUP, - > NANISO,NIFISS,NEDMAC,ITRANC) + > NANISO,NIFISS,NEDMAC,ITRANC,ILEAK,NW) * *----------------------------------------------------------------------- * @@ -27,6 +27,8 @@ * NIFISS number fissile isotopes per mixture. * NEDMAC number of aditional edition x-s. * ITRANC type of transport correction. +* ILEAK type of diffusion coefficient information. +* NW weighting flag (=0/1: P1-weighted information absent/present). * *----------------------------------------------------------------------- * @@ -37,7 +39,7 @@ *---- TYPE(C_PTR) KENTRY(NENTRY) INTEGER NENTRY,IPRINT,NTOTMX,NBMIX,NGROUP,NANISO,NIFISS, - > NEDMAC,ITRANC + > NEDMAC,ITRANC,ILEAK,NW *---- * LOCAL VARIABLES *---- @@ -200,6 +202,8 @@ NIFISO=ISTATE(4) NEDO=ISTATE(5) NDELO=ISTATE(7) + ILEAK=MIN(ILEAK,ISTATE(9)) + NW=MIN(NW,ISTATE(10)) CALL MACNFI(IPMACR,IPRINT,IEN ,NTOTMX,NGROUP,NIFISS, > NEDMAC,NBMIXF,NGROF ,NIFISF,NEDF ,NDELF , > NBMIXO,NIFISO,NEDO ,NDELO ,IMLOC ,ENERN , diff --git a/Trivac/src/BIVSPS.f b/Trivac/src/BIVSPS.f index e03ce67..ece519c 100755 --- a/Trivac/src/BIVSPS.f +++ b/Trivac/src/BIVSPS.f @@ -106,6 +106,8 @@ WRITE(TEXT12,'(4HNTOT,I1)') MIN(IL-1,9) CALL LCMLEN(KPMACR,TEXT12,LENGT,ITYLCM) CALL LCMLEN(KPMACR,'NTOT1',LENGT1,ITYLCM) + IF((LENGT1.GT.0).AND.(NW.EQ.0)) CALL XABORT('BIVSPS: YOU MUST HA' + 1 //'VE NW>0.') IF((IL.EQ.1).AND.(LENGT.NE.NBMIX)) CALL XABORT('BIVSPS: NO NTOT0' 1 //' CROSS SECTIONS.') IF(MOD(IL-1,2).EQ.0) THEN diff --git a/Trivac/src/MACD.f b/Trivac/src/MACD.f index b9ce53b..d820b62 100755 --- a/Trivac/src/MACD.f +++ b/Trivac/src/MACD.f @@ -70,6 +70,8 @@ NIFISS=1 NDG=0 NALBP=0 + ILEAK=0 + NW=0 NSTEP=0 IF(NENTRY.EQ.2) THEN IF((IENTRY(2).NE.1).AND.(IENTRY(2).NE.2)) CALL XABORT('MACD' @@ -97,6 +99,8 @@ NIFISS=IPAR(4) NDG=IPAR(7) NALBP=IPAR(8) + ILEAK=IPAR(9) + NW=IPAR(10) NSTEP=IPAR(11) ENDIF *---- @@ -178,7 +182,8 @@ CALL REDGET(INDIC,NITMA,FLOTT,TEXT4,DFLOTT) IF((INDIC.NE.3).OR.(TEXT4.NE.'INPU')) CALL XABORT('MACD: INPU' 1 //'T KEYWORD EXPECTED.') - CALL MACXSI(IPLIST,IND,NMIXT,NGRP,NDG,NL,IMPX,NBMIX,JND) + CALL MACXSI(IPLIST,IND,NMIXT,NGRP,NDG,NL,IMPX,NBMIX,ILEAK,NW, + 1 JND) IF(ISTEP.GT.0) THEN IF(IMPX.GT.1) CALL LCMLIB(IPLIST) CALL LCMSIX(IPLIST,' ',2) @@ -208,9 +213,28 @@ IPAR(6)=0 IPAR(7)=NDG IPAR(8)=NALBP + IPAR(9)=ILEAK + IPAR(10)=NW IPAR(11)=NSTEP CALL LCMPUT(IPLIST,'STATE-VECTOR',NSTATE,1,IPAR) + IF(IMPX.GT.0) WRITE(6,100) IMPX,(IPAR(I),I=1,10) ENDIF IF(IMPX.GT.1) CALL LCMLIB(IPLIST) RETURN +* + 100 FORMAT(/8H OPTIONS/8H -------/ + 1 7H IPRINT,I6,30H (0=NO PRINT/1=SHORT/2=MORE)/ + 2 7H NGROUP,I6,28H (NUMBER OF ENERGY GROUPS)/ + 3 7H NBMIX ,I6,39H (NUMBER OF MIXTURES IN THE MACROLIB)/ + 4 7H NANISO,I6,34H (MAXIMUM SCATTERING ANISOTROPY)/ + 5 7H NIFISS,I6,45H (MAXIMUM NUMBER OF FISSILE ISOTOPES IN A M, + 6 7HIXTURE)/ + 7 7H NEDMAC,I6,34H (NUMBER OF CROSS SECTION EDITS)/ + 8 7H ITRANC,I6,45H (0=NO TRANSPORT CORRECTION/1=APOLLO TYPE/2, + 9 43H=RECOVER FROM LIBRARY/4=LEAKAGE CORRECTION)/ + 1 7H NLG ,I6,39H (NUMBER OF DELAYED PRECURSOR GROUPS)/ + 2 7H NALB ,I6,31H (NUMBER OF PHYSICAL ALBEDOS)/ + 3 7H ILEAK ,I6,40H (1=DIFF AVAILABLE; 2=DIFFX AVAILABLE)/ + 4 7H NW ,I6,45H (=0/1: P1-WEIGHTED INFORMATION ABSENT/PRES, + 5 4HENT)) END diff --git a/Trivac/src/MACXSI.f b/Trivac/src/MACXSI.f index 6cfac6a..406cecb 100755 --- a/Trivac/src/MACXSI.f +++ b/Trivac/src/MACXSI.f @@ -1,5 +1,6 @@ *DECK MACXSI - SUBROUTINE MACXSI (IPLIST,IND,NMIXT,NGRP,NDG,NL,IMPX,NBMIX,JND) + SUBROUTINE MACXSI (IPLIST,IND,NMIXT,NGRP,NDG,NL,IMPX,NBMIX,ILEAK, + 1 NW,JND) * *----------------------------------------------------------------------- * @@ -27,6 +28,8 @@ * *Parameters: output * NBMIX number of mixtures. +* ILEAK type of diffusion coefficient. +* NW weighting flag (=0/1: P1-weighted information absent/present). * JND REDGET flag (=1 ';' encountered; =2 'STEP' encountered). * *----------------------------------------------------------------------- @@ -36,7 +39,7 @@ * SUBROUTINE ARGUMENTS *---- TYPE(C_PTR) IPLIST - INTEGER IND,NMIXT,NGRP,NDG,NL,IMPX,NBMIX,JND + INTEGER IND,NMIXT,NGRP,NDG,NL,IMPX,NBMIX,ILEAK,NW,JND *---- * LOCAL VARIABLES *---- @@ -138,7 +141,7 @@ CALL LCMLEN(KPLIST,'FIXE',ILENGT,ITYLCM) IF(ILENGT.EQ.NMIXT) CALL LCMGET(KPLIST,'FIXE',S(1,JGR)) DO 30 IL=1,NL - WRITE (CM,'(I2.2)') IL-1 + WRITE(CM,'(I2.2)') IL-1 CALL LCMLEN(KPLIST,'SCAT'//CM,ILENGT,ITYLCM) IF(ILENGT.GT.NMIXT*NL*NGRP*NGRP) THEN CALL XABORT('MACXSI: INVALID INPUT MACROLIB(2).') @@ -316,7 +319,7 @@ ENDIF IF(LSC) THEN DO 200 IL=1,NL - WRITE (CM,'(I2.2)') IL-1 + WRITE(CM,'(I2.2)') IL-1 IPOSDE=0 DO 195 IBM=1,NMIXT J2=JGR @@ -345,6 +348,14 @@ IF(IMPX.GT.1) CALL LCMLIB(KPLIST) 210 CONTINUE *---- +* SET STATE-VECTOR FLAGS +*---- + NW=0 + IF(LT1) NW=1 + ILEAK=0 + IF(LD) ILEAK=1 + IF(LDX.OR.LDY.OR.LDZ) ILEAK=2 +*---- * SCRATCH STORAGE DEALLOCATION *---- DEALLOCATE(TOTAL,TOTA1,ZNUG,CHI,NUSDL,CHDL,OVERV,DIFFX,DIFFY, diff --git a/Trivac/src/OUTAUX.f b/Trivac/src/OUTAUX.f index 64a2567..d3e1ed7 100755 --- a/Trivac/src/OUTAUX.f +++ b/Trivac/src/OUTAUX.f @@ -47,7 +47,7 @@ * SUBROUTINE ARGUMENTS *---- TYPE(C_PTR) IPMAC1,IPMAC2 - PARAMETER(NREAC=11) + PARAMETER(NREAC=12) INTEGER NBMIX,NL,NBFIS,NGRP,NEL,NUN,NALBP,NZS,NGCOND,MAT(NEL), 1 IDL(NEL),IHOM(NEL),IGCOND(NGCOND),IMPX REAL VOL(NEL),EVECT(NUN,NGRP) @@ -73,7 +73,7 @@ * DATA STATEMENT *---- DATA HREAC/'NTOT0','SIGW00','NUSIGF','NFTOT','H-FACTOR', - 1 'OVERV','DIFF','DIFFX','DIFFY','DIFFZ','C-FACTOR'/ + 1 'OVERV','DIFF','DIFFX','DIFFY','DIFFZ','NTOT1','C-FACTOR'/ *---- * SCRATCH STORAGE ALLOCATION * OUTR(IBM,NREAC+1): volume @@ -511,8 +511,9 @@ ELSE IF(LREAC(8)) THEN IDATA(9)=2 ENDIF - IDATA(15)=0 + IF(LREAC(11)) IDATA(10)=1 CALL LCMPUT(IPMAC2,'STATE-VECTOR',NSTATE,1,IDATA) + IF(IMPX.GT.0) WRITE(6,550) IMPX,(IDATA(I),I=1,10) *---- * SCRATCH STORAGE DEALLOCATION *---- @@ -524,4 +525,19 @@ 520 FORMAT(/' G R O U P : ',I3/1X,'IHOM',9A14) 530 FORMAT(1X,I4,1P,9E14.5) 540 FORMAT(/5H SUM,1P,8E14.5) + 550 FORMAT(/17H MACROLIB OPTIONS/17H ----------------/ + 1 7H IPRINT,I6,30H (0=NO PRINT/1=SHORT/2=MORE)/ + 2 7H NGROUP,I6,28H (NUMBER OF ENERGY GROUPS)/ + 3 7H NBMIX ,I6,39H (NUMBER OF MIXTURES IN THE MACROLIB)/ + 4 7H NANISO,I6,34H (MAXIMUM SCATTERING ANISOTROPY)/ + 5 7H NIFISS,I6,45H (MAXIMUM NUMBER OF FISSILE ISOTOPES IN A M, + 6 7HIXTURE)/ + 7 7H NEDMAC,I6,34H (NUMBER OF CROSS SECTION EDITS)/ + 8 7H ITRANC,I6,45H (0=NO TRANSPORT CORRECTION/1=APOLLO TYPE/2, + 9 43H=RECOVER FROM LIBRARY/4=LEAKAGE CORRECTION)/ + 1 7H NLG ,I6,39H (NUMBER OF DELAYED PRECURSOR GROUPS)/ + 2 7H NALB ,I6,31H (NUMBER OF PHYSICAL ALBEDOS)/ + 3 7H ILEAK ,I6,40H (1=DIFF AVAILABLE; 2=DIFFX AVAILABLE)/ + 4 7H NW ,I6,45H (=0/1: P1-WEIGHTED INFORMATION ABSENT/PRES, + 5 4HENT)) END diff --git a/Trivac/src/TRIRCA.f b/Trivac/src/TRIRCA.f index 8202f29..6c1b496 100755 --- a/Trivac/src/TRIRCA.f +++ b/Trivac/src/TRIRCA.f @@ -79,6 +79,8 @@ WRITE(TEXT12,'(4HNTOT,I1)') MIN(IL-1,9) CALL LCMLEN(KPMACP,TEXT12,LENGT,ITYLCM) CALL LCMLEN(KPMACP,'NTOT1',LENGT1,ITYLCM) + IF((LENGT1.GT.0).AND.(NW.EQ.0)) CALL XABORT('TRIRCA: YOU MUST HA' + 1 //'VE NW>0.') IF((IL.EQ.1).AND.(LENGT.NE.NBMIX)) CALL XABORT('TRIRCA: NO NTOT0' 1 //' CROSS SECTIONS.') IF(MOD(IL-1,2).EQ.0) THEN @@ -130,11 +132,9 @@ ENDIF GO TO 100 ELSE - IF(NW.EQ.0) THEN - CALL LCMGET(KPMACP,'NTOT0',SGD(1,2)) - ELSE IF(LENGT.EQ.NBMIX) THEN + IF(LENGT.EQ.NBMIX) THEN CALL LCMGET(KPMACP,TEXT12,SGD(1,2)) - ELSE IF((NW.GE.1).AND.(LENGT1.EQ.NBMIX)) THEN + ELSE IF(LENGT1.EQ.NBMIX) THEN CALL LCMGET(KPMACP,'NTOT1',SGD(1,2)) ELSE CALL LCMGET(KPMACP,'NTOT0',SGD(1,2)) diff --git a/Trivac/src/TRIVAA.f b/Trivac/src/TRIVAA.f index b1628c4..5189511 100755 --- a/Trivac/src/TRIVAA.f +++ b/Trivac/src/TRIVAA.f @@ -141,6 +141,7 @@ NBFIS=IPAR(4) NALBP=IPAR(8) NW=IPAR(10) + NW2=0 IF(IGP(4).GT.NBMIX) THEN WRITE(HSMG,'(46HTRIVAA: THE NUMBER OF MIXTURES IN THE TRACKING, 1 2H (,I5,51H) IS GREATER THAN THE NUMBER OF MIXTURES IN THE MAC, @@ -219,6 +220,7 @@ 1 //TEXT11//'. L_MACROLIB EXPECTED.') ENDIF CALL LCMGET(IPMACP,'STATE-VECTOR',IPAR) + NW2=IPAR(10) NSTEP=IPAR(11) IF((IPAR(1).NE.NGRP).OR.(IPAR(2).GT.NBMIX)) THEN WRITE(HSMG,'(43HTRIVAA: INCONSISTENT PERTURBATION MACROLIB , @@ -271,7 +273,7 @@ ELSE * SIMPLIFIED PN THEORY. CALL TRISPS(IPTRK,IPMACR,IPMACP,IPSYS,IMPX,NGRP,NEL,NLF, - 1 NAN,NW,NBFIS,NALBP,LDIFF,IPR,MAT,VOL,NBMIX) + 1 NAN,NW2,NBFIS,NALBP,LDIFF,IPR,MAT,VOL,NBMIX) ENDIF ELSE IF(NSTEP.GT.0) THEN * ASSEMBLY OF PERTURBED SYSTEM MATRICES (WITH STEP DIRECTORIES). @@ -288,7 +290,7 @@ ELSE * SIMPLIFIED PN THEORY. CALL TRISPS(IPTRK,IPMACR,KPMACR,KPSYS,IMPX,NGRP,NEL,NLF, - 1 NAN,NW,NBFIS,NALBP,LDIFF,IPR,MAT,VOL,NBMIX) + 1 NAN,NW2,NBFIS,NALBP,LDIFF,IPR,MAT,VOL,NBMIX) ENDIF 50 CONTINUE ELSE |
