blob: e308ee0557d89e9745b724ab19d4658134a0b8fe (
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
107
108
109
110
111
112
113
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: ;
|