summaryrefslogtreecommitdiff
path: root/Donjon/data/Candu3_Shuffling.x2m
blob: 17ea18eecddfd5472ae5ca665a370d8fb842c049 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
*-------------------------------------------------------*
*  Test-case - Calculs CANDU3 équilibre du rechargement *
*-------------------------------------------------------*
* Stratégie axiale de rechargement à 1 machine à comb.  *
* Auteurs : Ivan Trancart                               *
* Ecriture : 05-05-2025  (maj 21-08-2025)               *
* Durées d'éxecution : 1.5 seconds (CPO)                *
*-------------------------------------------------------*
*----------------------------- 
*  Console
*-----------------------------
STRING  LIBR := 'ipow' ;        ! either 'iaea' or 'L172b8r1' : XS library
STRING  SETC := "CPO" ;         ! could use "MPO" (useless here)
STRING  CASE := "M1" ;          ! diffusion parameters
STRING  AXST := "Upt4" ;        ! axial scheme (info at the end of p1_Candu3)
STRING  BCO  := "VOID" ;        ! radial boundary condition (VOID/REFL/ZERO)
INTEGER COMB := 0 ;             ! possibility for more fuel types
REAL    ADJ  := 1. ;            ! level of adjusters insertion
*----------------------------- 
*  Définition des structures et modules utilisés
*-----------------------------
LINKED_LIST GeoRef GeoCalc Trkcore MacFuel MacDev MacInf DevInf FmapI 
            CpoFuel CpoRefl CpoAbs CpoZcu CpoAdj CpoSor MacComp
            Fmap Flx Pwr System ; 
SEQ_ASCII   FileOut1 :: FILE 'UPT_ADJ.map' ;
MODULE      NCR: TAVG: NEWMAC: MACINI: FLUD: TRIVAA: FLPOW:
            DSET: GREP: UTL: END: DELETE: ;
PROCEDURE   p0_ImportDev p1_Candu3 p2_Device p3_BurnOut p4_Equilib p9_Data  ;
ECHO "*** Début de Core.x2m ***" ;
*----------------------------- 
*  Paramètres de calcul
*-----------------------------
ECHO "*** PARAMETRES ***" ;
ECHO "*** XSLIBRARY = " LIBR ;
ECHO "*** COMB      = " COMB ;
ECHO "*** STRAT. AX = " AXST ;
ECHO "*** DIFFUSION = " CASE ;
ECHO "******************" ;
*----------------------------- 
*  Création de la géométrie et de la bibliothèque correspondante
*-----------------------------
*** Géométrie
Trkcore GeoRef GeoCalc FmapI := p1_Candu3 :: <<BCO>> <<CASE>> <<AXST>> ;
*--
* Spécifications des mécanismes 
*--
STRING DEV := "Lay1" ; 
REAL fmca fsor fadj ;
DevInf GeoCalc := p2_Device GeoCalc :: <<DEV>> >>fadj<< >>fmca<< >>fsor<<  ;

SEQ_ASCII CpoF :: FILE './0F-fuel-mac.cpo' ;
SEQ_ASCII CpoR :: FILE './0R-refl.cpo' ;
SEQ_ASCII CpoA :: FILE './0A-dev-NO.cpo' ;
SEQ_ASCII CpoB :: FILE './0B-dev-ZCU.cpo' ;
SEQ_ASCII CpoC :: FILE './0C-dev-ADJ.cpo' ;
SEQ_ASCII CpoD :: FILE './0D-dev-SOR.cpo' ;

CpoFuel := CpoF ;
CpoRefl := CpoR ;
CpoAbs  := CpoA ;
CpoZcu  := CpoB ;
CpoAdj  := CpoC ;
CpoSor  := CpoD ;
*** Importation des mélanges Refl et Dev
MacDev := p0_ImportDev CpoRefl CpoAbs CpoZcu CpoAdj CpoSor :: 
    <<SETC>> <<DEV>> ;
*** Ajustement des mécanismes, au plaisir :
DevInf := DSET: DevInf :: EDIT 1
    ROD-GROUP 1  LEVEL <<ADJ>> END ;   ! ADJ  
*----------------------------- 
*  Calculs Time-averaged - 1 burnup
*-----------------------------
REAL B1 R2 R3 := 8000. 1. 1. ;
*** Données de convergence
REAL Keff Eps Bexit := 1. 1. 8000. ;
REAL epsKEFF eMIN epsFlx Ptot e PC PG ;
REAL BREF BEND RMAX RI DR LIMC 
     LIMG eA P E B ;
p9_Data :: "EQUILIB" >>epsKEFF<< >>eMIN<< >>epsFlx<< >>Ptot<< ;
p9_Data :: "TAVG" >>BREF<< >>LIMC<< >>LIMG<< ;
*** 
Fmap Flx GeoCalc := p4_Equilib FmapI GeoCalc Trkcore 
    DevInf MacDev CpoFuel :: 
           <<SETC>> <<B1>> <<R2>> <<R3>> >>PC<< >>PG<< >>B1<< >>eA<< ;
***
GREP: Fmap :: GETVAL B-EXIT 1 >>BEND<< ;
ECHO "****** BURNUP AND POWER ******" ;
ECHO "epsAXC = " eA ;     
ECHO "strAXC = " AXST ;
ECHO " B1 = " B1 ;
ECHO " MAX. CHANNEL P. = " PC ;
ECHO " MAX. BUNDLE  P. = " PG ;
ECHO " Be = " BEND ;
ECHO "***************************************" ;
*** edit resulting fluxes and powers:
Pwr := FLPOW: Fmap Flx Trkcore GeoCalc :: EDIT 1 PTOT <<Ptot>> ;
FileOut1 := Fmap ;
***
Pwr Fmap := DELETE: Pwr Fmap ;
FmapI GeoCalc Trkcore DevInf GeoRef := DELETE:
FmapI GeoCalc Trkcore DevInf GeoRef ;
***
ECHO "test Candu3_Shuffling.x2m completed" ;
END: ;
QUIT "LIST" .
***