*DECK MainDraG2.c2m *---- * Nom : MainDraG2.c2m * Type : Procedure de calcul * Usage : Evolution d'une cellule de cellule CANDU-6 avec historique * Auteur : G. Marleau -- 2003/03/24 * Modifie : R. Chambon -- 2003/05/21 * G. Marleau -- 2003/06/30 * * Description de la procedure: * History MACRES := MainDraG2 History MACRES RESEAU * GeoS GeoF IntLinS IntLinF :: * <> <> <> <> * <> << NivImp >> <> <> ; * Structures de donnees: * History : historique du calcul de cellule (L_HISTORY). * MACRES : bibilotheque macroscopique pour le reseau * de calcul (L_MACROLIB). * RESEAU : reseau de calcul pour le rechargement * (L_MAP). * GeoS : volumes, surfaces et parametres d'integration * pour l'autoprotection des resonances (L_TRACK). * GeoF : volumes, surfaces et parametres d'integration * pour le calcul de flux (L_TRACK). * IntLinS : lignes d'integration pour l'autoprotection * des resonances * IntLinF : lignes d'integration pour le calcul des flux * Parametres de controle: * ncha : nombre de cannaux de combustible * nbun : nombre de grappes de combustible par cannal * ibgncha : numero de cannal de depart pour le calcul courant * iendcha : numero de cannal de fin pour le calcul courant * RefLib : Type de bibliotheque * "Winfrith" -> Bibliotheque Winfrith WIMS-AECL * "ENDFB5" -> Bibliotheque ENDF/B-V WIMS-AECL * (defaut) * "ENDFB6" -> Bibliotheque ENDF/B-VI WIMS-AECL * "IGE227W" -> Bibliotheque Winfrith WIMS-AECL * isotopes de IGE227 * "IGE227E5" -> Bibliotheque ENDF/B-V WIMS-AECL * isotopes de IGE227 * NivImp : Niveau d'impression * ppm : Bore dans moderateur en ppm * purmod : Purete D2O moderateur (%) * Procedure requise: * BibCellG2 : Mise a jour de la bibliotheque de section * efficace pour le calcul de cellule * FlxCellG2 : Calcul de flux et evolution pour une cellule * Modules DRAGON/DONJON requis: * HST: : controle l'historique. * EDI: : Gestion des sorties de DRAGON. * CPO: : Gestion des base de donnees CPO de DRAGON/DONJON * CRE: : Creation des macrolib pour DONJON. *---- * Procedures et Modules *---- PARAMETER History MACRES RESEAU GeoS GeoF IntLinS IntLinF :: EDIT 1 ::: XSM_FILE History ; ::: LINKED_LIST MACRES RESEAU GeoS GeoF ; ::: SEQ_BINARY IntLinS IntLinF ; ; INTEGER ncha nbun ibgncha iendcha NivImp ; STRING RefLib ; REAL ppm purmod ; *---- * Reccuperer information transferee a la procedure *---- :: >>ncha<< >>nbun<< >>ibgncha<< >>iendcha<< >>RefLib<< >>NivImp<< >>ppm<< >>purmod<< ; PROCEDURE BibCellG2 FlxCellG2 ; MODULE HST: EDI: CPO: CRE: DELETE: END: ; MODULE ABORT: ; *---- * Definir les parametres globaux *---- REAL TMod PMod DMod BMod := 345.66 purmod 0.0 ppm ; *---- * Definir les parametres locaux * *A is after refueling * *B is before refueling *---- REAL TCombA ECombA DCombA TCaloA PCaloA DCaloA ; REAL TCombB ECombB DCombB TCaloB PCaloB DCaloB ; INTEGER BibOpt ; *---- * Definir les options locales pour les calculs de cellule * *A is after refueling * *B is before refueling *---- REAL PowerA DeltaTA PowerB DeltaTB ; *---- * Structures de donnees locales *---- LINKED_LIST Biblio Flux Burnup Edition Cpo ; *---- * Parametres de reacteur * nglo = nunber of global parameters = 4 * nloc = nunber of local parameters = 6 * bunl = bundle length in cm = 49.53 cm *---- EVALUATE BibOpt := 1 ; INTEGER nglo nloc := 4 6 ; REAL PkW DTCombA DTCombB ; REAL bunl := 49.53 ; REAL mbun := 400.559 bunl * 1000. / ; INTEGER icha ibun ; INTEGER istep ; * History := HST: History RESEAU :: EDIT 2 ; * EVALUATE icha := ibgncha ; WHILE icha iendcha <= DO EVALUATE istep := icha ; EVALUATE ibun := 1 ; WHILE ibun nbun <= DO *---- * recover in Reseau power and burnup for each bundle * and save them on History after execution *---- ECHO "Channel bundle =" icha ibun istep ; * Burnup := HST: History :: EDIT 2 PUT TMod >>TMod<< PMod >>PMod<< DMod >>DMod<< BMod >>BMod<< CELLID <> <> PUT BREFL BURN >>DeltaTB<< >>PowerB<< TComb >>TCombB<< TCalo >>TCaloB<< EComb >>ECombB<< PCalo >>PCaloB<< DComb >>DCombB<< DCalo >>DCaloB<< AREFL BURN >>DeltaTA<< >>PowerA<< TComb >>TCombA<< TCalo >>TCaloA<< EComb >>ECombA<< PCalo >>PCaloA<< DComb >>DCombA<< DCalo >>DCaloA<< ; * * * COMPUTE FUEL TEMPERATURE AS A FUNCTION OF POWER * IF RefLib "IGE227W" = THEN EVALUATE TCombB := 941.29 ; EVALUATE TCombA := 941.29 ; ELSEIF RefLib "IGE227E5" = THEN EVALUATE TCombB := 941.29 ; EVALUATE TCombA := 941.29 ; ELSE *---- * Temperature du combustible en fonction de la puissance P * et de la temperature du caloporteur * T_{fuel}=T_{Cool}+ 0.476 P + 0.0002267 P^{2} * Reference: D. Rozon, Introduction a la cinetique des reacteurs * nucleaires. p. 217 *---- EVALUATE PkW := PowerB mbun * ; EVALUATE DTCombB := 2.267E-4 PkW * PkW * 0.476 PkW * + ; EVALUATE TCombB := TCaloB DTCombB + ; EVALUATE PkW := PowerA mbun * ; EVALUATE DTCombA := 2.267E-4 PkW * PkW * 0.476 PkW * + ; EVALUATE TCombA := TCaloA DTCombA + ; ENDIF ; ECHO "Before DeltaT=" DeltaTB ; ECHO "Before Power =" PowerB ; ECHO "Before TComb =" TCombB ; ECHO "Before EComb =" ECombB ; ECHO "Before DComb =" DCombB ; ECHO "Before TCalo =" TCaloB ; ECHO "Before PCalo =" PCaloB ; ECHO "Before DCalo =" DCaloB ; ECHO "After DeltaT=" DeltaTA ; ECHO "After Power =" PowerA ; ECHO "After TComb =" TCombA ; ECHO "After EComb =" ECombA ; ECHO "After DComb =" DCombA ; ECHO "After TCalo =" TCaloA ; ECHO "After PCalo =" PCaloA ; ECHO "After DCalo =" DCaloA ; *---- * Burn before refueling *---- IF DeltaTB 0.0 > THEN Biblio := BibCellG2 Burnup :: <> <> <> <> <> <> <> <> <> <> <> <> <> ; Flux Burnup Biblio := FlxCellG2 Biblio Burnup GeoS GeoF IntLinS IntLinF :: <> <> <> <> ; Flux Biblio := DELETE: Flux Biblio ; ENDIF ; *---- * Burn after refueling *---- Biblio := BibCellG2 Burnup :: <> <> <> <> <> <> <> <> <> <> <> <> <> ; Flux Burnup Biblio := FlxCellG2 Biblio Burnup GeoS GeoF IntLinS IntLinF :: <> <> <> <> ; History := HST: History Burnup :: EDIT 2 CELLID <> <> ; *---- * Update DONJON MAC *---- Edition := EDI: Flux Biblio GeoF :: EDIT <> MERGE COMP * COND 0.625 COND 4.0 SAVE ON 'END-CASE' ; Cpo := CPO: Edition :: STEP 'END-CASE' NAME BUNDLE ; ECHO "NUMERO_DE_MIX = " istep ; IF istep ibgncha = THEN MACRES := CRE: Cpo :: EDIT 1 NMIX 64 READ COMPO Cpo MIX <> 'BUNDLE 1' ENDMIX ; ELSE MACRES := CRE: MACRES Cpo :: READ COMPO Cpo MIX <> 'BUNDLE 1' ENDMIX ; ENDIF ; Burnup Flux Biblio Cpo Edition := DELETE: Burnup Flux Biblio Cpo Edition ; EVALUATE istep := istep ncha + ; EVALUATE ibun := ibun 1 + ; ENDWHILE ; EVALUATE icha := icha 1 + ; ENDWHILE ; END: ; QUIT "LIST" .