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/data/CFC-CELL_proc | |
Initial commit from Polytechnique Montreal
Diffstat (limited to 'Dragon/data/CFC-CELL_proc')
| -rw-r--r-- | Dragon/data/CFC-CELL_proc/CREEP.c2m | 32 | ||||
| -rw-r--r-- | Dragon/data/CFC-CELL_proc/FLUX.c2m | 194 | ||||
| -rw-r--r-- | Dragon/data/CFC-CELL_proc/FLUXP.c2m | 211 | ||||
| -rw-r--r-- | Dragon/data/CFC-CELL_proc/GEOMTY.c2m | 359 | ||||
| -rw-r--r-- | Dragon/data/CFC-CELL_proc/LIBRY.c2m | 238 | ||||
| -rw-r--r-- | Dragon/data/CFC-CELL_proc/PERTRB.c2m | 114 | ||||
| -rw-r--r-- | Dragon/data/CFC-CELL_proc/POWER.c2m | 67 |
7 files changed, 1215 insertions, 0 deletions
diff --git a/Dragon/data/CFC-CELL_proc/CREEP.c2m b/Dragon/data/CFC-CELL_proc/CREEP.c2m new file mode 100644 index 0000000..c98da05 --- /dev/null +++ b/Dragon/data/CFC-CELL_proc/CREEP.c2m @@ -0,0 +1,32 @@ +* DRAGON CREEP PROCEDURE DECK +*********************************************************************** +* Purpose: +* define pressure tube dimensions. +* +* author: +* MAJID FASSI FEHRI 09/08/30 +* CNSC +* +* Modified: +* Richard CHAMBON 11/02/21 +* Ecole Polytechnique +* +* Notes: +* ICREEP = -1 for average creep in the core (used in 3D calculations) +* +*********************************************************************** +MODULE END: ; +INTEGER ICREEP ; +REAL PtRin PtRout ; + +:: >>ICREEP<< ; + +* PT NOMINAL DIAMETER +IF ICREEP 0 = THEN + EVALUATE PtRin PtRout := 5.16890 5.60320 ; +* CREPT PT +ENDIF ; + +:: <<PtRin>> <<PtRout>> ; + +END: ; diff --git a/Dragon/data/CFC-CELL_proc/FLUX.c2m b/Dragon/data/CFC-CELL_proc/FLUX.c2m new file mode 100644 index 0000000..261942a --- /dev/null +++ b/Dragon/data/CFC-CELL_proc/FLUX.c2m @@ -0,0 +1,194 @@ +* DRAGON FLUX AND COMPO PROCEDURE DECK for unperturbated cases +*********************************************************************** +* Purpose: +* compute burnup depletion for 2-D cell of CANDU reactor. +* +* author: +* MAJID FASSI FEHRI 09/09/09 +* CNSC +* +* Modified: +* Richard CHAMBON 11/02/24 +* Ecole Polytechnique +* +*********************************************************************** +PARAMETER EDITN COMPO COMPOR LIBR BURNUP + TRKS TRKF TLINES TLINEF :: + ::: LINKED_LIST TRKS TRKF EDITN COMPO COMPOR LIBR BURNUP ; + ::: SEQ_BINARY TLINES TLINEF ; ; +PROCEDURE POWER ; +LINKED_LIST SYST CFLUX ; +MODULE SHI: ASM: FLU: EDI: EVO: CPO: END: DELETE: BACKUP: ; +INTEGER LEVEL CALCU Nburn ; +REAL POW PowRef ISTP FSTP MaxBurn FacTLog ; +STRING CNAM BNAM RNAM ; + +:: >>CALCU<< >>Nburn<< >>MaxBurn<< ; + +* Set name in the COMPO files + IF CALCU 1 = THEN + EVALUATE CNAM := "REF" ; + EVALUATE RNAM := "MODREF" ; + ELSEIF CALCU 2 = THEN + EVALUATE CNAM := "FTEMP-UP" ; + EVALUATE RNAM := " " ; + ELSEIF CALCU 3 = THEN + EVALUATE CNAM := "FTEMP-D" ; + EVALUATE RNAM := " " ; + ELSEIF CALCU 4 = THEN + EVALUATE CNAM := "CTEMP-UP" ; + EVALUATE RNAM := " " ; + ELSEIF CALCU 5 = THEN + EVALUATE CNAM := "CTEMP-D" ; + EVALUATE RNAM := " " ; + ELSEIF CALCU 6 = THEN + EVALUATE CNAM := "MTEMP-UP" ; + EVALUATE RNAM := "MODTP-UP" ; + ELSEIF CALCU 7 = THEN + EVALUATE CNAM := "MTEMP-D" ; + EVALUATE RNAM := "MODTP-D" ; + ELSEIF CALCU 8 = THEN + EVALUATE CNAM := "CDEN-UP" ; + EVALUATE RNAM := " " ; + ELSEIF CALCU 9 = THEN + EVALUATE CNAM := "CDEN-D" ; + EVALUATE RNAM := " " ; + ELSEIF CALCU 10 = THEN + EVALUATE CNAM := "MDEN-UP" ; + EVALUATE RNAM := "MODDEN-U" ; + ELSEIF CALCU 11 = THEN + EVALUATE CNAM := "MDEN-D" ; + EVALUATE RNAM := "MODDEN-D" ; + ELSEIF CALCU 12 = THEN + EVALUATE CNAM := "BORON" ; + EVALUATE RNAM := "MODBOR" ; + ELSEIF CALCU 13 = THEN + EVALUATE CNAM := "PURITY" ; + EVALUATE RNAM := "MODPUR" ; + ELSEIF CALCU 14 = THEN + EVALUATE CNAM := "XENON" ; + EVALUATE RNAM := " " ; + ELSEIF CALCU 15 = THEN + EVALUATE CNAM := "SM149" ; + EVALUATE RNAM := " " ; + ELSEIF CALCU 16 = THEN + EVALUATE CNAM := "NP239" ; + EVALUATE RNAM := " " ; + ELSEIF CALCU 17 = THEN + EVALUATE CNAM := "MIXFD" ; + EVALUATE RNAM := " " ; + ELSEIF CALCU 18 = THEN + EVALUATE CNAM := "MIXMD" ; + EVALUATE RNAM := " " ; + ELSEIF CALCU 19 = THEN + EVALUATE CNAM := "POWER-UP" ; + EVALUATE RNAM := " " ; + ELSEIF CALCU 20 = THEN + EVALUATE CNAM := "POWER-IN" ; + EVALUATE RNAM := " " ; + ELSEIF CALCU 21 = THEN + EVALUATE CNAM := "POWER-D" ; + EVALUATE RNAM := " " ; + ENDIF ; + +ECHO "FLUX CALCULATION STARTED" ; + +EVALUATE LEVEL := 1 ; + +* get depletion power +POWER :: <<CALCU>> >>POW<< >>PowRef<< ; + +*---- +* Variables for Burnup (burnup times) : +* 1) t(1)=0 day +* 2) t(2)=1 day @ POW=PowRef, +* 3) t(i)=FacTLog**(i-2) days +* with FacTLog=exp(ln(MaxBurn/Puissance)/(Nburn-2)) +* 4) t(Nburn)=MaxBurn/Puissance days +*---- +EVALUATE ISTP FSTP := 0.0 PowRef POW / ; +EVALUATE FacTLog := + MaxBurn PowRef / LN Nburn 2 - I_TO_R / EXP ; + +* BURNUP STEPS +WHILE LEVEL Nburn 1 + < DO + IF LEVEL 10 < THEN + EVALUATE BNAM := "REF-CASE000" LEVEL I_TO_S + ; + ELSEIF LEVEL 100 < THEN + EVALUATE BNAM := "REF-CASE00" LEVEL I_TO_S + ; + ELSE + EVALUATE BNAM := "REF-CASE0" LEVEL I_TO_S + ; + ENDIF ; + + IF LEVEL 1 > THEN + IF LEVEL 2 > THEN + BURNUP LIBR := EVO: BURNUP LIBR CFLUX TRKF :: + NOEX DIRA DEPL <<ISTP>> <<FSTP>> DAY POWR <<POW>> ; + ELSE + BURNUP LIBR := EVO: LIBR CFLUX TRKF :: + NOEX DIRA DEPL <<ISTP>> <<FSTP>> DAY POWR <<POW>> ; + ENDIF ; + LIBR := SHI: LIBR TRKS TLINES ; + SYST := ASM: LIBR TRKF TLINEF ; + CFLUX := FLU: CFLUX SYST LIBR TRKF :: TYPE B B1 PNL ; + ECHO "CELL HOMOGENEIZATION" ; + EDITN := EDI: EDITN CFLUX LIBR TRKF :: + COND 0.625 MERGE COMP + MICR ALL + SAVE ON <<BNAM>> ; + ELSE + LIBR := SHI: LIBR TRKS TLINES ; + SYST := ASM: LIBR TRKF TLINEF ; + CFLUX := FLU: SYST LIBR TRKF :: TYPE B B1 PNL ; + ECHO "CELL HOMOGENEIZATION" ; + EDITN := EDI: CFLUX LIBR TRKF :: + COND 0.625 MERGE COMP + MICR ALL + SAVE ON <<BNAM>> ; + ENDIF ; + + EDITN := BACKUP: EDITN CFLUX :: STEP UP <<BNAM>> STEP UP MFLUXG ; + + IF LEVEL 1 = THEN + IF RNAM " " <> THEN + ECHO "REFLECTOR HOMOGENEIZATION" ; + EDITN := EDI: EDITN CFLUX LIBR TRKF :: + COND 0.625 MERGE MIX 0 0 0 0 1 0 0 0 0 0 + MICR ALL + SAVE ON 'REFLECTR 1' ; + COMPOR := CPO: EDITN :: + STEP 'REFLECTR 1' + EXTRACT BMOD MB11 MB10 + EXTRACT MWAT MO16 MD2 MH1 + NAME <<RNAM>> ; + ELSE + COMPOR := CPO: EDITN ; + ENDIF ; + ENDIF ; + + EVALUATE LEVEL := LEVEL 1 + ; + + IF LEVEL 2 > THEN + EVALUATE ISTP := FSTP ; + EVALUATE FSTP := FSTP FacTLog * ; + ENDIF ; + + SYST := DELETE: SYST ; + +ENDWHILE ; + +*MACROSCOPIC CROSS-SECTION COMPO CREATION + COMPO := CPO: EDITN BURNUP :: + BURNUP 'REF-CASE' + EXTRACT BMOD MB11 MB10 + EXTRACT CWAT CO16 CD2 CH1 + EXTRACT MWAT MO16 MD2 MH1 + EXTRACT XE135 XE5 + EXTRACT SM149 SM9 + EXTRACT NP239 NP9 + EXTRACT FPC FU3 FU5 FP9 FP0 FP1 + NAME <<CNAM>> ; + +ECHO "FLUX CALCULATION FINISHED" ; + +END: ; diff --git a/Dragon/data/CFC-CELL_proc/FLUXP.c2m b/Dragon/data/CFC-CELL_proc/FLUXP.c2m new file mode 100644 index 0000000..9273b83 --- /dev/null +++ b/Dragon/data/CFC-CELL_proc/FLUXP.c2m @@ -0,0 +1,211 @@ +* DRAGON FLUX AND COMPO PROCEDURE DECK for perturbated cases +*********************************************************************** +* Purpose: +* compute burnup depletion for pertubed 2-D cell of CANDU reactor. +* +* author: +* Richard CHAMBON 11/02/24 +* Ecole Polytechnique +* +*********************************************************************** +PARAMETER EDITN COMPO COMPOR LIBR EDIREF BRNREF + TRKS TRKF TLINES TLINEF :: + ::: LINKED_LIST TRKS TRKF EDITN COMPO COMPOR LIBR EDIREF BRNREF ; + ::: SEQ_BINARY TLINES TLINEF ; ; +PROCEDURE POWER PERTRB ; +LINKED_LIST SYST CFLUX LIBTMP EDITMP ; +MODULE LIB: SHI: ASM: FLU: EDI: CPO: RECOVER: END: DELETE: BACKUP: ; +INTEGER LEVEL CALCU Nburn ; +REAL POW PowRef ISTP FSTP ; +STRING CNAM BNAM RNAM ; +REAL TFuel TCool TMode DCool DMode + PCool PMode Bor Xe Sm Np Gad XeRef SmRef NpRef ; + +:: >>CALCU<< >>Nburn<< ; + +LIBTMP := LIBR ; +EDITMP := EDIREF ; + +* Get concentrations for nominal case: XeRef SmRef NpRef +PERTRB :: 1 + >>TFuel<< >>TCool<< >>TMode<< >>DCool<< >>DMode<< + >>PCool<< >>PMode<< >>Bor<< >>XeRef<< >>SmRef<< >>NpRef<< + >>Gad<< ; + +* Get properties for current case +PERTRB :: <<CALCU>> + >>TFuel<< >>TCool<< >>TMode<< >>DCool<< >>DMode<< + >>PCool<< >>PMode<< >>Bor<< >>Xe<< >>Sm<< >>Np<< + >>Gad<< ; + +* Set name in the COMPO files + IF CALCU 1 = THEN + EVALUATE CNAM := "REF" ; + EVALUATE RNAM := "MODREF" ; + ELSEIF CALCU 2 = THEN + EVALUATE CNAM := "FTEMP-UP" ; + EVALUATE RNAM := " " ; + ELSEIF CALCU 3 = THEN + EVALUATE CNAM := "FTEMP-D" ; + EVALUATE RNAM := " " ; + ELSEIF CALCU 4 = THEN + EVALUATE CNAM := "CTEMP-UP" ; + EVALUATE RNAM := " " ; + ELSEIF CALCU 5 = THEN + EVALUATE CNAM := "CTEMP-D" ; + EVALUATE RNAM := " " ; + ELSEIF CALCU 6 = THEN + EVALUATE CNAM := "MTEMP-UP" ; + EVALUATE RNAM := "MODTP-UP" ; + ELSEIF CALCU 7 = THEN + EVALUATE CNAM := "MTEMP-D" ; + EVALUATE RNAM := "MODTP-D" ; + ELSEIF CALCU 8 = THEN + EVALUATE CNAM := "CDEN-UP" ; + EVALUATE RNAM := " " ; + ELSEIF CALCU 9 = THEN + EVALUATE CNAM := "CDEN-D" ; + EVALUATE RNAM := " " ; + ELSEIF CALCU 10 = THEN + EVALUATE CNAM := "MDEN-UP" ; + EVALUATE RNAM := "MODDEN-U" ; + ELSEIF CALCU 11 = THEN + EVALUATE CNAM := "MDEN-D" ; + EVALUATE RNAM := "MODDEN-D" ; + ELSEIF CALCU 12 = THEN + EVALUATE CNAM := "BORON" ; + EVALUATE RNAM := "MODBOR" ; + ELSEIF CALCU 13 = THEN + EVALUATE CNAM := "PURITY" ; + EVALUATE RNAM := "MODPUR" ; + ELSEIF CALCU 14 = THEN + EVALUATE CNAM := "XENON" ; + EVALUATE RNAM := " " ; + ELSEIF CALCU 15 = THEN + EVALUATE CNAM := "SM149" ; + EVALUATE RNAM := " " ; + ELSEIF CALCU 16 = THEN + EVALUATE CNAM := "NP239" ; + EVALUATE RNAM := " " ; + ELSEIF CALCU 17 = THEN + EVALUATE CNAM := "MIXFD" ; + EVALUATE RNAM := " " ; + ELSEIF CALCU 18 = THEN + EVALUATE CNAM := "MIXMD" ; + EVALUATE RNAM := " " ; + ELSEIF CALCU 19 = THEN + EVALUATE CNAM := "POWER-UP" ; + EVALUATE RNAM := " " ; + ELSEIF CALCU 20 = THEN + EVALUATE CNAM := "POWER-IN" ; + EVALUATE RNAM := " " ; + ELSEIF CALCU 21 = THEN + EVALUATE CNAM := "POWER-D" ; + EVALUATE RNAM := " " ; + ENDIF ; + +ECHO "FLUX CALCULATION STARTED" ; + +EVALUATE LEVEL := 1 ; + + +* BURNUP STEPS +WHILE LEVEL Nburn 1 + < DO + + IF LEVEL 10 < THEN + EVALUATE BNAM := "REF-CASE000" LEVEL I_TO_S + ; + ELSEIF LEVEL 100 < THEN + EVALUATE BNAM := "REF-CASE00" LEVEL I_TO_S + ; + ELSE + EVALUATE BNAM := "REF-CASE0" LEVEL I_TO_S + ; + ENDIF ; + +*---- +* Update microlib for this burnup step using BRNREF +*---- + LIBTMP := LIB: LIBTMP BRNREF :: + BURN <<LEVEL>> MIX 6 MIX 7 MIX 8 MIX 9 ; +*---- +* Update microlib for Xe-135 +*---- + IF Xe XeRef <> THEN + LIBTMP := LIB: LIBTMP :: + MAXS MIX 6 XE5 <<Xe>> MIX 7 XE5 <<Xe>> + MIX 8 XE5 <<Xe>> MIX 9 XE5 <<Xe>> ; + ENDIF ; +*---- +* Update microlib for Sm-149 +*---- + IF Sm SmRef <> THEN + LIBTMP := LIB: LIBTMP :: + MAXS MIX 6 SM9 <<Sm>> MIX 7 SM9 <<Sm>> + MIX 8 SM9 <<Sm>> MIX 9 SM9 <<Sm>> ; + ENDIF ; +*---- +* Update microlib for Np-239 +*---- + IF Np NpRef <> THEN + LIBTMP := LIB: LIBTMP :: + MAXS MIX 6 NP9 <<Np>> MIX 7 NP9 <<Np>> + MIX 8 NP9 <<Np>> MIX 9 NP9 <<Np>> ; + ENDIF ; + + LIBTMP := SHI: LIBTMP TRKS TLINES ; + SYST := ASM: LIBTMP TRKF TLINEF ; + CFLUX := RECOVER: EDITMP :: STEP UP <<BNAM>> STEP UP MFLUXG ; + CFLUX := FLU: CFLUX SYST LIBTMP TRKF :: + TYPE B B1 PNL IDEM ; + SYST := DELETE: SYST ; + ECHO "CELL HOMOGENEIZATION" ; + IF LEVEL 1 = THEN + EDITN := EDI: CFLUX LIBTMP TRKF :: + COND 0.625 MERGE COMP + MICR ALL + SAVE ON <<BNAM>> ; + ELSE + EDITN := EDI: EDITN CFLUX LIBTMP TRKF :: + COND 0.625 MERGE COMP + MICR ALL + SAVE ON <<BNAM>> ; + ENDIF ; + + EDITN := BACKUP: EDITN CFLUX :: STEP UP <<BNAM>> STEP UP MFLUXG ; + + IF LEVEL 1 = THEN + IF RNAM " " <> THEN + ECHO "REFLECTOR HOMOGENEIZATION" ; + EDITN := EDI: EDITN CFLUX LIBR TRKF :: + COND 0.625 MERGE MIX 0 0 0 0 1 0 0 0 0 0 + MICR ALL + SAVE ON 'REFLECTR 1' ; + COMPOR := CPO: EDITN :: + STEP 'REFLECTR 1' + EXTRACT BMOD MB11 MB10 + EXTRACT MWAT MO16 MD2 MH1 + NAME <<RNAM>> ; + ELSE + COMPOR := CPO: EDITN ; + ENDIF ; + ENDIF ; + + CFLUX := DELETE: CFLUX ; + + EVALUATE LEVEL := LEVEL 1 + ; + +ENDWHILE ; + +*MACROSCOPIC CROSS-SECTION COMPO CREATION + COMPO := CPO: EDITN BRNREF :: + BURNUP 'REF-CASE' + EXTRACT BMOD MB11 MB10 + EXTRACT CWAT CO16 CD2 CH1 + EXTRACT MWAT MO16 MD2 MH1 + EXTRACT XE135 XE5 + EXTRACT SM149 SM9 + EXTRACT NP239 NP9 + EXTRACT FPC FU3 FU5 FP9 FP0 FP1 + NAME <<CNAM>> ; + +ECHO "FLUX CALCULATION FINISHED" ; + +END: ; diff --git a/Dragon/data/CFC-CELL_proc/GEOMTY.c2m b/Dragon/data/CFC-CELL_proc/GEOMTY.c2m new file mode 100644 index 0000000..86cc50d --- /dev/null +++ b/Dragon/data/CFC-CELL_proc/GEOMTY.c2m @@ -0,0 +1,359 @@ +* DRAGON GEOMETRY PROCEDURE DECK +*********************************************************************** +* Purpose: +* geometry definition of 2-D cell of CANDU reactor. +* +* author: +* MAJID FASSI FEHRI 09/08/28 +* CNSC +* +* Modified: +* Richard CHAMBON 11/02/21 +* Ecole Polytechnique +* +*********************************************************************** +PARAMETER TRKS TRKF TLINES TLINEF :: + ::: LINKED_LIST TRKS TRKF ; + ::: SEQ_BINARY TLINES TLINEF ; ; +PROCEDURE CREEP ; +LINKED_LIST GEOMS GEOMF ; +MODULE GEO: END: NXT: ; + +INTEGER ICREEP ; +REAL PtRinRef PtRoutRef PtRin PtRout OffsetY ; + +REAL r1 r2 r3 r4 + a1 a2 a3 a4 + n1 n2 n3 n4 := + 0.0 1.48850 2.87550 4.33050 + 0.0 0.0 0.26180 0.0 + 1.0 6.0 12.0 18.0 + ; +REAL x101 x201 x202 x203 x204 x205 x206 x301 x302 x303 x304 x305 x306 + x307 x308 x309 x310 x311 x312 x401 x402 x403 x404 x405 x406 x407 + x408 x409 x410 x411 x412 x413 x414 x415 x416 x417 x418 + ; + +REAL y101 y201 y202 y203 y204 y205 y206 y301 y302 y303 y304 y305 y306 + y307 y308 y309 y310 y311 y312 y401 y402 y403 y404 y405 y406 y407 + y408 y409 y410 y411 y412 y413 y414 y415 y416 y417 y418 + ; + +REAL r101 r201 r202 r203 r204 r205 r206 r301 r302 r303 r304 r305 r306 + r307 r308 r309 r310 r311 r312 r401 r402 r403 r404 r405 r406 r407 + r408 r409 r410 r411 r412 r413 r414 r415 r416 r417 r418 + ; + +REAL a101 a201 a202 a203 a204 a205 a206 a301 a302 a303 a304 a305 a306 + a307 a308 a309 a310 a311 a312 a401 a402 a403 a404 a405 a406 a407 + a408 a409 a410 a411 a412 a413 a414 a415 a416 a417 a418 + ; + +REAL pi := 3.141592653589793238462 ; + +:: >>ICREEP<< ; + +ECHO "GEOMETRY CREATION STARTED" ; + +CREEP :: 0 >>PtRinRef<< >>PtRoutRef<< ; + +CREEP :: <<ICREEP>> >>PtRin<< >>PtRout<< ; + +EVALUATE OffsetY := PtRinRef PtRin - ; + +* Compute the APIN and RPIN coefficients +* in DRAGON 3.06 XPIN and YPIN values can be provided directly +EVALUATE x101 := r1 a1 0.0 2.0 pi * n1 / * + COS * ; +EVALUATE x201 := r2 a2 0.0 2.0 pi * n2 / * + COS * ; +EVALUATE x202 := r2 a2 1.0 2.0 pi * n2 / * + COS * ; +EVALUATE x203 := r2 a2 2.0 2.0 pi * n2 / * + COS * ; +EVALUATE x204 := r2 a2 3.0 2.0 pi * n2 / * + COS * ; +EVALUATE x205 := r2 a2 4.0 2.0 pi * n2 / * + COS * ; +EVALUATE x206 := r2 a2 5.0 2.0 pi * n2 / * + COS * ; +EVALUATE x301 := r3 a3 0.0 2.0 pi * n3 / * + COS * ; +EVALUATE x302 := r3 a3 1.0 2.0 pi * n3 / * + COS * ; +EVALUATE x303 := r3 a3 2.0 2.0 pi * n3 / * + COS * ; +EVALUATE x304 := r3 a3 3.0 2.0 pi * n3 / * + COS * ; +EVALUATE x305 := r3 a3 4.0 2.0 pi * n3 / * + COS * ; +EVALUATE x306 := r3 a3 5.0 2.0 pi * n3 / * + COS * ; +EVALUATE x307 := r3 a3 6.0 2.0 pi * n3 / * + COS * ; +EVALUATE x308 := r3 a3 7.0 2.0 pi * n3 / * + COS * ; +EVALUATE x309 := r3 a3 8.0 2.0 pi * n3 / * + COS * ; +EVALUATE x310 := r3 a3 9.0 2.0 pi * n3 / * + COS * ; +EVALUATE x311 := r3 a3 10.0 2.0 pi * n3 / * + COS * ; +EVALUATE x312 := r3 a3 11.0 2.0 pi * n3 / * + COS * ; +EVALUATE x401 := r4 a4 0.0 2.0 pi * n4 / * + COS * ; +EVALUATE x402 := r4 a4 1.0 2.0 pi * n4 / * + COS * ; +EVALUATE x403 := r4 a4 2.0 2.0 pi * n4 / * + COS * ; +EVALUATE x404 := r4 a4 3.0 2.0 pi * n4 / * + COS * ; +EVALUATE x405 := r4 a4 4.0 2.0 pi * n4 / * + COS * ; +EVALUATE x406 := r4 a4 5.0 2.0 pi * n4 / * + COS * ; +EVALUATE x407 := r4 a4 6.0 2.0 pi * n4 / * + COS * ; +EVALUATE x408 := r4 a4 7.0 2.0 pi * n4 / * + COS * ; +EVALUATE x409 := r4 a4 8.0 2.0 pi * n4 / * + COS * ; +EVALUATE x410 := r4 a4 9.0 2.0 pi * n4 / * + COS * ; +EVALUATE x411 := r4 a4 10.0 2.0 pi * n4 / * + COS * ; +EVALUATE x412 := r4 a4 11.0 2.0 pi * n4 / * + COS * ; +EVALUATE x413 := r4 a4 12.0 2.0 pi * n4 / * + COS * ; +EVALUATE x414 := r4 a4 13.0 2.0 pi * n4 / * + COS * ; +EVALUATE x415 := r4 a4 14.0 2.0 pi * n4 / * + COS * ; +EVALUATE x416 := r4 a4 15.0 2.0 pi * n4 / * + COS * ; +EVALUATE x417 := r4 a4 16.0 2.0 pi * n4 / * + COS * ; +EVALUATE x418 := r4 a4 17.0 2.0 pi * n4 / * + COS * ; +EVALUATE y101 := r1 a1 0.0 2.0 pi * n1 / * + SIN * OffsetY + ; +EVALUATE y201 := r2 a2 0.0 2.0 pi * n2 / * + SIN * OffsetY + ; +EVALUATE y202 := r2 a2 1.0 2.0 pi * n2 / * + SIN * OffsetY + ; +EVALUATE y203 := r2 a2 2.0 2.0 pi * n2 / * + SIN * OffsetY + ; +EVALUATE y204 := r2 a2 3.0 2.0 pi * n2 / * + SIN * OffsetY + ; +EVALUATE y205 := r2 a2 4.0 2.0 pi * n2 / * + SIN * OffsetY + ; +EVALUATE y206 := r2 a2 5.0 2.0 pi * n2 / * + SIN * OffsetY + ; +EVALUATE y301 := r3 a3 0.0 2.0 pi * n3 / * + SIN * OffsetY + ; +EVALUATE y302 := r3 a3 1.0 2.0 pi * n3 / * + SIN * OffsetY + ; +EVALUATE y303 := r3 a3 2.0 2.0 pi * n3 / * + SIN * OffsetY + ; +EVALUATE y304 := r3 a3 3.0 2.0 pi * n3 / * + SIN * OffsetY + ; +EVALUATE y305 := r3 a3 4.0 2.0 pi * n3 / * + SIN * OffsetY + ; +EVALUATE y306 := r3 a3 5.0 2.0 pi * n3 / * + SIN * OffsetY + ; +EVALUATE y307 := r3 a3 6.0 2.0 pi * n3 / * + SIN * OffsetY + ; +EVALUATE y308 := r3 a3 7.0 2.0 pi * n3 / * + SIN * OffsetY + ; +EVALUATE y309 := r3 a3 8.0 2.0 pi * n3 / * + SIN * OffsetY + ; +EVALUATE y310 := r3 a3 9.0 2.0 pi * n3 / * + SIN * OffsetY + ; +EVALUATE y311 := r3 a3 10.0 2.0 pi * n3 / * + SIN * OffsetY + ; +EVALUATE y312 := r3 a3 11.0 2.0 pi * n3 / * + SIN * OffsetY + ; +EVALUATE y401 := r4 a4 0.0 2.0 pi * n4 / * + SIN * OffsetY + ; +EVALUATE y402 := r4 a4 1.0 2.0 pi * n4 / * + SIN * OffsetY + ; +EVALUATE y403 := r4 a4 2.0 2.0 pi * n4 / * + SIN * OffsetY + ; +EVALUATE y404 := r4 a4 3.0 2.0 pi * n4 / * + SIN * OffsetY + ; +EVALUATE y405 := r4 a4 4.0 2.0 pi * n4 / * + SIN * OffsetY + ; +EVALUATE y406 := r4 a4 5.0 2.0 pi * n4 / * + SIN * OffsetY + ; +EVALUATE y407 := r4 a4 6.0 2.0 pi * n4 / * + SIN * OffsetY + ; +EVALUATE y408 := r4 a4 7.0 2.0 pi * n4 / * + SIN * OffsetY + ; +EVALUATE y409 := r4 a4 8.0 2.0 pi * n4 / * + SIN * OffsetY + ; +EVALUATE y410 := r4 a4 9.0 2.0 pi * n4 / * + SIN * OffsetY + ; +EVALUATE y411 := r4 a4 10.0 2.0 pi * n4 / * + SIN * OffsetY + ; +EVALUATE y412 := r4 a4 11.0 2.0 pi * n4 / * + SIN * OffsetY + ; +EVALUATE y413 := r4 a4 12.0 2.0 pi * n4 / * + SIN * OffsetY + ; +EVALUATE y414 := r4 a4 13.0 2.0 pi * n4 / * + SIN * OffsetY + ; +EVALUATE y415 := r4 a4 14.0 2.0 pi * n4 / * + SIN * OffsetY + ; +EVALUATE y416 := r4 a4 15.0 2.0 pi * n4 / * + SIN * OffsetY + ; +EVALUATE y417 := r4 a4 16.0 2.0 pi * n4 / * + SIN * OffsetY + ; +EVALUATE y418 := r4 a4 17.0 2.0 pi * n4 / * + SIN * OffsetY + ; +EVALUATE r101 := x101 2. ** y101 2.0 ** + 0.5 ** ; +EVALUATE r201 := x201 2. ** y201 2.0 ** + 0.5 ** ; +EVALUATE r202 := x202 2. ** y202 2.0 ** + 0.5 ** ; +EVALUATE r203 := x203 2. ** y203 2.0 ** + 0.5 ** ; +EVALUATE r204 := x204 2. ** y204 2.0 ** + 0.5 ** ; +EVALUATE r205 := x205 2. ** y205 2.0 ** + 0.5 ** ; +EVALUATE r206 := x206 2. ** y206 2.0 ** + 0.5 ** ; +EVALUATE r301 := x301 2. ** y301 2.0 ** + 0.5 ** ; +EVALUATE r302 := x302 2. ** y302 2.0 ** + 0.5 ** ; +EVALUATE r303 := x303 2. ** y303 2.0 ** + 0.5 ** ; +EVALUATE r304 := x304 2. ** y304 2.0 ** + 0.5 ** ; +EVALUATE r305 := x305 2. ** y305 2.0 ** + 0.5 ** ; +EVALUATE r306 := x306 2. ** y306 2.0 ** + 0.5 ** ; +EVALUATE r307 := x307 2. ** y307 2.0 ** + 0.5 ** ; +EVALUATE r308 := x308 2. ** y308 2.0 ** + 0.5 ** ; +EVALUATE r309 := x309 2. ** y309 2.0 ** + 0.5 ** ; +EVALUATE r310 := x310 2. ** y310 2.0 ** + 0.5 ** ; +EVALUATE r311 := x311 2. ** y311 2.0 ** + 0.5 ** ; +EVALUATE r312 := x312 2. ** y312 2.0 ** + 0.5 ** ; +EVALUATE r401 := x401 2. ** y401 2.0 ** + 0.5 ** ; +EVALUATE r402 := x402 2. ** y402 2.0 ** + 0.5 ** ; +EVALUATE r403 := x403 2. ** y403 2.0 ** + 0.5 ** ; +EVALUATE r404 := x404 2. ** y404 2.0 ** + 0.5 ** ; +EVALUATE r405 := x405 2. ** y405 2.0 ** + 0.5 ** ; +EVALUATE r406 := x406 2. ** y406 2.0 ** + 0.5 ** ; +EVALUATE r407 := x407 2. ** y407 2.0 ** + 0.5 ** ; +EVALUATE r408 := x408 2. ** y408 2.0 ** + 0.5 ** ; +EVALUATE r409 := x409 2. ** y409 2.0 ** + 0.5 ** ; +EVALUATE r410 := x410 2. ** y410 2.0 ** + 0.5 ** ; +EVALUATE r411 := x411 2. ** y411 2.0 ** + 0.5 ** ; +EVALUATE r412 := x412 2. ** y412 2.0 ** + 0.5 ** ; +EVALUATE r413 := x413 2. ** y413 2.0 ** + 0.5 ** ; +EVALUATE r414 := x414 2. ** y414 2.0 ** + 0.5 ** ; +EVALUATE r415 := x415 2. ** y415 2.0 ** + 0.5 ** ; +EVALUATE r416 := x416 2. ** y416 2.0 ** + 0.5 ** ; +EVALUATE r417 := x417 2. ** y417 2.0 ** + 0.5 ** ; +EVALUATE r418 := x418 2. ** y418 2.0 ** + 0.5 ** ; +IF r101 0.0 = THEN +EVALUATE a101 := 0.0 ; +ELSE +EVALUATE a101 := x101 r101 / ARCCOS ; +ENDIF ; +EVALUATE a201 := x201 r201 / ARCCOS ; +EVALUATE a202 := x202 r202 / ARCCOS ; +EVALUATE a203 := x203 r203 / ARCCOS ; +EVALUATE a204 := x204 r204 / ARCCOS ; +EVALUATE a205 := x205 r205 / ARCCOS ; +EVALUATE a206 := x206 r206 / ARCCOS ; +EVALUATE a301 := x301 r301 / ARCCOS ; +EVALUATE a302 := x302 r302 / ARCCOS ; +EVALUATE a303 := x303 r303 / ARCCOS ; +EVALUATE a304 := x304 r304 / ARCCOS ; +EVALUATE a305 := x305 r305 / ARCCOS ; +EVALUATE a306 := x306 r306 / ARCCOS ; +EVALUATE a307 := x307 r307 / ARCCOS ; +EVALUATE a308 := x308 r308 / ARCCOS ; +EVALUATE a309 := x309 r309 / ARCCOS ; +EVALUATE a310 := x310 r310 / ARCCOS ; +EVALUATE a311 := x311 r311 / ARCCOS ; +EVALUATE a312 := x312 r312 / ARCCOS ; +EVALUATE a401 := x401 r401 / ARCCOS ; +EVALUATE a402 := x402 r402 / ARCCOS ; +EVALUATE a403 := x403 r403 / ARCCOS ; +EVALUATE a404 := x404 r404 / ARCCOS ; +EVALUATE a405 := x405 r405 / ARCCOS ; +EVALUATE a406 := x406 r406 / ARCCOS ; +EVALUATE a407 := x407 r407 / ARCCOS ; +EVALUATE a408 := x408 r408 / ARCCOS ; +EVALUATE a409 := x409 r409 / ARCCOS ; +EVALUATE a410 := x410 r410 / ARCCOS ; +EVALUATE a411 := x411 r411 / ARCCOS ; +EVALUATE a412 := x412 r412 / ARCCOS ; +EVALUATE a413 := x413 r413 / ARCCOS ; +EVALUATE a414 := x414 r414 / ARCCOS ; +EVALUATE a415 := x415 r415 / ARCCOS ; +EVALUATE a416 := x416 r416 / ARCCOS ; +EVALUATE a417 := x417 r417 / ARCCOS ; +EVALUATE a418 := x418 r418 / ARCCOS ; +IF y101 0.0 < THEN EVALUATE a101 := a101 -1. * ; ENDIF ; +IF y201 0.0 < THEN EVALUATE a201 := a201 -1. * ; ENDIF ; +IF y202 0.0 < THEN EVALUATE a202 := a202 -1. * ; ENDIF ; +IF y203 0.0 < THEN EVALUATE a203 := a203 -1. * ; ENDIF ; +IF y204 0.0 < THEN EVALUATE a204 := a204 -1. * ; ENDIF ; +IF y205 0.0 < THEN EVALUATE a205 := a205 -1. * ; ENDIF ; +IF y206 0.0 < THEN EVALUATE a206 := a206 -1. * ; ENDIF ; +IF y301 0.0 < THEN EVALUATE a301 := a301 -1. * ; ENDIF ; +IF y302 0.0 < THEN EVALUATE a302 := a302 -1. * ; ENDIF ; +IF y303 0.0 < THEN EVALUATE a303 := a303 -1. * ; ENDIF ; +IF y304 0.0 < THEN EVALUATE a304 := a304 -1. * ; ENDIF ; +IF y305 0.0 < THEN EVALUATE a305 := a305 -1. * ; ENDIF ; +IF y306 0.0 < THEN EVALUATE a306 := a306 -1. * ; ENDIF ; +IF y307 0.0 < THEN EVALUATE a307 := a307 -1. * ; ENDIF ; +IF y308 0.0 < THEN EVALUATE a308 := a308 -1. * ; ENDIF ; +IF y309 0.0 < THEN EVALUATE a309 := a309 -1. * ; ENDIF ; +IF y310 0.0 < THEN EVALUATE a310 := a310 -1. * ; ENDIF ; +IF y311 0.0 < THEN EVALUATE a311 := a311 -1. * ; ENDIF ; +IF y312 0.0 < THEN EVALUATE a312 := a312 -1. * ; ENDIF ; +IF y401 0.0 < THEN EVALUATE a401 := a401 -1. * ; ENDIF ; +IF y402 0.0 < THEN EVALUATE a402 := a402 -1. * ; ENDIF ; +IF y403 0.0 < THEN EVALUATE a403 := a403 -1. * ; ENDIF ; +IF y404 0.0 < THEN EVALUATE a404 := a404 -1. * ; ENDIF ; +IF y405 0.0 < THEN EVALUATE a405 := a405 -1. * ; ENDIF ; +IF y406 0.0 < THEN EVALUATE a406 := a406 -1. * ; ENDIF ; +IF y407 0.0 < THEN EVALUATE a407 := a407 -1. * ; ENDIF ; +IF y408 0.0 < THEN EVALUATE a408 := a408 -1. * ; ENDIF ; +IF y409 0.0 < THEN EVALUATE a409 := a409 -1. * ; ENDIF ; +IF y410 0.0 < THEN EVALUATE a410 := a410 -1. * ; ENDIF ; +IF y411 0.0 < THEN EVALUATE a411 := a411 -1. * ; ENDIF ; +IF y412 0.0 < THEN EVALUATE a412 := a412 -1. * ; ENDIF ; +IF y413 0.0 < THEN EVALUATE a413 := a413 -1. * ; ENDIF ; +IF y414 0.0 < THEN EVALUATE a414 := a414 -1. * ; ENDIF ; +IF y415 0.0 < THEN EVALUATE a415 := a415 -1. * ; ENDIF ; +IF y416 0.0 < THEN EVALUATE a416 := a416 -1. * ; ENDIF ; +IF y417 0.0 < THEN EVALUATE a417 := a417 -1. * ; ENDIF ; +IF y418 0.0 < THEN EVALUATE a418 := a418 -1. * ; ENDIF ; + +ECHO "OFFSETY " OffsetY ; + +* END: ; +* SELF-SHIELDING GEOMETRY +GEOMS := GEO: :: CARCEL 6 1 1 + EDIT 1 + X- REFL MESHX -14.2875 14.2875 X+ REFL + Y- TRAN MESHY -14.2875 14.2875 Y+ TRAN + RADIUS 0.00000 2.16175 <<PtRin>> + <<PtRout>> 6.44780 6.58750 10.43700 + MIX 1 1 2 3 4 5 5 + CLUSTER ROD1 ROD2 ROD3 ROD4 + ::: ROD1 := GEO: TUBE 2 + MIX 6 10 + NPIN 1 + RPIN <<r101>> + APIN <<a101>> + RADIUS 0.00000 0.61220 0.65400 ; + ::: ROD2 := GEO: TUBE 2 + MIX 7 10 + NPIN 6 + RPIN <<r201>> <<r202>> <<r203>> <<r204>> <<r205>> <<r206>> + APIN <<a201>> <<a202>> <<a203>> <<a204>> <<a205>> <<a206>> + RADIUS 0.00000 0.61220 0.65400 ; + ::: ROD3 := GEO: TUBE 2 + MIX 8 10 + NPIN 12 + RPIN <<r301>> <<r302>> <<r303>> <<r304>> <<r305>> <<r306>> + <<r307>> <<r308>> <<r309>> <<r310>> <<r311>> <<r312>> + APIN <<a301>> <<a302>> <<a303>> <<a304>> <<a305>> <<a306>> + <<a307>> <<a308>> <<a309>> <<a310>> <<a311>> <<a312>> + RADIUS 0.00000 0.61220 0.65400 ; + ::: ROD4 := GEO: TUBE 2 + MIX 9 10 + NPIN 18 + RPIN <<r401>> <<r402>> <<r403>> <<r404>> <<r405>> <<r406>> + <<r407>> <<r408>> <<r409>> <<r410>> <<r411>> <<r412>> + <<r413>> <<r414>> <<r415>> <<r416>> <<r417>> <<r418>> + APIN <<a401>> <<a402>> <<a403>> <<a404>> <<a405>> <<a406>> + <<a407>> <<a408>> <<a409>> <<a410>> <<a411>> <<a412>> + <<a413>> <<a414>> <<a415>> <<a416>> <<a417>> <<a418>> + RADIUS 0.00000 0.61220 0.65400 ; +; + +* FLUX GEOMETRY +GEOMF := GEO: :: CARCEL 9 1 1 + EDIT 0 + X- REFL MESHX -14.2875 14.2875 X+ REFL + Y- TRAN MESHY -14.2875 14.2875 Y+ TRAN + RADIUS 0.00000 0.72425 2.16175 3.60300 5.076700 + <<PtRin>> <<PtRout>> 6.44780 6.58750 10.43700 + MIX 1 1 1 1 1 2 3 4 5 5 + CLUSTER ROD1 ROD2 ROD3 ROD4 + ::: ROD1 := GEO: TUBE 2 + MIX 6 10 + NPIN 1 + RPIN <<r101>> + APIN <<a101>> + RADIUS 0.00000 0.61220 0.65400 ; + ::: ROD2 := GEO: TUBE 2 + MIX 7 10 + NPIN 6 + RPIN <<r201>> <<r202>> <<r203>> <<r204>> <<r205>> <<r206>> + APIN <<a201>> <<a202>> <<a203>> <<a204>> <<a205>> <<a206>> + RADIUS 0.00000 0.61220 0.65400 ; + ::: ROD3 := GEO: TUBE 2 + MIX 8 10 + NPIN 12 + RPIN <<r301>> <<r302>> <<r303>> <<r304>> <<r305>> <<r306>> + <<r307>> <<r308>> <<r309>> <<r310>> <<r311>> <<r312>> + APIN <<a301>> <<a302>> <<a303>> <<a304>> <<a305>> <<a306>> + <<a307>> <<a308>> <<a309>> <<a310>> <<a311>> <<a312>> + RADIUS 0.00000 0.61220 0.65400 ; + ::: ROD4 := GEO: TUBE 2 + MIX 9 10 + NPIN 18 + RPIN <<r401>> <<r402>> <<r403>> <<r404>> <<r405>> <<r406>> + <<r407>> <<r408>> <<r409>> <<r410>> <<r411>> <<r412>> + <<r413>> <<r414>> <<r415>> <<r416>> <<r417>> <<r418>> + APIN <<a401>> <<a402>> <<a403>> <<a404>> <<a405>> <<a406>> + <<a407>> <<a408>> <<a409>> <<a410>> <<a411>> <<a412>> + <<a413>> <<a414>> <<a415>> <<a416>> <<a417>> <<a418>> + RADIUS 0.00000 0.61220 0.65400 ; +; + +* TRACKING FOR SELF-SHIELDING + +TRKS TLINES := NXT: GEOMS :: +EDIT 0 +TITLE 'C6CELLS' +TISO 11 15.0 +; + +* TRACKING FOR FLUX + +TRKF TLINEF := NXT: GEOMF :: +EDIT 0 +TITLE 'C6CELLF' +TISO 15 30.0 +; + +ECHO "GEOMETRY CREATION FINISHED" ; + +END: ; diff --git a/Dragon/data/CFC-CELL_proc/LIBRY.c2m b/Dragon/data/CFC-CELL_proc/LIBRY.c2m new file mode 100644 index 0000000..1e1af23 --- /dev/null +++ b/Dragon/data/CFC-CELL_proc/LIBRY.c2m @@ -0,0 +1,238 @@ +* DRAGON CROSS-SECTION LIBRARY PROCEDURE DECK +*********************************************************************** +* Purpose: +* define properties values of the mixtures. +* +* author: +* MAJID FASSI FEHRI 09/08/31 +* CNSC +* +* Modified: +* Richard CHAMBON 11/02/24 +* Ecole Polytechnique +* +*********************************************************************** +PARAMETER LIBR :: + ::: LINKED_LIST LIBR ; ; +MODULE END: INFO: LIB: ; +INTEGER CALCU ; +STRING LIBNAM := "E6MLIB" ; +PROCEDURE PERTRB ; +REAL TFuel TCool TMode DCool DMode + PCool PMode Bor Xe Sm Np Gad XeRef SmRef NpRef ; +REAL FWGTU5 FWGTU8 FWGTO16 CWGTH1 CWGTD2 CWGTO16 + MWGTH1 MWGTD2 MWGTO16 ; +REAL PTtemp PTdens Gaptemp Gapdens CTtemp CTdens + Shtemp Shdens Fdens ; +REAL BWGT0 BWGT1 GWGT5 GWGT7 ; +REAL XWGT5 SWGT9 NWGT9 ; + +ECHO "LIBRY PROCEDURE" ; + +* Get current calculation value +:: >>CALCU<< ; + +* Get current properties values +PERTRB :: <<CALCU>> + >>TFuel<< >>TCool<< >>TMode<< >>DCool<< >>DMode<< + >>PCool<< >>PMode<< >>Bor<< >>Xe<< >>Sm<< >>Np<< + >>Gad<< ; + +* Set non-changing properties values +EVALUATE Fdens := 10.39475 ; +EVALUATE Shdens := 6.3918 ; +EVALUATE PTdens := 6.57 ; +EVALUATE CTdens := 6.44 ; +EVALUATE Gapdens := 0.00118 ; +EVALUATE Shtemp := TCool 5.0 + ; +EVALUATE PTtemp := TCool 2.0 - ; +EVALUATE CTtemp := TMode 2.0 + ; +EVALUATE Gaptemp := PTtemp CTtemp + 2.0 / ; + +* Change units fron fraction to percent +EVALUATE BWGT0 := 0.199 ; +! EVALUATE BWGT0 := BWGT0 0.000109 * Bor * ; +EVALUATE BWGT0 := BWGT0 Bor * 100.0 * ; +EVALUATE BWGT1 := 0.801 ; +! EVALUATE BWGT1 := BWGT1 0.000109 * Bor * ; +EVALUATE BWGT1 := BWGT1 Bor * 100.0 * ; +EVALUATE GWGT5 := 0.482837 ; +! EVALUATE GWGT5 := GWGT5 0.000033 * Gad * ; +EVALUATE GWGT5 := GWGT5 Gad * 100.0 * ; +EVALUATE GWGT7 := 0.517163 ; +! EVALUATE GWGT7 := GWGT7 0.000033 * Gad * ; +EVALUATE GWGT7 := GWGT7 Gad * 100.0 * ; +* Arbitrary coefficients +EVALUATE XWGT5 := Xe 0.00001 * ; +EVALUATE SWGT9 := Sm 0.00001 * ; +EVALUATE NWGT9 := Np 0.00001 * ; + +*---- +* FUEL WGT% +*---- +INFO: :: EDIT 0 + TMP: <<TFuel>> K + ENR: 0.711 WGT% + LIB: WIMSAECL FIL: <<LIBNAM>> + ISO: 3 U235 U238 O16 + CALC WGT% UO2 >>FWGTU5<< >>FWGTU8<< >>FWGTO16<< ; + + +*---- +* Coolant WGT% +*---- +INFO: :: EDIT 0 + TMP: <<TCool>> K + PUR: <<PCool>> WGT% + LIB: WIMSAECL FIL: <<LIBNAM>> + ISO: 3 H1H2O DD2O O16 + CALC WGT% D2O >>CWGTH1<< >>CWGTD2<< >>CWGTO16<< ; + + +*---- +* Moderator WGT% +*---- +INFO: :: EDIT 0 + TMP: <<TMode>> K + PUR: <<PMode>> WGT% + LIB: WIMSAECL FIL: <<LIBNAM>> + ISO: 3 H1H2O DD2O O16 + CALC WGT% D2O >>MWGTH1<< >>MWGTD2<< >>MWGTO16<< ; + +ECHO "PARAMETERS USED" ; +ECHO FWGTU5 FWGTU8 FWGTO16 ; +ECHO CWGTH1 CWGTD2 CWGTO16 ; +ECHO MWGTH1 MWGTD2 MWGTO16 ; +ECHO XWGT5 SWGT9 NWGT9 ; +ECHO BWGT0 BWGT1 GWGT5 GWGT7 ; +ECHO "PARAMETERS USED SUITE" ; +ECHO PCool PMode Bor Xe Sm Np Gad ; +ECHO DCool DMode Fdens Shdens PTdens CTdens Gapdens ; +ECHO TCool TMode TFuel Shtemp PTtemp CTtemp Gaptemp ; + +ECHO "LIBRARY CREATION STARTED" ; + +*---- +* Create library +*---- +LIBR := LIB: :: + EDIT 0 + NMIX 10 + CTRA WIMS + DEPL LIB: WIMSAECL FIL: <<LIBNAM>> + MIXS LIB: WIMSAECL FIL: <<LIBNAM>> + +* Coolant + MIX 1 <<TCool>> <<DCool>> + CH1 = H1H2O <<CWGTH1>> + CD2 = DD2O <<CWGTD2>> + CO16 = O16 <<CWGTO16>> + +* Pressure tube + MIX 2 <<PTtemp>> <<PTdens>> + ZR90PT 49.3443000 + ZR91PT 10.8805220 + ZR92PT 16.8136710 + ZR94PT 17.4101970 + ZR96PT 2.8645910 + NB93 2.5800000 + FE54 0.0026659 + FE56 0.0429768 + FE57 0.0010016 + FE58 0.0001359 + CR50 0.0003376 + CR52 0.0067696 + CR53 0.0007823 + CR54 0.0001984 + NI58 0.0024819 + NI60 0.0009815 + NI64 0.0000365 + B10 0.0000243 + +* Gap + MIX 3 <<Gaptemp>> <<Gapdens>> + C 27.11 + O16 72.89 + +* Calendria tube + MIX 4 <<CTtemp>> <<CTdens>> + ZR90CT 49.7984827 + ZR91CT 10.9806700 + ZR92CT 16.9684300 + ZR94CT 17.5704469 + ZR96CT 2.8909577 + FE54 0.0076934 + FE56 0.1240245 + FE57 0.0028905 + FE58 0.0003921 + NI58 0.0390021 + NI60 0.0154242 + NI64 0.0005736 + CR50 0.0041737 + CR52 0.0836990 + CR53 0.0096726 + CR54 0.0024534 + B10 0.0000596 + +* Moderator + MIX 5 <<TMode>> <<DMode>> + MH1 = H1H2O <<MWGTH1>> + MD2 = DD2O <<MWGTD2>> + MO16 = O16 <<MWGTO16>> + MB10 = B10 <<BWGT0>> + MB11 = B11 <<BWGT1>> + MG5 = GD155 <<GWGT5>> + MG7 = GD157 <<GWGT7>> + +* Central Ring Fuel + MIX 6 <<TFuel>> <<Fdens>> + FU3 = U233 0.0 1 + FU4 = U234 0.0 1 + FU5 = U235 <<FWGTU5>> 1 + FU6 = U236 0.0 1 + FU8 = U238 <<FWGTU8>> 1 + FO16 = O16 <<FWGTO16>> + FP9 = PU239 0.0 1 + FP0 = PU240 0.0 1 + FP1 = PU241 0.0 1 + FP2 = PU242 0.0 1 + AM241 0.0 1 + AM242M 0.0 1 + AM243 0.0 1 + NP9 = NP239 <<NWGT9>> + XE5 = XE135 <<XWGT5>> + SM9 = SM149 <<SWGT9>> + +* Inner Ring Fuel + MIX 7 COMB 6 1.0 + +* Intermediate Ring Fuel + MIX 8 COMB 6 1.0 + +* Outer Ring Fuel + MIX 9 COMB 6 1.0 + +* Sheath + MIX 10 <<Shtemp>> <<Shdens>> + ZR90CL 49.7847918 + ZR91CL 10.9776511 + ZR92CL 16.9637650 + ZR94CL 17.5656164 + ZR96CL 2.8901629 + FE54 0.0119675 + FE56 0.1929270 + FE57 0.0044963 + FE58 0.0006100 + NI58 0.0049639 + NI60 0.0019631 + NI64 0.0000730 + CR50 0.0041737 + CR52 0.0836990 + CR53 0.0096726 + CR54 0.0024534 + B10 0.0000596 +; + +ECHO "LIBRARY CREATION FINISHED" ; + +END: ; diff --git a/Dragon/data/CFC-CELL_proc/PERTRB.c2m b/Dragon/data/CFC-CELL_proc/PERTRB.c2m new file mode 100644 index 0000000..e308ee0 --- /dev/null +++ b/Dragon/data/CFC-CELL_proc/PERTRB.c2m @@ -0,0 +1,114 @@ +* DRAGON PARAMETERS PERTUBATION PROCEDURE DECK +*********************************************************************** +* Purpose: +* set nominal and pertubed properties for cross-section of 2-D/3-D cell +* of CANDU reactor. +* +* author: +* MAJID FASSI FEHRI 09/08/31 +* CNSC +* +* Modified: +* Richard CHAMBON 11/02/24 +* Ecole Polytechnique +* +* Note: +* - Boron value are in fraction of weight of the moderator +* i.e.: 1.E-6 = 1ppm +* +* - by default (CALCU>0) only current values of properties are returned +* - for CALCU=0 nominal properties and their range of perturbation are +* returned. +* +*********************************************************************** +MODULE END: ; +INTEGER CALCU ; +* Nominal values +REAL TFuel TCool TMode DCool DMode + PCool PMode Bor Xe Sm Np Gad := + 960.15 562.15 346.15 0.8064 1.08288 + 98.6938 99.966 1.0E-20 1.0E-20 1.0E-20 1.0E-20 1.0E-20 ; +* Perturbated values +REAL TFuelU TFuelD := 2073.15 303.15 ; +REAL TCoolU TCoolD := 1023.15 303.15 ; +REAL TModeU TModeD := 364.15 303.15 ; +REAL DCoolU DCoolD := DCool 1.5 * DCool 0.00001 * ; +REAL DModeU DModeD := DMode 1.1 * DMode 0.7 * ; +REAL PModeD := 99.48 ; +REAL BorU XeU SmU NpU := + 1.5E-5 1.0E-20 1.0E-20 1.0E-20 +; + +* Temporary values +REAL TFuelP TCoolP TModeP DCoolP DModeP + PCoolP PModeP BorP XeP SmP NpP GadP ; + +:: >>CALCU<< ; + +ECHO "PERTURBATION STARTED" ; + +EVALUATE TFuelP := TFuel ; +EVALUATE TCoolP := TCool ; +EVALUATE TModeP := TMode ; +EVALUATE DCoolP := DCool ; +EVALUATE DModeP := DMode ; +EVALUATE PCoolP := PCool ; +EVALUATE PModeP := PMode ; +EVALUATE BorP := Bor ; +EVALUATE XeP := Xe ; +EVALUATE SmP := Sm ; +EVALUATE NpP := Np ; +EVALUATE GadP := Gad ; + +IF CALCU 2 = THEN + EVALUATE TFuelP := TFuelU ; +ELSEIF CALCU 3 = THEN + EVALUATE TFuelP := TFuelD ; +ELSEIF CALCU 4 = THEN + EVALUATE TCoolP := TCoolU ; +ELSEIF CALCU 5 = THEN + EVALUATE TCoolP := TCoolD ; +ELSEIF CALCU 6 = THEN + EVALUATE TModeP := TModeU ; +ELSEIF CALCU 7 = THEN + EVALUATE TModeP := TModeD ; +ELSEIF CALCU 8 = THEN + EVALUATE DCoolP := DCoolU ; +ELSEIF CALCU 9 = THEN + EVALUATE DCoolP := DCoolD ; +ELSEIF CALCU 10 = THEN + EVALUATE DModeP := DModeU ; +ELSEIF CALCU 11 = THEN + EVALUATE DModeP := DModeD ; +ELSEIF CALCU 12 = THEN + EVALUATE BorP := BorU ; +ELSEIF CALCU 13 = THEN + EVALUATE PModeP := PModeD ; +ELSEIF CALCU 14 = THEN + EVALUATE XeP := XeU ; +ELSEIF CALCU 15 = THEN + EVALUATE SmP := SmU ; +ELSEIF CALCU 16 = THEN + EVALUATE NpP := NpU ; +ELSEIF CALCU 17 = THEN + EVALUATE TFuelP := TFuelU ; + EVALUATE DCoolP := DCoolD ; +ELSEIF CALCU 18 = THEN + EVALUATE DCoolP := DCoolD ; + EVALUATE TCoolP := TCoolU ; +ENDIF ; + +:: <<TFuelP>> <<TCoolP>> <<TModeP>> <<DCoolP>> <<DModeP>> + <<PCoolP>> <<PModeP>> <<BorP>> <<XeP>> <<SmP>> <<NpP>> + <<GadP>> ; + +* Needed for the CFC: module only +IF CALCU 0 = THEN +:: <<TFuelU>> <<TFuelD>> <<TCoolU>> <<TCoolD>> <<TModeU>> <<TModeD>> + <<DCoolU>> <<DCoolD>> <<DModeU>> <<DModeD>> <<PModeD>> + <<BorU>> <<XeU>> <<SmU>> <<NpU>> ; +ENDIF ; + +ECHO "PERTURBATION FINISHED" ; + +END: ; diff --git a/Dragon/data/CFC-CELL_proc/POWER.c2m b/Dragon/data/CFC-CELL_proc/POWER.c2m new file mode 100644 index 0000000..ea6ca7d --- /dev/null +++ b/Dragon/data/CFC-CELL_proc/POWER.c2m @@ -0,0 +1,67 @@ +* DRAGON POWER PROCEDURE DECK +*********************************************************************** +* Purpose: +* set nominal and pertubed power for cross-section of 2-D cell +* of CANDU reactor. +* +* author: +* MAJID FASSI FEHRI 09/09/10 +* CNSC +* +* Modified: +* Richard CHAMBON 11/04/29 +* Ecole Polytechnique +* +* Note: +* - by default (CALCU>0) only current and nominal values of properties +* are returned +* - for CALCU=0 nominal bundle power and its range of perturbation are +* returned. +* PowFB = 0 power feedback is NOT computed in the FBM database +* in that case arbitrary values of power are used in CFC +* to compute feedback coeficients all equal to 0 +* = 1 power feedback is computed in the FBM database +* +*********************************************************************** +REAL POW PowRef PowU PowI PowD ; +REAL PowBundRef PowBundU PowBundI PowBundD ; +INTEGER CALCU ; +INTEGER PowFB := 1 ; +MODULE END: ; +IF PowFB 0 = THEN +EVALUATE PowRef PowU PowI PowD := + 31.9713 31.9713 31.9713 31.9713 ; +ELSE +EVALUATE PowRef PowU PowI PowD := + 31.9713 49.3866 27.2926 3.4656 ; +ENDIF ; +EVALUATE PowBundRef := 615.0 ; +IF PowFB 0 = THEN +EVALUATE PowBundU := PowRef 1.5 * ; +EVALUATE PowBundI := PowRef 0.8 * ; +EVALUATE PowBundD := PowRef 0.15 * ; +ELSE +EVALUATE PowBundU := PowBundRef PowU * PowRef / ; +EVALUATE PowBundI := PowBundRef PowI * PowRef / ; +EVALUATE PowBundD := PowBundRef PowD * PowRef / ; +ENDIF ; + +:: >>CALCU<< ; + +IF CALCU 21 = THEN + EVALUATE POW := PowD ; +ELSEIF CALCU 20 = THEN + EVALUATE POW := PowI ; +ELSEIF CALCU 19 = THEN + EVALUATE POW := PowU ; +ELSE + EVALUATE POW := PowRef ; +ENDIF ; + +:: <<POW>> <<PowRef>> ; + +* Needed for the CFC: module only +IF CALCU 0 = THEN + :: <<PowBundRef>> <<PowBundU>> <<PowBundI>> <<PowBundD>> ; +ENDIF ; +END: ; |
