summaryrefslogtreecommitdiff
path: root/Donjon/data/Fessenheim_proc/MarguetRefl.c2m
blob: 477e95276a50bf7520a99b51a51afb1b93d18296 (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
*****************************************************************
*                                                               *
* Procedure :  MarguetRefl.c2m                                  *
* Purpose   :  For a given boron concentration, obtain radial,  *
*              bottom and top reflector cross sections and      *
*              diffusion coefficients, as written in Serge      *
*              Marguet's book (see ref. below), with            *
*              D1 adjustement or without.                       *
* Author    :  V. Salino                                        *
* Date      :  09/2021                                          *
*                                                               *
* CALL      :                                                   *
*   MacroRefl := MarguetRefl :: <<CB>> <<TypeRefl>>             *
*                                                               *
*   TypeRefl can be either "MargCpyAdjus" or "MargCpy"          *
*                                                               *
* Source    : "La physique des réacteurs nucléaires",           *
*             S. Marguet, 2nd édition, p.864.                   *
*                                                               *
*****************************************************************
*----
*  Definition STRUCTURES, MODULES et PROCEDURES
*----
PARAMETER MacroRefl :: ::: LINKED_LIST MacroRefl ; ;
MODULE MAC: ABORT: END: ;

REAL CB ;
STRING TypeRefl ;
:: >>CB<< >>TypeRefl<< ;

REAL D1h D1b D2h D2b := 1.30 1.30 0.40 0.40 ;
REAL D1r ;
IF TypeRefl "MargCpyAdjus" = THEN
  EVALUATE D1r := 1.78 ;
ELSEIF TypeRefl "MargCpy" = THEN
  EVALUATE D1r := 1.30 ;
ELSE
  ECHO "Unknown reflector modelling" ;
  ABORT: ;
ENDIF ;
REAL D2r := 0.40 ;
REAL SigmaRalenth SigmaRalentb SigmaRalentr :=
     0.0218       0.0210       0.00474 ;

* Boron dependency
REAL densh densb densr := 0.667 0.754 0.714 ;
REAL Voliqh Voliqb Voliqr := 0.61796 0.66922 0.74273 ;

REAL SigmaBoAbs1h := 38.82 ;
REAL SigmaBoAbs1b :=  2.28 ;
REAL SigmaBoAbs1r := 15.11 ;

REAL SigmaBoAbs2h := 412.23 ;
REAL SigmaBoAbs2b := 344.97 ;
REAL SigmaBoAbs2r :=  63.30 ;

REAL b10 := 10.01294 ;
REAL b11 := 11.00928 ;
REAL B10f := .2 ;
REAL B11f := .8 ;
REAL MBNat := b10 B10f * b11 B11f * + ;

REAL avogadro := 6.022094E+23 ;
REAL avo_conc := avogadro 1.E-24 * ;
REAL BTot  := CB 1.0E-6 * avo_conc * MBNat / ;

REAL SigmaAbs1h := 0.0119 SigmaBoAbs1h BTot * densh * Voliqh * + ;
REAL SigmaAbs1b := 0.0157 SigmaBoAbs1b BTot * densb * Voliqb * + ;
REAL SigmaAbs1r := 0.0097 SigmaBoAbs1r BTot * densr * Voliqr * + ;

REAL SigmaAbs2h := 0.0176 SigmaBoAbs2h BTot * densh * Voliqh * + ;
REAL SigmaAbs2b := 0.0105 SigmaBoAbs2b BTot * densb * Voliqb * + ;
REAL SigmaAbs2r := 0.0831 SigmaBoAbs2r BTot * densr * Voliqr * + ;

* p.863
EVALUATE SigmaRalenth := SigmaRalenth SigmaAbs1h 0.0119 - - ;
EVALUATE SigmaRalentb := SigmaRalentb SigmaAbs1b 0.0157 - - ;
EVALUATE SigmaRalentr := SigmaRalentr SigmaAbs1r 0.0097 - - ;

REAL Total1h := SigmaAbs1h SigmaRalenth + ;
REAL Total2h := SigmaAbs2h ;
REAL Total1b := SigmaAbs1b SigmaRalentb + ;
REAL Total2b := SigmaAbs2b ;
REAL Total1r := SigmaAbs1r SigmaRalentr + ;
REAL Total2r := SigmaAbs2r ;

MacroRefl := MAC: ::
  EDIT 3 NGRO 2 NMIX 3 NIFI 0 ANIS 1 CTRA NONE NADF 1
  ENER 2.0E7 0.625 1.0E-3 VOLUME 1.0 1.0 1.0 READ INPUT
  MIX 1 ! Radial
    FLUX-INTG 1.0 1.0
    TOTAL <<Total1r>> <<Total2r>>
    DIFF  <<D1r>> <<D2r>>
    SCAT 2 2 (*2->1*) 0.0 (*1->1*) 0.0
         2 2 (*2->2*) 0.0 (*1->2*) <<SigmaRalentr>>
  MIX 2 ! Bottom
    FLUX-INTG 1.0 1.0
    TOTAL <<Total1b>> <<Total2b>>
    DIFF  <<D1b>> <<D2b>>
    SCAT 2 2 (*2->1*) 0.0 (*1->1*) 0.0
         2 2 (*2->2*) 0.0 (*1->2*) <<SigmaRalentb>>
  MIX 3 ! Top
    FLUX-INTG 1.0 1.0
    TOTAL <<Total1h>> <<Total2h>>
    DIFF  <<D1h>> <<D2h>>
    SCAT 2 2 (*2->1*) 0.0 (*1->1*) 0.0
         2 2 (*2->2*) 0.0 (*1->2*) <<SigmaRalenth>>
          ;

END: ;
QUIT "LIST" .