*---- * TEST CASE TCND05 * CANDU-6 ANNULAR CELL * NDAS 89-GROUP CROSS-SECTION LIBRARY * POWER (KW) = 615.00000 * BURN POWER (KW/KG) = 31.97130 * URANIUM MASS = 19.23600 * UO2 REAL DENSITY = 10.59300 * UO2 EFF DENSITY = 10.43750 * UO2 TEMPERATURE = 941.28998 * ENRICHMENT = 0.71140 * COOLANT D2 AT % = 99.222 * MODERATOR D2 AT % = 99.911 * NUMBER OF DAYS = 50 * *---- * Define variables and initialize * Burnup paremeters * a) Power * = 31.9713 kw/kg for 0.0 to 300.0 days * b) Burnup time interval Delt * = 1 day for 0 to 1 day * = 4 days for 1 to 5 days * = 5 days for 5 to 10 days * = 10 days for 10 to 50 days * = 20 days for 50 to 150 days * = 50 days for 150 to 300 days * c) Days with burnup interval changes * = 1.0, 5.0, 10.0, 50.0, 150.0 and 300.0 days * d) Burnup control time variables Timei, Timef * Timei = initial time * Timef = final time *---- REAL Power Delt Timec Timei Timef := 31.9713 1.0 1.0 0.0 0.0 ; *---- * Define STRUCTURES and MODULES used *---- LINKED_LIST LIBRARY CANDU6S CANDU6F VOLMATS VOLMATF PIJ FLUX BURNUP EDITION DATABASE ISOT ; SEQ_BINARY INTLINS INTLINF ; SEQ_ASCII database ; MODULE GEO: EXCELT: SHI: ASM: FLU: EVO: EDI: COMPO: DELETE: END: ; PROCEDURE assertS ; *---- * Depletion data from file in NDAS format * Microscopic cross sections from file in NDAS format *---- PROCEDURE TCND05Lib ; INTEGER iedit := 1 ; LIBRARY := TCND05Lib :: <> ; *---- * Geometry CANDU6S : 13 regions annular cluster for self-shielding * CANDU6F : 31 regions annular cluster for transport *---- CANDU6S := GEO: :: TUBE 5 R+ REFL RADIUS 0.00000 5.16890 5.60320 6.44780 6.58750 16.12171 MIX 1 2 3 4 5 CLUSTER ROD1 ROD2 ROD3 ROD4 ::: ROD1 := GEO: TUBE 2 MIX 6 10 NPIN 1 RPIN 0.0000 APIN 0.0000 RADIUS 0.00000 0.6122 0.6540 ; ::: ROD2 := GEO: ROD1 MIX 7 10 NPIN 6 RPIN 1.4885 APIN 0.0000 ; ::: ROD3 := GEO: ROD1 MIX 8 10 NPIN 12 RPIN 2.8755 APIN 0.261799 ; ::: ROD4 := GEO: ROD1 MIX 9 10 NPIN 18 RPIN 4.3305 APIN 0.0 ; ; CANDU6F := GEO: CANDU6S :: SPLITR 6 1 1 1 10 ::: ROD1 := GEO: ROD1 SPLITR 2 1 ; ::: ROD2 := GEO: ROD2 SPLITR 2 1 ; ::: ROD3 := GEO: ROD3 SPLITR 2 1 ; ::: ROD4 := GEO: ROD4 SPLITR 2 1 ; ; *---- * Create the reactor database *---- DATABASE := COMPO: :: EDIT 5 STEP UP 'moderator' COMM 'Multi-parameter reactor database for moderator' ENDC INIT STEP UP 'fuel' COMM 'Multi-parameter reactor database for fuel' ENDC PARA 'BURN' IRRA PARA 'FLUB' FLUB INIT ; *---- * Self-Shielding calculation EXCEL * Transport calculation EXCEL * Flux calculation for keff *---- VOLMATS INTLINS := EXCELT: CANDU6S :: TITLE 'TCND05: CANDU-6 ANNULAR POWER= 31.971 FUEL TEMP= 941.29' EDIT 0 MAXR 13 TRAK TISO 5 10.0 SYMM 12 ; LIBRARY := SHI: LIBRARY VOLMATS INTLINS :: EDIT 0 NOLJ ; VOLMATF INTLINF := EXCELT: CANDU6F :: TITLE 'TCND05: CANDU-6 ANNULAR POWER= 31.971 FUEL TEMP= 941.29' EDIT 0 MAXR 31 TRAK TISO 5 10.0 SYMM 12 ; PIJ := ASM: LIBRARY VOLMATF INTLINF ; FLUX := FLU: PIJ LIBRARY VOLMATF :: TYPE K ; assertS FLUX :: 'K-INFINITY' 1 1.118137 ; EDITION := EDI: FLUX LIBRARY VOLMATF :: COND 4.0 MERGE MIX 0 0 0 0 1 0 0 0 0 0 MICR RES SAVE ON 'moderator' ; DATABASE := COMPO: DATABASE EDITION :: EDIT 3 STEP UP * ; EDITION := EDI: EDITION FLUX LIBRARY VOLMATF :: COND 4.0 MERGE COMP MICR 1 Xe135 SAVE ON 'fuel' ; *---- * Burnup loop: for first step BURNUP is created * while for other steps it is modified *---- WHILE Timei Timec < DO EVALUATE Timef := Timei Delt + ; IF Timei 0.0 = THEN BURNUP LIBRARY := EVO: LIBRARY FLUX VOLMATF :: DEPL <> <> DAY POWR <> ; ELSE BURNUP LIBRARY := EVO: BURNUP LIBRARY FLUX VOLMATF :: NOEX DEPL <> <> DAY POWR <> ; ENDIF ; LIBRARY := SHI: LIBRARY VOLMATS INTLINS :: EDIT 0 NOLJ ; PIJ := DELETE: PIJ ; PIJ := ASM: LIBRARY VOLMATF INTLINF ; FLUX := FLU: FLUX PIJ LIBRARY VOLMATF :: TYPE K ; EDITION := EDI: EDITION FLUX LIBRARY VOLMATF :: SAVE ON 'fuel' ; BURNUP LIBRARY := EVO: BURNUP LIBRARY FLUX VOLMATF :: SAVE <> DAY POWR <> ; DATABASE := COMPO: DATABASE EDITION BURNUP LIBRARY :: EDIT 3 STEP UP * SET <> DAY ; *---- * change delta t for burnup and final time if required *---- IF Timef Timec = THEN IF Timec 150.0 = THEN EVALUATE Delt Timec := 50.0 300.0 ; ENDIF ; IF Timec 50.0 = THEN EVALUATE Delt Timec := 20.0 150.0 ; ENDIF ; IF Timec 10.0 = THEN EVALUATE Delt Timec := 10.0 50.0 ; ENDIF ; IF Timec 5.0 = THEN EVALUATE Delt Timec := 5.0 10.0 ; ENDIF ; IF Timec 1.0 = THEN EVALUATE Delt Timec := 4.0 5.0 ; ENDIF ; ENDIF ; EVALUATE Timei := Timef ; ENDWHILE ; assertS FLUX :: 'K-INFINITY' 1 0.9611695 ; *---- * Export and access the database *---- database := DATABASE ; ISOT := DATABASE :: STEP UP fuel STEP UP MIXTURES STEP AT 1 STEP UP CALCULATIONS STEP AT 5 STEP UP ISOTOPESLIST STEP AT 1 ; assertS ISOT :: 'NWT0' 1 9.756323E0 ; assertS ISOT :: 'NWT0' 2 2.590470E1 ; ISOT := DELETE: ISOT ; ISOT := DATABASE :: STEP UP moderator STEP UP MIXTURES STEP AT 1 STEP UP CALCULATIONS STEP AT 1 STEP UP ISOTOPESLIST STEP AT 1 ; assertS ISOT :: 'NWT0' 1 9.329546E-2 ; assertS ISOT :: 'NWT0' 2 3.189208E-1 ; INTLINF INTLINS := DELETE: INTLINF INTLINS ; ECHO "test TCND05 completed" ; END: ; QUIT "LIST" .