*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 :: * <> * <> <> <> ; * 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 <> SAVE 0.0 DAY POWR <> ; ENDIF ; ELSE IF BibOpt 0 = THEN Burnup Biblio := EVO: Biblio Flux GeoF :: EDIT <> SAVE 0.0 DAY POWR <> ; 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 <> DEPL <> DAY POWR <> ; Biblio := SHI: Biblio GeoS IntLinS :: EDIT 0 ; PIJ := ASM: Biblio GeoF IntLinF ; Flux := FLU: Flux PIJ Biblio GeoF :: EDIT <> 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" .