From 7dfcc480ba1e19bd3232349fc733caef94034292 Mon Sep 17 00:00:00 2001 From: stainer_t Date: Mon, 8 Sep 2025 13:48:49 +0200 Subject: Initial commit from Polytechnique Montreal --- Donjon/data/Test4x4coupl_nompi_proc/FlxCellG2.c2m | 137 ++++++++++++++++++++++ 1 file changed, 137 insertions(+) create mode 100755 Donjon/data/Test4x4coupl_nompi_proc/FlxCellG2.c2m (limited to 'Donjon/data/Test4x4coupl_nompi_proc/FlxCellG2.c2m') diff --git a/Donjon/data/Test4x4coupl_nompi_proc/FlxCellG2.c2m b/Donjon/data/Test4x4coupl_nompi_proc/FlxCellG2.c2m new file mode 100755 index 0000000..c469008 --- /dev/null +++ b/Donjon/data/Test4x4coupl_nompi_proc/FlxCellG2.c2m @@ -0,0 +1,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 :: +* <> +* <> <> <> ; +* 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" . -- cgit v1.2.3