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 /Donjon/data/Example1.x2m | |
Initial commit from Polytechnique Montreal
Diffstat (limited to 'Donjon/data/Example1.x2m')
| -rw-r--r-- | Donjon/data/Example1.x2m | 206 |
1 files changed, 206 insertions, 0 deletions
diff --git a/Donjon/data/Example1.x2m b/Donjon/data/Example1.x2m new file mode 100644 index 0000000..26363c3 --- /dev/null +++ b/Donjon/data/Example1.x2m @@ -0,0 +1,206 @@ +*********************************************************** +* * +* Input file : Example1.x2m * +* Purpose : Test for non-regression using DONJON-4 * +* Author(s) : D. Sekki (2007/11) * +* * +*********************************************************** +PROCEDURE assertS Pgeom Pfmap Pburn Pdevc ; +MODULE DELETE: GREP: END: CRE: MACINI: FLUD: USPLIT: + DSET: TAVG: FLPOW: TRIVAT: TRIVAA: NEWMAC: ; +LINKED_LIST GEOM TRACK MATEX FMAP FLUX POWER MACFL + DEVICE MACRO1 MACRO2 MACRO SYSTEM ; +LINKED_LIST LREFL1 LREFL2 LFUEL1 LFUEL2 + LZCRin LZCRot LSORin LSORot ; +*-- +* variables: +*-- +INTEGER nbMix := 8 ; +INTEGER nbRefl nbFuel := 2 2 ; +INTEGER mFuel1 mFuel2 := 1 2 ; +INTEGER mRefl1 mRefl2 := 3 4 ; +INTEGER mZCRin mZCRot := 5 6 ; +INTEGER mSORin mSORot := 7 8 ; +INTEGER MaxReg := 100000 ; +STRING Method := "MCFD" ; +INTEGER degree quadr := 1 1 ; +INTEGER iter iEdit := 0 5 ; +REAL Power := 1800. ; +REAL epsil := 1.E-5 ; +REAL Precf := 1.E-5 ; +REAL Eps Keff Bexit ; +*-- +* compo files: +*-- +SEQ_ASCII SFUEL1 :: FILE 'CpoFuel1' ; +SEQ_ASCII SFUEL2 :: FILE 'CpoFuel2' ; +SEQ_ASCII SREFL1 :: FILE 'CpoMode1' ; +SEQ_ASCII SREFL2 :: FILE 'CpoMode2' ; +SEQ_ASCII SZCRin :: FILE 'CpoZCRin' ; +SEQ_ASCII SZCRot :: FILE 'CpoZCRot' ; +SEQ_ASCII SSORin :: FILE 'CpoSORin' ; +SEQ_ASCII SSORot :: FILE 'CpoSORot' ; +*-- +* compo directories: +*-- +STRING NamFuel1 := "FUEL1 1" ; +STRING NamFuel2 := "FUEL2 1" ; +STRING NamRefl1 := "MODE1 1" ; +STRING NamRefl2 := "MODE2 1" ; +STRING NamZCRin := "ZCRIN 1" ; +STRING NamZCRot := "ZCROT 1" ; +STRING NamSORin := "SORIN 1" ; +STRING NamSORot := "SOROT 1" ; +*---------------------------------------------------------- +* +* FULL-CORE CALCULATION +* ====================== +*-- +* geometry construction: +*-- +GEOM := Pgeom ; +*-- +* reactor material index: +*-- +GEOM MATEX := USPLIT: GEOM :: EDIT 0 NGRP 2 MAXR <<MaxReg>> + NREFL <<nbRefl>> RMIX <<mRefl1>> <<mRefl2>> + NFUEL <<nbFuel>> FMIX <<mFuel1>> <<mFuel2>> ; +*-- +* numerical discretization: +*-- +IF Method "MCFD" = THEN + TRACK := TRIVAT: GEOM :: EDIT 1 + MAXR <<MaxReg>> MCFD <<degree>> ; +ELSEIF Method "PRIM" = THEN + TRACK := TRIVAT: GEOM :: EDIT 1 + MAXR <<MaxReg>> PRIM <<degree>> ; +ELSEIF Method "DUAL" = THEN + TRACK := TRIVAT: GEOM :: EDIT 1 + MAXR <<MaxReg>> DUAL <<degree>> <<quadr>> ; +ENDIF ; +*-- +* macrolib for reflector: +*-- +LREFL1 := SREFL1 ; +LREFL2 := SREFL2 ; +MACRO1 := CRE: LREFL1 LREFL2 :: EDIT 1 NMIX <<nbMix>> READ + COMPO LREFL1 MIX <<mRefl1>> <<NamRefl1>> ENDMIX + COMPO LREFL2 MIX <<mRefl2>> <<NamRefl2>> ENDMIX ; +*-- +* device specification: +*-- +DEVICE MATEX := Pdevc MATEX :: + <<mZCRin>> <<mZCRot>> <<mSORin>> <<mSORot>> ; +*-- +* full insertion of ZCR-devices: +*-- +DEVICE := DSET: DEVICE :: EDIT 1 + ROD-GROUP 1 LEVEL 1.0 END + ROD-GROUP 2 LEVEL 1.0 END + ROD-GROUP 3 LEVEL 1.0 END ; +*-- +* update macrolib for devices: +*-- +LZCRin := SZCRin ; +LZCRot := SZCRot ; +LSORin := SSORin ; +LSORot := SSORot ; +MACRO1 := CRE: MACRO1 LZCRin LZCRot LSORin LSORot :: EDIT 1 + READ + COMPO LZCRin MIX <<mZCRin>> <<NamZCRin>> ENDMIX + COMPO LZCRot MIX <<mZCRot>> <<NamZCRot>> ENDMIX + COMPO LSORin MIX <<mSORin>> <<NamSORin>> ENDMIX + COMPO LSORot MIX <<mSORot>> <<NamSORot>> ENDMIX ; +*-- +* fuel-map specification: +*-- +FMAP MATEX := Pfmap MATEX ; +*-- +* average exit burnups: +*-- +FMAP := Pburn FMAP ; +*-- +* initialization: +*-- +LFUEL1 := SFUEL1 ; +LFUEL2 := SFUEL2 ; +EVALUATE Eps := epsil 1. + ; +*---------------------------------------------------------- +* TIME-AVERAGE CALCULATION +*---------------------------------------------------------- +WHILE Eps epsil > iter 20 < * DO + + EVALUATE iter := iter 1 + ; +*-- +* fuel-map macrolib: +*-- + MACFL := CRE: LFUEL1 LFUEL2 FMAP :: EDIT 0 READ + TABLE LFUEL1 + MIX <<mFuel1>> <<NamFuel1>> ENDMIX + TABLE LFUEL2 + MIX <<mFuel2>> <<NamFuel2>> ENDMIX ; +*-- +* extended macrolib: +*-- + MACRO2 MATEX := MACINI: MATEX MACRO1 MACFL :: EDIT 0 ; + MACFL := DELETE: MACFL ; +*-- +* complete macrolib: +*-- + MACRO MATEX := NEWMAC: MATEX MACRO2 DEVICE :: EDIT 0 ; + MACRO2 := DELETE: MACRO2 ; +*-- +* numerical solution: +*-- + SYSTEM := TRIVAA: MACRO TRACK :: EDIT 0 ; + MACRO := DELETE: MACRO ; + IF iter 1 = THEN + FLUX := FLUD: SYSTEM TRACK :: EDIT 0 + ACCE 3 3 ADI 4 EXTE 1000 <<Precf>> + THER 1000 ; + ELSE + FLUX := FLUD: FLUX SYSTEM TRACK :: EDIT 0 + ACCE 3 3 ADI 4 EXTE 1000 <<Precf>> + THER 1000 ; + ENDIF ; + SYSTEM := DELETE: SYSTEM ; +*-- +* flux and power: +*-- + POWER := FLPOW: FMAP FLUX TRACK MATEX :: + EDIT 0 PTOT <<Power>> ; +*-- +* burnups integration limits: +*-- + FMAP := TAVG: FMAP POWER :: EDIT 0 + AX-SHAPE RELAX 0.5 B-EXIT ; + POWER := DELETE: POWER ; +*-- +* current parameters: +*-- + GREP: FLUX :: GETVAL 'K-EFFECTIVE' 1 >>Keff<< ; + GREP: FMAP :: GETVAL EPS-AX 1 >>Eps<< ; + ECHO "Iteration No. " iter ; + ECHO "AXIAL-SHAPE ERROR : " Eps ; + ECHO "RESULTING K-EFF : " Keff ; + +ENDWHILE ; +*---------------------------------------------------------- +*-- +* edit resulting fluxes and powers: +*-- +POWER := FLPOW: FMAP FLUX TRACK MATEX :: + EDIT <<iEdit>> PTOT <<Power>> ; +*-- +* last parameters: +*-- +GREP: FLUX :: GETVAL 'K-EFFECTIVE' 1 >>Keff<< ; +GREP: FMAP :: GETVAL EPS-AX 1 >>Eps<< ; +GREP: FMAP :: GETVAL B-EXIT 1 >>Bexit<< ; +ECHO "Number of Iterations " iter ; +ECHO "AXIAL-SHAPE ERROR : " Eps ; +ECHO "CORE-AVERAGE EXIT BURNUP : " Bexit ; +ECHO "RESULTING K-EFFECTIVE : " Keff ; +assertS FLUX :: 'K-EFFECTIVE' 1 1.050128 ; +END: ; +QUIT . |
