summaryrefslogtreecommitdiff
path: root/Donjon/data/Test4x4coupl_nompi_proc/FlxCellG2.c2m
blob: c4690089b19ee6e54a62d1eab47d9c8ab4ed81cb (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
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
*DECK FlxCellG2.c2m
*----
*  Nom           : FlxCellG2.c2m
*  Type          : procedure DRAGON
*  Usage         : Calcul de flux et evolution pour une cellule
*  Auteur        : G. Marleau
*  Date          : 2002/12/03
*  
*  Description de la procedure : 
*
*  Flux Burnup Biblio := FlxCellG2 [Flux Burnup] Biblio GeoS GeoF  
*                                  IntLinS IntLinF            ::
*   <<BibOpt>> 
*   <<Power>> <<DeltaT>> <<Impression>>                       ; 
*  Flux          : structure contenant les flux de cellule 
*  Burnup        : structure contenant les concentrations
*                  isotopiques en fonction du temps.
*  Biblio        : structure contenant la bibliotheque
*                  de section efficace originale
*  GeoS          : Structure contenant le tracking de la
*                  geometrie pour auto protection
*  GeoF          : Structure contenant le tracking de la
*                  geometrie pour calcul de flux
*  IntLinS       : Fichier contenant contenant les lignes
*                  d'integration pour auto protection
*  IntLinF       : Fichier contenant contenant les lignes
*                  d'integration pour calcul de flux
*  BibOpt        : Options de calcul
*                  BibOpt =  0 -> Initialiser le Burnup
*                                 aux conditions initiales sans
*                                 mise a jour en fonction du
*                                 temps d'evolution.
*                  BibOpt =  1 -> Initialiser la blbliotheque
*                                 aux conditions initiales et 
*                                 mettre a jour 
*                                 utilisant l'information dans 
*                                 ConcEvol.
*  power         : Puissance d'evolution en kW/kg
*  Timei         : Intervalle d'evolution en jours
*  Impression    : Niveau d'impression
*                  0         -> Minimum 
*                  1         -> Standard 
*                 >1         -> Pour verification 
*----
*  Parametres de la procedure
*----
PARAMETER           Flux Burnup Biblio GeoS    GeoF 
                    IntLinS IntLinF                     ::
  EDIT 1
    ::: LINKED_LIST Flux Burnup Biblio GeoS    GeoF  ;
    ::: SEQ_BINARY  IntLinS IntLinF                  ;  ;
INTEGER   BibOpt                                        ;
REAL      Power   DeltaT                                ;
INTEGER   Impression                                    ;
:: >>BibOpt<<
   >>Power<< >>DeltaT<< >>Impression<<                  ;
*----------
*  Definir les options locales 
*----------     
MODULE       SHI: ASM: FLU: EVO: DELETE:                ;
XSM_FILE     PIJ                                        ;
REAL         LTi   LTf   LDT                            ;
INTEGER      IREFUEL                                    ;
REAL         Delt Curt Finalt                           ;
*----
*  Analyser les options de calcul
*  DeltaT = 0    Calcul de flux initial         
*                avec creation Burnup           
*  DeltaT > 0    Calcul de flux initial, 
*                evolution, calcul du flux final
*----
*----
*  Calcul de flux initial
*----
Biblio := SHI: Biblio GeoS IntLinS  :: EDIT 0           ;
PIJ    := ASM: Biblio GeoF IntLinF                      ;
Flux   := FLU: PIJ Biblio GeoF      :: TYPE B B0 PNL    ;
PIJ    := DELETE: PIJ                                   ;
*----
*  Sauver information sur Burnup si necessaire 
*----
IF DeltaT 0.0 = THEN
  IF BibOpt  0 =  THEN 
    Burnup Biblio := EVO:  Biblio Flux GeoF             ::
    EDIT <<Impression>>
    SAVE 0.0 DAY  POWR <<Power>>                        ;
  ENDIF ;
ELSE
  IF BibOpt  0 =  THEN 
    Burnup Biblio := EVO:  Biblio Flux GeoF             ::
    EDIT <<Impression>>
    SAVE 0.0 DAY  POWR <<Power>>                        ;
  ENDIF ;
  EVALUATE     LTi  LTf  := 0.0 DeltaT                  ;
  EVALUATE     Delt Curt := 5.0 LTi                     ;
  IF Curt 1000.0 >=  THEN
    EVALUATE Delt  := 200.0                             ;
  ELSEIF Curt  200.0 >=  THEN
    EVALUATE Delt  :=  50.0                             ;
  ELSEIF Curt   80.0 >= THEN
    EVALUATE Delt  :=  20.0                             ;
  ELSEIF Curt   30.0 >= THEN
    EVALUATE Delt  :=  10.0                             ;
  ENDIF ; 
*----------
*  Boucle d'evolution
*----------
  WHILE Curt LTf  < DO
    EVALUATE     Finalt := Curt Delt +                  ;
    IF Finalt LTf > THEN
      EVALUATE Delt := LTf Curt -                       ; 
    ENDIF ;
    ECHO "Deplete with Delt=" Delt "Day and power=" Power ;
    Burnup Biblio := EVO: Burnup Biblio Flux GeoF       ::
      EDIT <<Impression>>
      DEPL <<Delt>>  DAY POWR <<Power>>                 ;
    Biblio := SHI: Biblio GeoS IntLinS :: EDIT 0        ;
    PIJ   := ASM: Biblio GeoF IntLinF                   ;
    Flux  := FLU: Flux PIJ Biblio GeoF :: 
      EDIT <<Impression>> TYPE B B0 PNL                 ;
    PIJ   := DELETE: PIJ                                ; 
*----------
*  Changer intervalle d'evolution a temps precis
*----------
    EVALUATE Curt := Curt Delt +                          ;
    IF Curt 1000.0 >= THEN
      EVALUATE Delt  := 200.0                             ;
    ELSEIF Curt  200.0 >= THEN
      EVALUATE Delt  :=  50.0                             ;
    ELSEIF Curt   80.0 >= THEN
      EVALUATE Delt  :=  20.0                             ;
    ELSEIF Curt   30.0 >= THEN
      EVALUATE Delt  :=  10.0                             ;
    ENDIF ; 
  ENDWHILE ; 
ENDIF ;
QUIT "LIST"                                             .