diff options
| author | stainer_t <thomas.stainer@oecd-nea.org> | 2025-09-08 13:48:49 +0200 |
|---|---|---|
| committer | stainer_t <thomas.stainer@oecd-nea.org> | 2025-09-08 13:48:49 +0200 |
| commit | 7dfcc480ba1e19bd3232349fc733caef94034292 (patch) | |
| tree | 03ee104eb8846d5cc1a981d267687a729185d3f3 /Dragon/src/AUTDRV.f | |
Initial commit from Polytechnique Montreal
Diffstat (limited to 'Dragon/src/AUTDRV.f')
| -rw-r--r-- | Dragon/src/AUTDRV.f | 455 |
1 files changed, 455 insertions, 0 deletions
diff --git a/Dragon/src/AUTDRV.f b/Dragon/src/AUTDRV.f new file mode 100644 index 0000000..b8900a0 --- /dev/null +++ b/Dragon/src/AUTDRV.f @@ -0,0 +1,455 @@ +*DECK AUTDRV + SUBROUTINE AUTDRV(IPLI0,IPTRK,IPLIB,IFTRAK,INDREC,CDOOR,IMPX, + 1 IGRMIN,IGRMAX,NGRP,NBMIX,NREG,NUN,NBISO,NL,NED,NDEL,LEAKSW, + 2 ITRANC,IPHASE,TITR,KSPH,NRES,NPASS,ICALC,IALTER,MAXTRA,ISEED, + 3 DIL,DELI) +* +*----------------------------------------------------------------------- +* +*Purpose: +* Driver for a resonance self-shielding calculation with the Autosecol +* method. +* +*Copyright: +* Copyright (C) 2023 Ecole Polytechnique de Montreal +* This library is free software; you can redistribute it and/or +* modify it under the terms of the GNU Lesser General Public +* License as published by the Free Software Foundation; either +* version 2.1 of the License, or (at your option) any later version +* +*Author(s): A. Hebert +* +*Parameters: input +* IPLI0 pointer to the internal microscopic cross section library +* builded by the self-shielding module (L_LIBRARY signature). +* IPTRK pointer to the tracking (L_TRACK signature). +* IPLIB pointer to the internal microscopic cross section library +* with subgroups (L_LIBRARY signature). +* IFTRAK unit number of the sequential binary tracking file. +* INDREC access flag for the internal microscopic cross section library +* builded by the self-shielding module (=1 IPLI0 access in +* creation mode; =2 in modification mode). +* CDOOR name of the geometry/solution operator. +* IMPX print flag (equal to zero for no print). +* IGRMIN first group where the self-shielding is applied. +* IGRMAX most thermal group where the self-shielding is applied. +* NGRP number of energy groups. +* NBMIX number of mixtures in the internal library. +* NREG number of regions. +* NUN number of unknowns per energy group. +* NBISO number of isotopes specifications in the internal library. +* NL number of Legendre orders required in the calculation +* (NL=1 or higher). +* NED number of extra vector edits. +* NDEL number of delayed neutron precursor groups. +* LEAKSW leakage flag (LEAKSW=.TRUE. if neutron leakage through +* external boundary is present). +* ITRANC type of transport correction. +* IPHASE type of flux solution (=1 use a native flux solution door; +* =2 use collision probabilities). +* TITR title. +* KSPH SPH equivalence flag (=0 no SPH correction; =1 SPH correction +* in the fuel). +* NRES number of self-shielding zones, as given by LIB:. +* NPASS number of outer iterations. +* ICALC simplified self-shielding flag (=1 IPLI0 is containing ICALC +* data. =0 no ICALC data). +* IALTER type of elastic slowing-down kernel (=0: use exact kernel; +* =1: use an approximate kernel for the resonant isotopes). +* MAXTRA maximum number of down-scattering terms. +* ISEED the seed for the generation of random numbers in the +* unresolved energy domain. +* DIL microscopic dilution cross section of each isotope. +* +*Parameters: output +* DELI elementary lethargy width used by the elastic kernel. +* +*----------------------------------------------------------------------- +* + USE GANLIB +*---- +* SUBROUTINE ARGUMENTS +*---- + TYPE(C_PTR) IPLI0,IPTRK,IPLIB + INTEGER IFTRAK,INDREC,IMPX,IGRMIN,IGRMAX,NGRP,NBMIX,NREG,NUN, + 1 NBISO,NL,NED,NDEL,ITRANC,IPHASE,KSPH,NRES,NPASS,ICALC,IALTER, + 2 MAXTRA,ISEED + REAL DIL(NBISO),DELI + CHARACTER CDOOR*12,TITR*72 + LOGICAL LEAKSW +*---- +* LOCAL VARIABLES +*---- + PARAMETER (NSTATE=40,MAXRSS=300,MAXESP=4) + TYPE(C_PTR) JPLI0,KPLI0,JPLIB,KPLIB + CHARACTER HSMG*131,TEXT4*4,NAM1*4,FNAM1*4,NAM2*12,FNAM2*12, + 1 TEXT8*8 + INTEGER IPAR(NSTATE),IRSS(MAXRSS),IESP(MAXESP+1) + REAL TMPDAY(3),EESP(MAXESP+1) +*---- +* ALLOCATABLE ARRAYS +*---- + INTEGER, ALLOCATABLE, DIMENSION(:) :: MAT,KEYFLX,MIX,IEVOL,ITYPE, + 1 LSHI,IHSUF,ILLIB,JCEDM,NBIN,NBIN_AU + INTEGER, ALLOCATABLE, DIMENSION(:,:) :: ISONAM,IHLIB + REAL, ALLOCATABLE, DIMENSION(:) :: VOL,TN,DEN,ENER,DELTAU,EBIN,GS, + 1 VOLMIX + LOGICAL, ALLOCATABLE, DIMENSION(:) :: MASK,MASKL + TYPE(C_PTR), ALLOCATABLE, DIMENSION(:) :: IPISO1 +*---- +* SCRATCH STORAGE ALLOCATION +*---- + ALLOCATE(MAT(NREG),KEYFLX(NREG),ISONAM(3,NBISO),MIX(NBISO), + 1 IEVOL(NBISO),ITYPE(NBISO),LSHI(NBISO),IHSUF(NBISO), + 2 IHLIB(2,NBISO),ILLIB(NBISO),IPISO1(NBISO)) + ALLOCATE(VOL(NREG),TN(NBISO),DEN(NBISO),ENER(NGRP+1)) +*---- +* RECOVER USEFUL INFORMATION FROM TRACKING OBJECT. +*---- + CALL LCMGET(IPTRK,'MATCOD',MAT) + CALL LCMGET(IPTRK,'VOLUME',VOL) + CALL LCMGET(IPTRK,'KEYFLX',KEYFLX) +*---- +* RECOVER USEFUL INFORMATION FROM LIBRARY OBJECTS. +*---- + CALL LCMGET(IPLIB,'ISOTOPESUSED',ISONAM) + CALL LCMGET(IPLIB,'ISOTOPESMIX',MIX) + CALL LCMGET(IPLIB,'ISOTOPESTODO',IEVOL) + CALL LCMGET(IPLIB,'ISOTOPESTYPE',ITYPE) + CALL LCMGET(IPLIB,'ISOTOPESTEMP',TN) +* + CALL LCMPUT(IPLI0,'ISOTOPESMIX',NBISO,1,MIX) + CALL LCMPUT(IPLI0,'ISOTOPESTODO',NBISO,1,IEVOL) + CALL LCMPUT(IPLI0,'ISOTOPESTYPE',NBISO,1,ITYPE) + CALL LCMPUT(IPLI0,'ISOTOPESTEMP',NBISO,2,TN) + IF(INDREC.EQ.1) THEN + CALL LCMGET(IPLIB,'ISOTOPESDENS',DEN) + CALL LCMPUT(IPLI0,'ISOTOPESDENS',NBISO,2,DEN) + ELSE IF(INDREC.EQ.2) THEN + CALL LCMGET(IPLI0,'ISOTOPESDENS',DEN) + ENDIF + CALL LCMGET(IPLIB,'ISOTOPESSHI',LSHI) + CALL LCMLEN(IPLIB,'ISOTOPESDSN',NELSN,ITYLCM) + IF(NELSN.GT.0) THEN + NGIS=NGRP*NBISO + ALLOCATE(GS(NGIS)) + CALL LCMGET(IPLIB,'ISOTOPESDSN',GS) + CALL LCMPUT(IPLI0,'ISOTOPESDSN',NGIS,2,GS) + CALL LCMGET(IPLIB,'ISOTOPESDSB',GS) + CALL LCMPUT(IPLI0,'ISOTOPESDSB',NGIS,2,GS) + DEALLOCATE(GS) + ENDIF + CALL LCMGET(IPLIB,'DELTAU',ENER) + CALL LCMPUT(IPLI0,'DELTAU',NGRP,2,ENER) + CALL LCMGET(IPLIB,'ENERGY',ENER) + CALL LCMPUT(IPLI0,'ENERGY',NGRP+1,2,ENER) + CALL LCMLEN(IPLIB,'CHI-LIMITS',NBESP,ITYLCM) + IF(NBESP.GT.0) THEN + NBESP=NBESP-1 + IF(NBESP.GT.MAXESP) CALL XABORT('AUTDRV: MAXESP OVERFLOW.') + CALL LCMGET(IPLIB,'CHI-LIMITS',IESP) + CALL LCMPUT(IPLI0,'CHI-LIMITS',NBESP+1,1,IESP) + CALL LCMGET(IPLIB,'CHI-ENERGY',EESP) + CALL LCMPUT(IPLI0,'CHI-ENERGY',NBESP+1,2,EESP) + ENDIF +*---- +* COMPUTE MIXTURESVOL. +*---- + ALLOCATE(VOLMIX(NBMIX)) + VOLMIX(:NBMIX)=0.0 + DO I=1,NREG + IBM=MAT(I) + IF(IBM.GT.0) VOLMIX(IBM)=VOLMIX(IBM)+VOL(I) + CALL LCMPUT(IPLI0,'MIXTURESVOL',NBMIX,2,VOLMIX) + ENDDO + DEALLOCATE(VOLMIX) +*---- +* RECOVER BIN TYPE INFORMATION (IF AVAILABLE). +* ASSUME THAT THE ELEMENTARY LETHARGY WIDTH DELI IS A RATIONAL FRACTION +* OF THE LETHARGY UNIT. CHECK THIS ASSUMPTION. +*---- + CALL LIBIPS(IPLIB,NBISO,IPISO1) + ALLOCATE(NBIN(NGRP),NBIN_AU(NGRP)) + NBIN(:NGRP)=-1 + DO ISO=1,NBISO + KPLIB=IPISO1(ISO) ! set ISO-th isotope + IF(.NOT.C_ASSOCIATED(KPLIB)) THEN + WRITE(HSMG,'(17HAUTDRV: ISOTOPE '',3A4,17H'' IS NOT ASSOCIAT, + 1 3HED.)') ISONAM(:3,ISO) + CALL XABORT(HSMG) + ENDIF + CALL LCMLEN(KPLIB,'BIN-NFS',LENGT,ITYLCM) + IF(LENGT.EQ.0) CYCLE + CALL LCMGET(KPLIB,'BIN-NFS',NBIN_AU) + DO 10 IGRP=NGRP,1,-1 + IF(NBIN(IGRP).EQ.-1) THEN + NBIN(IGRP)=NBIN_AU(IGRP) + ELSE IF(NBIN(IGRP).NE.NBIN_AU(IGRP)) THEN + WRITE(HSMG,'(38HAUTDRV: INCONSISTENT BIN DATA IN GROUP,I4, + 1 13H OF ISOTOPE '',3A4,2H''.)') IGRP,ISONAM(:3,ISO) + CALL XABORT(HSMG) + ENDIF + 10 CONTINUE + ENDDO + DEALLOCATE(NBIN_AU) + IGRRES=IGRMIN + DO 20 IGRP=IGRMIN,IGRMAX + IGRRES=IGRP + IF(NBIN(IGRP).GT.0) GO TO 30 + 20 CONTINUE + 30 DO 40 IGRP=1,NGRP + IF(NBIN(IGRP).EQ.-1) CALL XABORT('AUTDRV: NBIN SETTING FAILURE.') + 40 CONTINUE + LBIN=SUM(NBIN(:NGRP)) + IF(LBIN.EQ.0) CALL XABORT('AUTDRV: NO AUTOLIB DATA.') + ALLOCATE(DELTAU(LBIN),EBIN(LBIN+1)) + DO ISO=1,NBISO + KPLIB=IPISO1(ISO) ! set ISO-th isotope + CALL LCMLEN(KPLIB,'BIN-NFS',LENGT,ITYLCM) + IF(LENGT.EQ.0) CYCLE + CALL LCMGET(KPLIB,'BIN-ENERGY',EBIN) + EXIT + ENDDO + DELMIN=1.0E10 + IBIN=0 + DO 60 IGRP=1,NGRP + DO 50 IGF=1,NBIN(IGRP) + DELM=LOG(EBIN(IBIN+IGF)/EBIN(IBIN+IGF+1)) + DELMIN=MIN(DELMIN,DELM) + DELTAU(IBIN+IGF)=DELM + 50 CONTINUE + IBIN=IBIN+NBIN(IGRP) + 60 CONTINUE + CALL LCMLEN(KPLIB,'BIN-DELI',LENGT,ITYLCM) + IF((LENGT.EQ.1).AND.(ITYLCM.EQ.2)) THEN + CALL LCMGET(KPLIB,'BIN-DELI',DELI) + ELSE + DELI=1.0/REAL(INT(1.00001/DELMIN)) + ENDIF + IBIN=0 + ERR=0.0 + DO 80 IGRP=1,NGRP + DO 70 IGF=1,NBIN(IGRP) + LARGH=INT(DELTAU(IBIN+IGF)/DELI+0.1) + ERR=MAX(ERR,ABS(DELTAU(IBIN+IGF)/DELI-REAL(LARGH))) + 70 CONTINUE + IBIN=IBIN+NBIN(IGRP) + 80 CONTINUE + IF(ERR.GT.0.05) THEN + WRITE(HSMG,'(45HAUTDRV: UNABLE TO SET THE ELEMENTARY LETHARGY, + 1 7H WIDTH.)') + WRITE(6,'(A)') HSMG + ENDIF + DEALLOCATE(EBIN,DELTAU) +*---- +* RECOMPUTE THE AUTOLIB ENERGY MESH BETWEEN IGRMIN AND IGRMAX. +*---- + DO 90 IGRP=IGRMIN,IGRRES-1 + IF(NBIN(IGRP).EQ.0) THEN + DELM=LOG(ENER(IGRP)/ENER(IGRP+1)) + NBIN(IGRP)=INT(DELM/DELI+0.1) + ENDIF + 90 CONTINUE + LBIN=SUM(NBIN(IGRMIN:NGRP)) + IF(IMPX.GT.0) THEN + WRITE(6,'(/32H AUTDRV: NUMBER OF AUTOLIB BINS=,I9)') LBIN + WRITE(6,'(35H AUTDRV: FIRST SELF-SHIELDED GROUP=,I6)') IGRMIN + WRITE(6,'(30H AUTDRV: FIRST RESOLVED GROUP=,I11)') IGRRES + WRITE(6,'(34H AUTDRV: LAST SELF-SHIELDED GROUP=,I7)') IGRMAX + WRITE(6,'(35H AUTDRV: ELEMENTARY LETHARGY WIDTH=,1P,E9.2)') DELI + WRITE(6,'(33H AUTDRV: ERROR ON LETHARGY WIDTH=,1P,E11.2)') ERR + ENDIF + ALLOCATE(EBIN(LBIN+1)) + EBIN(:LBIN+1)=0.0 + LLL=0 + DO IGRP=1,IGRRES-1 + DUUU=0.0D0 + EBIN(LLL+1)=ENER(IGRP) + DO IBIN=LLL+1,LLL+NBIN(IGRP) + DUUU=DUUU+DELI + EBIN(IBIN+1)=REAL(ENER(IGRP)*EXP(-DUUU)) + ENDDO + LLL=LLL+NBIN(IGRP) + ENDDO + DO ISO=1,NBISO + KPLIB=IPISO1(ISO) ! set ISO-th isotope + CALL LCMLEN(KPLIB,'BIN-ENERGY',LENGT,ITYLCM) + IF(LENGT.EQ.0) CYCLE + IF(LLL+LENGT.GT.LBIN+1) CALL XABORT('AUTDRV: EBIN OVERFLOW.') + CALL LCMGET(KPLIB,'BIN-ENERGY',EBIN(LLL+1)) + IF(EBIN(LBIN+1).EQ.0.0) EBIN(LBIN+1)=1.0E-5 + EXIT + ENDDO +* + DO 100 ISO=1,NBISO + TEXT8='MICROLIB' + READ(TEXT8,'(2A4)') IHLIB(1,ISO),IHLIB(2,ISO) + ILLIB(ISO)=1 + 100 CONTINUE +* + JPLIB=LCMGID(IPLIB,'ISOTOPESLIST') + JPLI0=LCMLID(IPLI0,'ISOTOPESLIST',NBISO) + IF(INDREC.EQ.1) THEN +* COPY THE NON RESONANT ISOTOPES. + CALL KDRCPU(TK1) + DO 130 ISO=1,NBISO + IF((LSHI(ISO).EQ.0).OR.(DEN(ISO).EQ.0.0)) THEN + CALL LCMLEL(JPLIB,ISO,ILEN,ITYLCM) + IF(ILEN.EQ.0) THEN + DO JSO=1,ISO-1 + CALL LCMLEL(JPLIB,JSO,ILEN,ITYLCM) + IF(ILEN.EQ.0) CYCLE + IF((ISONAM(1,ISO).EQ.ISONAM(1,JSO)).AND.(ISONAM(2,ISO) + 1 .EQ.ISONAM(2,JSO)).AND.(ISONAM(3,ISO).EQ.ISONAM(3,JSO))) + 2 THEN + IF(LSHI(JSO).GT.0) THEN + KPLIB=LCMGIL(JPLIB,JSO) ! set JSO-th isotope + GO TO 120 + ELSE + GO TO 130 + ENDIF + ENDIF + ENDDO + ELSE + KPLIB=LCMGIL(JPLIB,ISO) ! set ISO-th isotope + GO TO 120 + ENDIF + GO TO 130 + 120 CALL LCMLEL(JPLI0,ISO,ILEN,ITYLCM) + IF(ILEN.NE.0) GO TO 130 + KPLI0=LCMDIL(JPLI0,ISO) ! set ISO-th isotope + CALL LCMEQU(KPLIB,KPLI0) + ENDIF + 130 CONTINUE + CALL KDRCPU(TK2) + IF(IMPX.GT.1) WRITE(6,'(/33H AUTDRV: CPU TIME SPENT TO COPY T, + 1 26HHE NON-RESONANT ISOTOPES =,F8.1,8H SECOND.)') TK2-TK1 +* +* WRITE THE OUTPUT INTERNAL LIBRARY PARAMETERS. + CALL LCMGET(IPLIB,'STATE-VECTOR',IPAR) + IPAR(8)=0 + IPAR(17)=0 + CALL LCMPUT(IPLI0,'STATE-VECTOR',NSTATE,1,IPAR) + IF(NED.GT.0) THEN + ALLOCATE(JCEDM(2*NED)) + CALL LCMGET(IPLIB,'ADDXSNAME-P0',JCEDM) + CALL LCMPUT(IPLI0,'ADDXSNAME-P0',2*NED,3,JCEDM) + DEALLOCATE(JCEDM) + ENDIF + CALL LCMLEN(IPLIB,'DEPL-CHAIN',ILENG,ITYLCM) + IF(ILENG.NE.0) THEN + CALL LCMSIX(IPLIB,'DEPL-CHAIN',1) + CALL LCMSIX(IPLI0,'DEPL-CHAIN',1) + CALL LCMEQU(IPLIB,IPLI0) + CALL LCMSIX(IPLI0,' ',2) + CALL LCMSIX(IPLIB,' ',2) + ENDIF + ENDIF + IF(NRES.EQ.0) THEN + CALL LCMEQU(IPLIB,IPLI0) + GO TO 310 + ENDIF +*---- +* FIND THE ISOTOPE-NAME SUFFIX VALUES. +*---- + TEXT4=' ' + READ(TEXT4,'(A4)') IHBLK + DO 140 ISO=1,NBISO + IF((LSHI(ISO).NE.0).AND.(DEN(ISO).NE.0.0)) THEN + WRITE(TEXT4,'(I4.4)') MIX(ISO) + READ(TEXT4,'(A4)') IHSUF(ISO) + ELSE + IHSUF(ISO)=IHBLK + ENDIF + 140 CONTINUE + IF(ICALC.EQ.1) THEN + CALL LCMSIX(IPLI0,'SHIBA_SG',1) + CALL LCMSIX(IPLI0,'-DATA-CALC-',1) + NAM1=' ' + CALL LCMNXT(IPLI0,NAM1) + FNAM1=NAM1 + 150 CALL LCMSIX(IPLI0,NAM1,1) + NAM2=' ' + CALL LCMNXT(IPLI0,NAM2) + FNAM2=NAM2 + 160 CALL LCMLEN(IPLI0,NAM2,NRSS,ITYLCM) + CALL LCMGET(IPLI0,NAM2,IRSS) + READ(NAM2,'(2A4)') IN1,IN2 + DO 180 ISO=1,NBISO + IF((ISONAM(1,ISO).EQ.IN1).AND.(ISONAM(2,ISO).EQ.IN2).AND. + 1 (LSHI(ISO).NE.0)) THEN + IF((NRSS.EQ.1).AND.(IRSS(1).EQ.-999)) THEN + READ(NAM1,'(A4)') IHSUF(ISO) + ELSE + DO 170 I=1,NRSS + IF(IRSS(I).EQ.MIX(ISO)) READ(NAM1,'(A4)') IHSUF(ISO) + 170 CONTINUE + ENDIF + ENDIF + 180 CONTINUE + CALL LCMNXT(IPLI0,NAM2) + IF(NAM2.EQ.FNAM2) GO TO 190 + GO TO 160 + 190 CALL LCMSIX(IPLI0,' ',2) + CALL LCMNXT(IPLI0,NAM1) + IF(NAM1.EQ.FNAM1) THEN + CALL LCMSIX(IPLI0,' ',2) + CALL LCMSIX(IPLI0,' ',2) + GO TO 200 + ENDIF + GO TO 150 + ENDIF +* + 200 NPASS2=NPASS + DO 300 IPASS=1,NPASS + IF((IMPX.GT.0).AND.(NPASS2.GT.1)) WRITE (6,'(/15H AUTDRV: SELF S, + 1 25HHIELDING ITERATION NUMBER,I4,7H NRES=,I4,1H.)') IPASS,NRES + DO 290 INRS=1,NRES +*---- +* PERFORM A SELF-SHIELDING CALCULATION IN RESONANT REGION INRS. +*---- + CALL AUTONE(IPLI0,IPTRK,IPLIB,IFTRAK,CDOOR,IMPX,INRS,IGRMIN, + 1 IGRRES,IGRMAX,NGRP,NBMIX,NREG,NUN,NBISO,NL,NED,NDEL,ISONAM, + 2 IHSUF,DEN,LSHI,DIL,MIX,MAT,VOL,KEYFLX,LEAKSW,ITRANC,IPHASE, + 3 TITR,KSPH,IALTER,DELI,LBIN,NBIN,EBIN,MAXTRA,ISEED) + 290 CONTINUE + 300 CONTINUE + 310 IF(IMPX.GE.3) CALL LCMLIB(IPLI0) +*---- +* BUILD THE MACROLIB IN THE OUTPUT INTERNAL LIBRARY. +*---- + ALLOCATE(MASK(NBMIX)) + DO 330 IBM=1,NBMIX + MASK(IBM)=.TRUE. + DO 320 I=1,NREG + IF(MAT(I).EQ.IBM) GO TO 330 + 320 CONTINUE + MASK(IBM)=.FALSE. + 330 CONTINUE + ALLOCATE(MASKL(NGRP)) + DO 340 I=1,NGRP + MASKL(I)=.TRUE. + 340 CONTINUE +* + ITSTMP=0 + TMPDAY(1)=0.0 + TMPDAY(2)=0.0 + TMPDAY(3)=0.0 + CALL KDRCPU(TK1) + CALL LCMLEN(IPLI0,'ISOTOPESUSED',ILENG,ITYLCM) + IF(ILENG.EQ.0) CALL XABORT('AUTDRV: MISSING ISOTOPESUSED RECORD.') + CALL LCMGET(IPLI0,'ISOTOPESUSED',ISONAM) + CALL LIBMIX(IPLI0,NBMIX,NGRP,NBISO,ISONAM,MIX,DEN,MASK,MASKL, + 1 ITSTMP,TMPDAY) + CALL KDRCPU(TK2) + IF(IMPX.GT.1) WRITE(6,'(/37H AUTDRV: CPU TIME SPENT TO BUILD THE , + 1 19HEMBEDDED MACROLIB =,F8.1,8H SECOND.)') TK2-TK1 + DEALLOCATE(MASKL,MASK) +*---- +* SCRATCH STORAGE DEALLOCATION +*---- + DEALLOCATE(NBIN,EBIN,ENER,DEN,TN,VOL) + DEALLOCATE(IPISO1,ILLIB,IHLIB,IHSUF,LSHI,ITYPE,IEVOL,MIX,ISONAM, + 1 KEYFLX,MAT) + RETURN + END |
