summaryrefslogtreecommitdiff
path: root/Dragon
diff options
context:
space:
mode:
authorAlain Hebert <alainhebert@Alains-MacBook-Pro.local>2025-11-02 13:21:20 +0100
committerAlain Hebert <alainhebert@Alains-MacBook-Pro.local>2025-11-02 13:21:20 +0100
commitc234e0ad4a63b37eeb4f93ac05588403a60f2b20 (patch)
tree2c6cbaa77460b43053edfb9d865fd568ba160322 /Dragon
parentbb19a602772d4fe89f5fa2e534b93237330fd89f (diff)
#10: Correct a power normalization issue in module EVO:
Diffstat (limited to 'Dragon')
-rw-r--r--Dragon/data/OSC_CASEA_2level_rse.x2m2
-rw-r--r--Dragon/src/EDI.f2
-rw-r--r--Dragon/src/EDIDRV.f2
-rw-r--r--Dragon/src/EDIGET.f2
-rw-r--r--Dragon/src/EVOBLD.f37
-rw-r--r--Dragon/src/EVODRV.f8
-rw-r--r--Dragon/src/EVOGET.f6
7 files changed, 36 insertions, 23 deletions
diff --git a/Dragon/data/OSC_CASEA_2level_rse.x2m b/Dragon/data/OSC_CASEA_2level_rse.x2m
index 2ff0d74..4fe45c9 100644
--- a/Dragon/data/OSC_CASEA_2level_rse.x2m
+++ b/Dragon/data/OSC_CASEA_2level_rse.x2m
@@ -306,7 +306,7 @@ WHILE istep maxstep < DO
************************************************************************
ENDWHILE ;
-assertS FLUX2 :: K-EFFECTIVE 1 0.8974965 ;
+assertS FLUX2 :: K-EFFECTIVE 1 0.8989664 ;
************************************************************************
* END SECOND LEVEL FLUX CALCULATION *
************************************************************************
diff --git a/Dragon/src/EDI.f b/Dragon/src/EDI.f
index cb9ed74..9d8872d 100644
--- a/Dragon/src/EDI.f
+++ b/Dragon/src/EDI.f
@@ -52,7 +52,7 @@
*----
* LOCAL VARIABLES
*----
- PARAMETER (NSTATE=40,IOUT=6,MAXED=100,MAXOUT=100)
+ PARAMETER (NSTATE=40,IOUT=6,MAXED=300,MAXOUT=100)
TYPE(C_PTR) IPEDIT,IPFLUX,IPTRK1,IPLIB,JPMAC,KPMAC,IPGEO1,IPGEO2,
> JPFLUX,IPSYS,IPMRG
CHARACTER*12 TEXT12,CDOOR,OLDGEO,MACGEO,CURNAM,OLDNAM,HSIGN,
diff --git a/Dragon/src/EDIDRV.f b/Dragon/src/EDIDRV.f
index 53ddd67..4c00e28 100644
--- a/Dragon/src/EDIDRV.f
+++ b/Dragon/src/EDIDRV.f
@@ -120,7 +120,7 @@
*----
* LOCAL VARIABLES
*----
- PARAMETER (IUNOUT=6,MAXED=100,NSTATE=40,IOUT=6)
+ PARAMETER (IUNOUT=6,MAXED=300,NSTATE=40,IOUT=6)
TYPE(C_PTR) JPFLUX,JPFLUA,IPMIC2,IPMAC2,IPADF,JPLIB,KPLIB,
> KPEDIT,JPMAC2,KPMAC2
CHARACTER HSIGN*12,TEXT8*8,HVECT(MAXED)*8,NISEXT*6,NISOTX*12,
diff --git a/Dragon/src/EDIGET.f b/Dragon/src/EDIGET.f
index 175e7bd..c0334c5 100644
--- a/Dragon/src/EDIGET.f
+++ b/Dragon/src/EDIGET.f
@@ -113,7 +113,7 @@
*----
* SUBROUTINE ARGUMENTS
*----
- PARAMETER (MAXED=100,MAXOUT=100)
+ PARAMETER (MAXED=300,MAXOUT=100)
TYPE(C_PTR) IPEDIT
INTEGER IFGEO,NGROUP,NGCOND,NREG,NBMIX,MATCOD(NREG),ITMERG,
> NMERGE,IHF,IFFAC,ILUPS,NSAVES,NSTATS,IGCR(NGROUP),
diff --git a/Dragon/src/EVOBLD.f b/Dragon/src/EVOBLD.f
index 76763ab..46ab32c 100644
--- a/Dragon/src/EVOBLD.f
+++ b/Dragon/src/EVOBLD.f
@@ -1,8 +1,8 @@
*DECK EVOBLD
- SUBROUTINE EVOBLD(IMPX,INR,IGLOB,NBMIX,NBISO,NCOMB,ISONAM,YDPL,
- 1 VX,MILVO,JM,NVAR,NDFP,NSUPS,NREAC,NPAR,NFISS,XT,EPS1,EPS2,EXPMAX,
- 2 H1,ITYPE,IDIRAC,FIT,DELTA,ENERG,KPAR,BPAR,YIELD,IDR,RER,RRD,AWR,
- 3 FUELDN,SIG,VPH,VPHV,MIXPWR,VTOTD,IEVOLB,KFISS,KPF)
+ SUBROUTINE EVOBLD(IMPX,INR,IGLOB,NBMIX,NBISO,NCOMB,ISONAM,IPISO,
+ 1 YDPL,VX,MILVO,JM,NVAR,NDFP,NSUPS,NREAC,NPAR,NFISS,XT,EPS1,EPS2,
+ 2 EXPMAX,H1,ITYPE,IDIRAC,FIT,DELTA,ENERG,KPAR,BPAR,YIELD,IDR,RER,
+ 3 RRD,AWR,FUELDN,SIG,VPH,VPHV,MIXPWR,VTOTD,IEVOLB,KFISS,KPF)
*
*-----------------------------------------------------------------------
*
@@ -34,6 +34,7 @@
* NBISO number of isotopes/materials including non-depleting ones.
* NCOMB number of depleting mixtures.
* ISONAM alias name of isotopes.
+* IPISO pointer array towards microlib isotopes.
* YDPL initial/final number density of isotope in the depletion
* chain. YDPL(NVAR+1,2,ICMB) is the stage burnup increment
* in region ICMB.
@@ -104,9 +105,11 @@
*
*-----------------------------------------------------------------------
*
+ USE GANLIB
*----
* SUBROUTINE ARGUMENTS
*----
+ TYPE(C_PTR) IPISO(NBISO)
INTEGER IMPX,INR,IGLOB,NBMIX,NBISO,NCOMB,ISONAM(3,NBISO),
1 MILVO(NCOMB),JM(NBMIX,NVAR+NSUPS),NVAR,NDFP,NSUPS,NREAC,NPAR,
2 NFISS,ITYPE,IDIRAC,KPAR(NPAR,NVAR),IDR(NREAC,NVAR+NSUPS),
@@ -120,6 +123,7 @@
*----
* LOCAL VARIABLES
*----
+ TYPE(C_PTR) KPLIB
CHARACTER TEXT8*8,HSMG*131
DOUBLE PRECISION GAR,GARD,XDRCST,EVJ,FITD,PHI2
LOGICAL LCOOL,LSIMPL
@@ -170,18 +174,27 @@
270 CONTINUE
NSUPL2=NVAR2
DO 280 IS=1,NVAR
- IF(LSIMPL.AND.(AWR(IS).LE.210.0)) GO TO 280
- IF((JM(IBM,IS).GT.0).AND.(LP(IS).EQ.0)) THEN
- NVAR2=NVAR2+1
- LP(IS)=NVAR2
+ K=JM(IBM,IS)
+ IF(K.GT.0) THEN
+* CHECK IF ONLY THE HEAVY ISOTOPES ARE PRODUCING ENERGY. IN
+* THIS CASE, IT IS POSSIBLE TO AVOID THE SOLUTION FOR FISSION
+* PRODUCTS.
+ KPLIB=IPISO(K) ! set K-th isotope
+ IF(.NOT.C_ASSOCIATED(KPLIB)) THEN
+ WRITE(HSMG,'(17HEVOBLD: ISOTOPE '',3A4,12H'' IS NOT AVA,
+ 1 23HILABLE IN THE MICROLIB.)') (ISONAM(I0,K),I0=1,3)
+ CALL XABORT(HSMG)
+ ENDIF
+ CALL LCMLEN(KPLIB,'H-FACTOR',LENGT,ITYLCM)
+ IF(((LENGT.GT.0).OR.(RER(3,IS).NE.0.0).OR.
+ 1 (AWR(IS).GT.210.0)).AND.(LP(IS).EQ.0)) THEN
+ NVAR2=NVAR2+1
+ LP(IS)=NVAR2
+ ENDIF
ENDIF
280 CONTINUE
IF(NVAR2.EQ.0) GO TO 330
-* CHECK IF ONLY THE HEAVY ISOTOPES ARE PRODUCING ENERGY. IN
-* THIS CASE, IT IS POSSIBLE TO AVOID THE SOLUTION FOR FISSION
-* PRODUCTS.
NSUPF2=NVAR2-NSUPL2
- IF(LSIMPL) NSUPF2=0
CALL EVOMU1(IMPX,NVAR,NREAC,LP,XT,LCOOL,NPAR,KPAR,RRD,
1 SIG(1,1,IBM,1),SIG(1,1,IBM,2),EXPMAX,IEVOLB(1,IBM),MU1,
2 IMA,MAXA)
diff --git a/Dragon/src/EVODRV.f b/Dragon/src/EVODRV.f
index 5015c51..afe2f35 100644
--- a/Dragon/src/EVODRV.f
+++ b/Dragon/src/EVODRV.f
@@ -791,10 +791,10 @@
*----
* PERFORM THE DEPLETION CALCULATION
*----
- CALL EVOBLD(IMPX,INR2,IGLOB,NBMIX,NBISO,NCOMB,ISONAM,YDPL,VX,
- 1 MILVO,JM,NVAR,NDFP,NSUPS,NREAC,NPAR,NFISS,XT,EPS1,EPS2,EXPMAX,
- 2 H1,ITYPE,IDIRAC,FIT,DELTA,ENERG,KPAR,BPAR,YIELD,IDR,RER,RRD,
- 3 AWR,FUELDN,SIG(1,1,1,1),VPH,VPHV(1,1),MIXPWR,VTOTD,IEVOLB,
+ CALL EVOBLD(IMPX,INR2,IGLOB,NBMIX,NBISO,NCOMB,ISONAM,IPISO,
+ 1 YDPL,VX,MILVO,JM,NVAR,NDFP,NSUPS,NREAC,NPAR,NFISS,XT,EPS1,EPS2,
+ 2 EXPMAX,H1,ITYPE,IDIRAC,FIT,DELTA,ENERG,KPAR,BPAR,YIELD,IDR,RER,
+ 3 RRD,AWR,FUELDN,SIG(1,1,1,1),VPH,VPHV(1,1),MIXPWR,VTOTD,IEVOLB,
4 KFISS,KPF)
*----
* SAVE THE INITIAL SATURATED NUMBER DENSITIES IN THE DEPLETION TABLE
diff --git a/Dragon/src/EVOGET.f b/Dragon/src/EVOGET.f
index dcb7004..74ec2c3 100644
--- a/Dragon/src/EVOGET.f
+++ b/Dragon/src/EVOGET.f
@@ -31,9 +31,9 @@
* IEXTR= 1 linear extrapolation;
* IEXTR= 2 parabolic extrapolation.
* IGLOB flag for out-of-fuel power in flux normalization.
-* GLOB=-1: using the Serpent mode 0 emperical formula;
-* GLOB= 0: using the power released in the fuel;
-* GLOB= 1: using the power released in the global geometry.
+* IGLOB=-1: using the Serpent mode 0 empirical formula;
+* IGLOB= 0: using the power released in the fuel;
+* IGLOB= 1: using the power released in the global geometry.
* ISAT flag for saturaton:
* ISAT= 0 for flag OFF;
* ISAT= 1 for flag ON.