summaryrefslogtreecommitdiff
path: root/Dragon/data/rep900_het_gff_proc
diff options
context:
space:
mode:
Diffstat (limited to 'Dragon/data/rep900_het_gff_proc')
-rw-r--r--Dragon/data/rep900_het_gff_proc/AddCompo.c2m158
-rw-r--r--Dragon/data/rep900_het_gff_proc/BranchFluxH.c2m167
-rw-r--r--Dragon/data/rep900_het_gff_proc/CalcFluxH.c2m179
-rw-r--r--Dragon/data/rep900_het_gff_proc/CondHet_2gr.c2m763
-rw-r--r--Dragon/data/rep900_het_gff_proc/GeoHom.c2m277
-rw-r--r--Dragon/data/rep900_het_gff_proc/Geo_N2_32H.c2m805
-rw-r--r--Dragon/data/rep900_het_gff_proc/IniCompo.c2m294
-rw-r--r--Dragon/data/rep900_het_gff_proc/MultLIBEQ32H.c2m348
8 files changed, 2991 insertions, 0 deletions
diff --git a/Dragon/data/rep900_het_gff_proc/AddCompo.c2m b/Dragon/data/rep900_het_gff_proc/AddCompo.c2m
new file mode 100644
index 0000000..40065d2
--- /dev/null
+++ b/Dragon/data/rep900_het_gff_proc/AddCompo.c2m
@@ -0,0 +1,158 @@
+*----
+* Name : AddCompo.c2m
+* Type : DRAGON procedure
+* Use : Initialize multicompo object
+* Author : R. Chambon
+*
+* Procedure called as:
+*
+* LIBRARY2 := Autop1 LIBRARY TRACKSS :: <<Fuel>> <<NbRegions>> ;
+*
+* Input data :
+* LIBRARY : Library with SUBG key word
+* TRACKSS : Tracking of the SS geometry
+* Fuel : Type of fuel (UOX/MOX)
+* NbRegions : Number of regions for the calculation (20/32)
+* Output data :
+* LIBRARY2 : Self shielded Library
+ECHO "AddCompo.x2m" ;
+
+PARAMETER COMPO FLUX2 LIBEQ TRACKN2
+ GEON2 ALLGEO BURN164 LIBRARY ::
+ EDIT 1
+ ::: LINKED_LIST
+ COMPO FLUX2 LIBEQ TRACKN2
+ GEON2 ALLGEO BURN164 LIBRARY
+ ;
+ ;
+
+LINKED_LIST EDIOBJ EDIOB2 ;
+
+MODULE COMPO: END: DELETE: ;
+
+PROCEDURE CondHet_2gr ;
+
+STRING Library SelOpt TypeCompo Gff ;
+REAL pbore dmod Tend ;
+
+ :: >>Library<< >>SelOpt<< >>TypeCompo<< >>Gff<<
+ >>pbore<< >>dmod<< >>Tend<< ;
+
+REAL rodl := 0.0 ;
+
+STRING NameDirAss NameDirPin NameDirHt1 NameDirHt2 :=
+ 'Ass' 'Pin' 'Het1' 'Het2' ;
+
+*
+*Pin by Pin
+*
+IF TypeCompo "PinByPin" = TypeCompo "All" = + TypeCompo "Both" = +
+ Gff "Yes" = + THEN
+ EDIOBJ := CondHet_2gr FLUX2 LIBEQ TRACKN2 GEON2 ALLGEO
+ :: <<Library>> <<SelOpt>> 'PinByPin' ;
+ IF TypeCompo "PinByPin" = TypeCompo "All" = +
+ TypeCompo "Both" = + THEN
+ COMPO := COMPO: COMPO EDIOBJ BURN164 LIBRARY ::
+ EDIT 2
+ STEP UP <<NameDirPin>>
+ 'ppmBore' <<pbore>>
+ 'DCA' <<dmod>>
+ 'BARR' <<rodl>>
+ MACRO
+ SET <<Tend>> DAY
+ ;
+ ENDIF ;
+ IF Gff "Yes" = THEN
+ EDIOB2 := EDIOBJ ;
+ ENDIF ;
+ EDIOBJ := DELETE: EDIOBJ ;
+ENDIF ;
+
+IF TypeCompo "Assembly" = TypeCompo "All" = + TypeCompo "Both" = + THEN
+ EDIOBJ := CondHet_2gr FLUX2 LIBEQ TRACKN2 GEON2 ALLGEO
+ :: <<Library>> <<SelOpt>> 'Assembly' ;
+ IF Gff "No" = THEN
+ COMPO := COMPO: COMPO EDIOBJ BURN164 LIBRARY ::
+ EDIT 2
+ STEP UP <<NameDirAss>>
+ 'ppmBore' <<pbore>>
+ 'DCA' <<dmod>>
+ 'BARR' <<rodl>>
+ MACRO
+ SET <<Tend>> DAY
+ ;
+ ELSEIF Gff "Yes" = THEN
+ COMPO := COMPO: COMPO EDIOBJ EDIOB2 BURN164 LIBRARY ::
+ EDIT 2
+ STEP UP <<NameDirAss>>
+ 'ppmBore' <<pbore>>
+ 'DCA' <<dmod>>
+ 'BARR' <<rodl>>
+ MACRO
+ SET <<Tend>> DAY
+ ;
+ ENDIF ;
+ EDIOBJ := DELETE: EDIOBJ ;
+ENDIF ;
+
+IF TypeCompo "Heter1" = TypeCompo "All" = + THEN
+ EDIOBJ := CondHet_2gr FLUX2 LIBEQ TRACKN2 GEON2 ALLGEO
+ :: <<Library>> <<SelOpt>> 'Heter1' ;
+ IF Gff "No" = THEN
+ COMPO := COMPO: COMPO EDIOBJ BURN164 LIBRARY ::
+ EDIT 2
+ STEP UP <<NameDirHt1>>
+ 'ppmBore' <<pbore>>
+ 'DCA' <<dmod>>
+ 'BARR' <<rodl>>
+ MACRO
+ SET <<Tend>> DAY
+ ;
+ ELSEIF Gff "Yes" = THEN
+ COMPO := COMPO: COMPO EDIOBJ EDIOB2 BURN164 LIBRARY ::
+ EDIT 2
+ STEP UP <<NameDirHt1>>
+ 'ppmBore' <<pbore>>
+ 'DCA' <<dmod>>
+ 'BARR' <<rodl>>
+ MACRO
+ SET <<Tend>> DAY
+ ;
+ ENDIF ;
+ EDIOBJ := DELETE: EDIOBJ ;
+ENDIF ;
+
+!IF TypeCompo "Heter2" = TypeCompo "All" = + THEN
+! EDIOBJ := CondHet_2gr FLUX2 LIBEQ TRACKN2 GEON2 ALLGEO
+! :: <<Library>> <<SelOpt>> 'Heter2' ;
+! IF Gff "No" = THEN
+! COMPO := COMPO: COMPO EDIOBJ BURN164 LIBRARY ::
+! EDIT 2
+! STEP UP <<NameDirHt2>>
+! 'ppmBore' <<pbore>>
+! 'DCA' <<dmod>>
+! 'BARR' <<rodl>>
+! MACRO
+! SET <<Tend>> DAY
+! ;
+! ELSEIF Gff "Yes" = THEN
+! COMPO := COMPO: COMPO EDIOBJ EDIOB2 BURN164 LIBRARY ::
+! EDIT 2
+! STEP UP <<NameDirHt2>>
+! 'ppmBore' <<pbore>>
+! 'DCA' <<dmod>>
+! 'BARR' <<rodl>>
+! MACRO
+! SET <<Tend>> DAY
+! ;
+! ENDIF ;
+! EDIOBJ := DELETE: EDIOBJ ;
+!ENDIF ;
+
+IF Gff "Yes" = THEN
+ EDIOB2 := DELETE: EDIOB2 ;
+ENDIF ;
+
+
+END: ;
+QUIT .
diff --git a/Dragon/data/rep900_het_gff_proc/BranchFluxH.c2m b/Dragon/data/rep900_het_gff_proc/BranchFluxH.c2m
new file mode 100644
index 0000000..7c6e4be
--- /dev/null
+++ b/Dragon/data/rep900_het_gff_proc/BranchFluxH.c2m
@@ -0,0 +1,167 @@
+*DECK BranchFlux
+*----
+* Name : BranchFlux.c2m
+* Type : DRAGON procedure
+* Use : Two-level branch flux calculation using the extended
+* Le Tellier scheme.
+* Author : A. Hebert, based on a procedure from R. Vallerent
+*
+* Procedure called as:
+*
+* LIBRARY2 FLUX1 FLUX2 LIBEQ := BranchFlux LIBRARY2 FLUX1 FLUX2
+* BURN164 LIBRARY TRACKSS TRACKN1 TRACKN2 TRKFILN2 :: (data) ;
+*
+* Input data :
+* LIBRARY : Microlib with subgroups
+* LIBRARY2 : Self-shielded microlib
+* TRACKSS : Tracking of the self-shielding geometry
+* TRACKN1 : Tracking of the level 1 geometry
+* TRACKN2 : Tracking of the level 2 geometry
+* TRKFILN2 : Sequential tracking file of the level 2 geometry
+* FLUX1 : Multigroup flux of the first level
+* FLUX2 : Multigroup flux of the second level
+* BURN164 : Burnup object of level 2
+* Output data :
+* LIBRARY2 : Self-shielded microlib
+* FLUX1 : Multigroup flux of the first level
+* FLUX2 : Multigroup flux of the second level
+* LIBEQ : 26-group microlib
+* Parameters :
+* istep : Burnup step index corresponding to the calculation
+* Fuel : Type of fuel ("MOX" or "UOX")
+* NbRegions : Number of regions (32 for MOX, 20 or 32 for UOX)
+* BUend : Burnup corresponding to the calculation
+* BUnextSS : Burnup corresponding to the next self-shielding
+* calculation
+* Fuelpwr : Fuel power in MW/tonne
+
+PARAMETER LIBRARY2 FLUX1 FLUX2 LIBEQ BURN164 LIBRARY TRACKSS
+ TRACKN1 TRACKN2 TRKFILN2 ::
+ EDIT 1
+ ::: LINKED_LIST LIBRARY2 FLUX1 FLUX2 BURN164 LIBEQ
+ LIBRARY TRACKSS TRACKN1 TRACKN2 ;
+ ::: SEQ_BINARY TRKFILN2 ;
+ ;
+* ;
+*----
+* Modules used in this procedure
+*----
+MODULE LIB: ASM: FLU: EDI: EVO: GREP: ABORT: DELETE: END: ;
+PROCEDURE Autop1 Autop2 ConcLIBEQ MultLIBEQ_20 MultLIBEQ32H ;
+LINKED_LIST EDITION SYS ;
+REAL B2 Kinf1 Kinf2 Keff2 Tend ;
+
+STRING Fuel ;
+INTEGER istep NbRegions ;
+REAL BUend BUnextSS Fuelpwr ;
+ :: >>istep<< >>Fuel<< >>NbRegions<< >>BUend<< >>BUnextSS<<
+ >>Fuelpwr<< ;
+
+ EVALUATE Tend := BUend Fuelpwr / ;
+ ECHO "-----------------------------------------------------------" ;
+ ECHO "Two-level flux calculation at step=" istep ;
+
+*----
+* Resonance self-shielding
+*----
+ ECHO "BURNUP_sortie = " BUend "Next SS = " BUnextSS ;
+ IF BUend BUnextSS - ABS 1E-5 < THEN
+ ECHO "Perform a self-shielding calculation" ;
+ ECHO "-----------------------------------------------------------" ;
+ IF istep 1 = THEN
+ LIBRARY2 := Autop1 LIBRARY TRACKSS :: <<Fuel>> <<NbRegions>> ;
+ ELSE
+ LIBRARY2 := Autop2 LIBRARY2 LIBRARY TRACKSS
+ :: <<Fuel>> <<NbRegions>> ;
+ ENDIF ;
+ ELSE
+ ECHO "No self-shielding calculation" ;
+ ECHO "-----------------------------------------------------------" ;
+ ENDIF ;
+
+************************************************************************
+* BEGIN FLUX CALCULATION *
+************************************************************************
+ SYS := ASM: LIBRARY2 TRACKN1 ::
+ EDIT 0 ARM ;
+
+ IF istep 1 = THEN
+ FLUX1 := FLU: SYS LIBRARY2 TRACKN1
+ :: EDIT 0 TYPE B B1 SIGS ;
+ ELSE
+ FLUX1 := FLU: FLUX1 SYS LIBRARY2 TRACKN1
+ :: EDIT 0 TYPE B B1 SIGS ;
+ ENDIF ;
+
+ GREP: FLUX1 :: GETVAL 'B2 B1HOM ' 1 1 1 >>B2<< ;
+ ECHO "B2-1 = " B2 " at BU = " BUend ;
+
+ GREP: FLUX1 :: GETVAL 'K-INFINITY ' 1 1 1 >>Kinf1<< ;
+ ECHO "K-inf1_sortie is " Kinf1 " at BU = " BUend ;
+
+*----
+* 26 groups energy condensation
+*----
+
+ EDITION := EDI: FLUX1 LIBRARY2 TRACKN1 ::
+ EDIT 0
+ MICR ALL
+ MERG MIX
+ COND 10 14 18 26 33 40 49 56 65 74 86 196 227
+ 230 233 238 241 244 247 254 259 263 267 272 277
+ SAVE ON COND26
+ ;
+
+ LIBEQ := EDITION ::
+ STEP UP COND26
+ ;
+
+ SYS := DELETE: SYS ;
+
+*----
+* Second level flux calculation (MOC)
+*----
+ IF NbRegions 20 = THEN
+ LIBEQ := MultLIBEQ_20 LIBEQ ;
+ ELSEIF NbRegions 32 = THEN
+ LIBEQ := MultLIBEQ32H LIBEQ ;
+ ENDIF ;
+
+*----
+* Recover number densities for the current burnup step
+*----
+ LIBEQ := ConcLIBEQ LIBEQ BURN164 :: <<istep>> ;
+
+ LIBEQ := LIB: LIBEQ :: EDIT 0 MACR MIXS ;
+
+ SYS := ASM: LIBEQ TRACKN2 TRKFILN2 ::
+ EDIT 0 ARM ;
+
+ IF istep 1 = THEN
+ FLUX2 := FLU: SYS LIBEQ TRACKN2 TRKFILN2 ::
+ EDIT 0
+ TYPE K B1 PNL BUCK <<B2>>
+ THER 5 5E-5 EXTE 30 1E-5 UNKT 1E-4 ;
+ ELSE
+ FLUX2 := FLU: FLUX2 SYS LIBEQ TRACKN2 TRKFILN2 ::
+ EDIT 0
+ TYPE K B1 PNL BUCK <<B2>>
+ THER 5 5E-5 EXTE 30 1E-5 UNKT 1E-4 ;
+ ENDIF ;
+
+ GREP: FLUX2 :: GETVAL 'K-INFINITY ' 1 1 1 >>Kinf2<< ;
+ ECHO "K-inf2_sortie is " Kinf2 " at BU = " BUend ;
+
+ GREP: FLUX2 :: GETVAL 'K-EFFECTIVE ' 1 1 1 >>Keff2<< ;
+ ECHO "K-eff2_sortie is " Keff2 " at BU = " BUend ;
+
+ GREP: FLUX2 :: GETVAL 'B2 B1HOM ' 1 1 1 >>B2<< ;
+ ECHO "B2-2 = " B2 " at BU = " BUend ;
+
+ SYS EDITION := DELETE: SYS EDITION ;
+************************************************************************
+* END FLUX CALCULATION *
+************************************************************************
+
+END: ;
+QUIT .
diff --git a/Dragon/data/rep900_het_gff_proc/CalcFluxH.c2m b/Dragon/data/rep900_het_gff_proc/CalcFluxH.c2m
new file mode 100644
index 0000000..d520170
--- /dev/null
+++ b/Dragon/data/rep900_het_gff_proc/CalcFluxH.c2m
@@ -0,0 +1,179 @@
+*DECK CalcFlux
+*----
+* Name : CalcFlux.c2m
+* Type : DRAGON procedure
+* Use : Two-level flux calculation using the extended
+* Le Tellier scheme.
+* Author : A. Hebert, based on a procedure from R. Vallerent
+*
+* Procedure called as:
+*
+* LIBRARY2 FLUX1 FLUX2 BURN164 LIBEQ := CalcFlux LIBRARY2 FLUX1
+* FLUX2 BURN164 LIBEQ LIBRARY TRACKSS TRACKN1 TRACKN2 TRKFILN2
+* :: (data) ;
+*
+* Input data :
+* LIBRARY : Microlib with subgroups
+* LIBRARY2 : Self-shielded microlib
+* TRACKSS : Tracking of the self-shielding geometry
+* TRACKN1 : Tracking of the level 1 geometry
+* TRACKN2 : Tracking of the level 2 geometry
+* TRKFILN2 : Sequential tracking file of the level 2 geometry
+* FLUX1 : Multigroup flux of the first level
+* FLUX2 : Multigroup flux of the second level
+* BURN164 : Burnup object of level 2
+* Output data :
+* LIBRARY2 : Self-shielded microlib
+* FLUX1 : Multigroup flux of the first level
+* FLUX2 : Multigroup flux of the second level
+* BURN164 : Burnup object of level 2
+* LIBEQ : 26-group microlib
+* Parameters :
+* istep : Burnup step index corresponding to the calculation
+* Fuel : Type of fuel ("MOX" or "UOX")
+* NbRegions : Number of regions (32 for MOX, 20 or 32 for UOX)
+* BUend : Burnup corresponding to the calculation
+* BUnextSS : Burnup corresponding to the next self-shielding
+* calculation
+* Fuelpwr : Fuel power in MW/tonne
+
+PARAMETER LIBRARY2 FLUX1 FLUX2 BURN164 LIBEQ LIBRARY TRACKSS TRACKN1
+ TRACKN2 TRKFILN2 ::
+ EDIT 1
+ ::: LINKED_LIST LIBRARY2 FLUX1 FLUX2 BURN164 LIBEQ LIBRARY
+ TRACKSS TRACKN1 TRACKN2 ;
+ ::: SEQ_BINARY TRKFILN2 ;
+ ;
+* ;
+*----
+* Modules used in this procedure
+*----
+MODULE LIB: ASM: FLU: EDI: EVO: GREP: ABORT: DELETE: END: ;
+PROCEDURE Autop1 Autop2 ConcLIBEQ MultLIBEQ_20 MultLIBEQ32H ;
+LINKED_LIST EDITION SYS ;
+REAL B2 Kinf1 Kinf2 Keff2 Tend ;
+
+STRING Fuel ;
+INTEGER istep NbRegions ;
+REAL BUend BUnextSS Fuelpwr ;
+ :: >>istep<< >>Fuel<< >>NbRegions<< >>BUend<< >>BUnextSS<<
+ >>Fuelpwr<< ;
+
+ EVALUATE Tend := BUend Fuelpwr / ;
+ ECHO "-----------------------------------------------------------" ;
+ ECHO "Two-level flux calculation at step=" istep ;
+ ECHO "BURNUP_sortie = " BUend "Next SS = " BUnextSS ;
+ IF BUend BUnextSS - ABS 1E-5 < THEN
+ ECHO "Perform a self-shielding calculation" ;
+ ECHO "-----------------------------------------------------------" ;
+ IF istep 1 = THEN
+ LIBRARY2 := Autop1 LIBRARY TRACKSS :: <<Fuel>> <<NbRegions>> ;
+ ELSE
+ LIBRARY2 := Autop2 LIBRARY2 LIBRARY TRACKSS
+ :: <<Fuel>> <<NbRegions>> ;
+ ENDIF ;
+ ELSE
+ ECHO "No self-shielding calculation" ;
+ ECHO "-----------------------------------------------------------" ;
+ ENDIF ;
+************************************************************************
+* BEGIN FLUX CALCULATION *
+************************************************************************
+ SYS := ASM: LIBRARY2 TRACKN1 ::
+ EDIT 0 ARM ;
+
+ IF istep 1 = THEN
+ FLUX1 := FLU: SYS LIBRARY2 TRACKN1
+ :: EDIT 0 TYPE B B1 SIGS ;
+ ELSE
+ FLUX1 := FLU: FLUX1 SYS LIBRARY2 TRACKN1
+ :: EDIT 0 TYPE B B1 SIGS ;
+ ENDIF ;
+
+ GREP: FLUX1 :: GETVAL 'B2 B1HOM ' 1 1 1 >>B2<< ;
+ ECHO "B2-1 = " B2 " at BU = " BUend ;
+
+ GREP: FLUX1 :: GETVAL 'K-INFINITY ' 1 1 1 >>Kinf1<< ;
+ ECHO "K-inf1_sortie is " Kinf1 " at BU = " BUend ;
+
+*----
+* 26 groups energy condensation
+*----
+
+ EDITION := EDI: FLUX1 LIBRARY2 TRACKN1 ::
+ EDIT 0
+ MICR ALL
+ MERG MIX
+ COND 10 14 18 26 33 40 49 56 65 74 86 196 227
+ 230 233 238 241 244 247 254 259 263 267 272 277
+ SAVE ON COND26
+ ;
+
+ LIBEQ := EDITION ::
+ STEP UP COND26
+ ;
+
+ SYS := DELETE: SYS ;
+
+*----
+* Second level flux calculation (MOC)
+*----
+
+* added by remi(
+
+ IF NbRegions 20 = THEN
+ LIBEQ := MultLIBEQ_20 LIBEQ ;
+ ELSEIF NbRegions 32 = THEN
+ LIBEQ := MultLIBEQ32H LIBEQ ;
+ ENDIF ;
+
+ IF istep 1 > THEN
+ LIBEQ := ConcLIBEQ LIBEQ BURN164 :: <<istep>> ;
+ ENDIF ;
+
+ LIBEQ := LIB: LIBEQ :: EDIT 0 MACR MIXS ;
+* )added by remi
+
+ SYS := ASM: LIBEQ TRACKN2 TRKFILN2 ::
+ EDIT 0 ARM ;
+
+ IF istep 1 = THEN
+ FLUX2 := FLU: SYS LIBEQ TRACKN2 TRKFILN2 ::
+ EDIT 0
+ TYPE K B1 PNL BUCK <<B2>>
+ THER 5 5E-5 EXTE 30 1E-5 UNKT 1E-4 ;
+ ELSE
+ FLUX2 := FLU: FLUX2 SYS LIBEQ TRACKN2 TRKFILN2 ::
+ EDIT 0
+ TYPE K B1 PNL BUCK <<B2>>
+ THER 5 5E-5 EXTE 30 1E-5 UNKT 1E-4 ;
+ ENDIF ;
+
+ GREP: FLUX2 :: GETVAL 'K-INFINITY ' 1 1 1 >>Kinf2<< ;
+ ECHO "K-inf2_sortie is " Kinf2 " at BU = " BUend ;
+
+ GREP: FLUX2 :: GETVAL 'K-EFFECTIVE ' 1 1 1 >>Keff2<< ;
+ ECHO "K-eff2_sortie is " Keff2 " at BU = " BUend ;
+
+ GREP: FLUX2 :: GETVAL 'B2 B1HOM ' 1 1 1 >>B2<< ;
+ ECHO "B2-2 = " B2 " at BU = " BUend ;
+
+ SYS EDITION := DELETE: SYS EDITION ;
+************************************************************************
+* END FLUX CALCULATION *
+************************************************************************
+
+IF istep 1 = THEN
+ BURN164 LIBEQ := EVO: LIBEQ FLUX2 TRACKN2 ::
+ EDIT 0
+ SAVE <<Tend>> DAY POWR <<Fuelpwr>>
+ ;
+ELSE
+ BURN164 LIBEQ := EVO: BURN164 LIBEQ FLUX2 TRACKN2 ::
+ EDIT 0
+ SAVE <<Tend>> DAY POWR <<Fuelpwr>>
+ ;
+ENDIF ;
+
+END: ;
+QUIT .
diff --git a/Dragon/data/rep900_het_gff_proc/CondHet_2gr.c2m b/Dragon/data/rep900_het_gff_proc/CondHet_2gr.c2m
new file mode 100644
index 0000000..0e1af3a
--- /dev/null
+++ b/Dragon/data/rep900_het_gff_proc/CondHet_2gr.c2m
@@ -0,0 +1,763 @@
+*DECK Condense_2gr
+*----
+* Name : CondHet_2gr.c2m
+* Type : DRAGON procedure
+* Use : Realize the deux groups condensation
+* and pin by pin or assembly homogeneization
+* Author : R. Chambon
+* based on Condense_2gr from R. Vallerent
+*
+* Procedure called as:
+*
+* EDIOBJ := CondHet_2gr FLUX2 LIBEQ TRACKN2 GEON2 ALLGEO ::
+* <<Library>> <<TypeCompo>> ;
+*
+* Input data :
+* FLUX2 : Multigroup Flux
+* LIBEQ : Library xs
+* TRACKN2 : Tracking of the level 2 geometry
+* Output data :
+* EDIOBJ : Pin by pin homogenization
+* Parameters :
+* Library : Name of input cross-section library
+* TypeCompo : Type of edition: PinByPin or Assembly
+
+PARAMETER EDIOBJ FLUX2 LIBEQ TRACKN2 GEON2 ALLGEO ::
+ EDIT 1
+ ::: LINKED_LIST EDIOBJ FLUX2 LIBEQ TRACKN2 GEON2 ALLGEO ;
+ ;
+LINKED_LIST GEOTMP EDIOBJ2 MTRACK ASSMB_HOM ;
+
+MODULE EDI: BIVACT: TRIVAT: SPH: ABORT: RECOVER: DELETE: END: ;
+
+STRING Library SelOpt TypeCompo ;
+ :: >>Library<< >>SelOpt<< >>TypeCompo<< ;
+
+ECHO "CondHet_2gr" Library SelOpt TypeCompo ;
+
+STRING NameDirAss NameDirPin NameDirHt1 NameDirHt2 :=
+ 'EDI2A' 'EDI2B' 'EDI2C' 'EDI2D' ;
+
+STRING namgeohom namgeoht1 namgeoht2 namgeopin :=
+ "GEOHOM" "GEOHT1" "GEOHT2" "GEOPIN" ;
+STRING namsphhom namsphht1 namsphht2 namsphpin :=
+ "SPHHOM" "SPHHT1" "SPHHT2" "SPHPIN" ;
+
+STRING Am242M Pm148M ;
+IF Library "CEA05V4_281" = THEN
+ EVALUATE Am242M Pm148M := 'Am242M' 'Pm148M' ;
+ELSEIF Library "DLIBJ3_281" = THEN
+ EVALUATE Am242M Pm148M := 'Am242m' 'Pm148m' ;
+ELSE
+ ECHO "Invalid parameter : Library" ;
+ ABORT: ;
+ENDIF ;
+STRING NameDir SelOptAss ;
+INTEGER p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 ;
+INTEGER p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 ;
+INTEGER p21 p22 p23 p24 p25 p26 p27 p28 p29 p30 ;
+INTEGER p31 p32 p33 p34 p35 p36 p37 p38 p39 p40 ;
+INTEGER p41 p42 p43 p44 p45 ;
+INTEGER iass ipin iht1 iht2 iht3 :=
+ 1 1 1 1 1 ;
+
+IF TypeCompo "Assembly" = THEN
+ EVALUATE NameDir := NameDirAss ;
+ GEOTMP := RECOVER: ALLGEO :: STEP UP <<namgeohom>> ;
+ ASSMB_HOM := RECOVER: ALLGEO :: STEP UP <<namsphhom>> ;
+ IF SelOpt "SELE_EDF" = THEN
+ EVALUATE SelOptAss := 'SELE_FD' ;
+ ELSE
+ EVALUATE SelOptAss := SelOpt ;
+ ENDIF ;
+ELSEIF TypeCompo "PinByPin" = THEN
+! EVALUATE p1 p2 p3 p4 p5
+! p6 p7 p8 p9 p10 :=
+! ipin ipin 1 + ipin 2 + ipin 3 + ipin 4 +
+! ipin 5 + ipin 6 + ipin 7 + ipin 8 + ipin 9 + ;
+! EVALUATE p11 p12 p13 p14 p15
+! p16 p17 p18 p19 p20 :=
+! ipin 10 + ipin 11 + ipin 12 + ipin 13 + ipin 14 +
+! ipin 15 + ipin 16 + ipin 17 + ipin 18 + ipin 19 + ;
+! EVALUATE p21 p22 p23 p24 p25
+! p26 p27 p28 p29 p30 :=
+! ipin 20 + ipin 21 + ipin 22 + ipin 23 + ipin 24 +
+! ipin 25 + ipin 26 + ipin 27 + ipin 28 + ipin 29 + ;
+! EVALUATE p31 p32 p33 p34 p35
+! p36 p37 p38 p39 p40 :=
+! ipin 30 + ipin 31 + ipin 32 + ipin 33 + ipin 34 +
+! ipin 35 + ipin 36 + ipin 37 + ipin 38 + ipin 39 + ;
+! EVALUATE p41 p42 p43 p44 p45 :=
+! ipin 40 + ipin 41 + ipin 42 + ipin 43 + ipin 44 + ;
+ EVALUATE NameDir := NameDirPin ;
+ GEOTMP := RECOVER: ALLGEO :: STEP UP <<namgeopin>> ;
+ ASSMB_HOM := RECOVER: ALLGEO :: STEP UP <<namsphpin>> ;
+ELSEIF TypeCompo "Heter1" = THEN
+! EVALUATE p1 p2 p3 p4 p5
+! p6 p7 p8 p9 p10 :=
+! iht1 iht1 iht1 iht1 iht1
+! iht1 iht1 iht1 iht1 1 + iht1 ;
+! EVALUATE p11 p12 p13 p14 p15
+! p16 p17 p18 p19 p20 :=
+! iht1 iht1 iht1 iht1 iht1
+! iht1 iht1 1 + iht1 iht1 iht1 ;
+! EVALUATE p21 p22 p23 p24 p25
+! p26 p27 p28 p29 p30 :=
+! iht1 iht1 iht1 iht1 1 + iht1
+! iht1 iht1 iht1 iht1 iht1 1 + ;
+! EVALUATE p31 p32 p33 p34 p35
+! p36 p37 p38 p39 p40 :=
+! iht1 iht1 iht1 iht1 iht1 1 +
+! iht1 iht1 iht1 iht1 1 + iht1 ;
+! EVALUATE p41 p42 p43 p44 p45 :=
+! iht1 iht1 1 + iht1 iht1 1 + iht1 2 + ;
+ EVALUATE NameDir := NameDirHt1 ;
+ GEOTMP := RECOVER: ALLGEO :: STEP UP <<namgeoht1>> ;
+ ASSMB_HOM := RECOVER: ALLGEO :: STEP UP <<namsphht1>> ;
+ELSEIF TypeCompo "Heter2" = THEN
+ EVALUATE p1 p2 p3 p4 p5
+ p6 p7 p8 p9 p10 :=
+ iht2 iht2 iht2 iht2 iht2
+ iht2 iht2 iht2 1 + iht2 1 + iht2 ;
+ EVALUATE p11 p12 p13 p14 p15
+ p16 p17 p18 p19 p20 :=
+ iht2 iht2 iht2 iht2 iht2
+ iht2 1 + iht2 1 + iht2 iht2 iht2 ;
+ EVALUATE p21 p22 p23 p24 p25
+ p26 p27 p28 p29 p30 :=
+ iht2 iht2 iht2 1 + iht2 1 + iht2
+ iht2 iht2 iht2 iht2 1 + iht2 1 + ;
+ EVALUATE p31 p32 p33 p34 p35
+ p36 p37 p38 p39 p40 :=
+ iht2 iht2 iht2 iht2 1 + iht2 1 +
+ iht2 iht2 iht2 1 + iht2 1 + iht2 ;
+ EVALUATE p41 p42 p43 p44 p45 :=
+ iht2 1 + iht2 1 + iht2 2 + iht2 2 + iht2 2 + ;
+ EVALUATE NameDir := NameDirHt2 ;
+ GEOTMP := RECOVER: ALLGEO :: STEP UP <<namgeoht2>> ;
+ ASSMB_HOM := RECOVER: ALLGEO :: STEP UP <<namsphht2>> ;
+ELSE
+ ECHO "TypeCompo incorrect: " TypeCompo ;
+ ABORT: ;
+ENDIF ;
+*
+IF TypeCompo "Assembly" = THEN
+ EDIOBJ := EDI: FLUX2 LIBEQ TRACKN2 GEON2 GEOTMP ::
+ EDIT 0
+ MICR RES
+ MERG COMP
+ COND 19
+ SAVE ON <<NameDir>>
+ MGEO GEOTMP
+ ADF 'FD_C' MIX 167 ENDM !gap L2
+ ADF 'FDCG' MIX 166 167 ENDM !gap L2 and L3 of corner pin
+ ADF 'FDCP' MIX 166 167 !gap L2 and L3 and
+ 176 177 178 179 ! C39 water and clad ...
+ 37 38 39 40 !p45 complete C39
+ ENDM
+! merge by mixture (see Geo_N2_32H.c2m)
+ ADF 'FD_B' MIX 165 166 167 ENDM !gap L1, L3 and L2
+!
+! or (both tested and give the same results)
+!
+! merge by mixture
+! ADF 'FDBr' REGI 145 146 !p9 gap only
+! 317 318 319 !p17 gap only
+! 468 469 470 !p24 gap only
+! 604 605 606 !p30 gap only
+! 711 712 713 !p35 gap only
+! 798 799 800 !p39 gap only
+! 861 862 863 !p42 gap only
+! 902 903 904 !p44 gap only
+! 921 922 923 924 !p45 gap only
+! ENDR
+ ;
+ IF SelOpt 'NONE' <> THEN
+ MTRACK := TRIVAT: ASSMB_HOM :: DUAL 3 3 EDIT 0 ;
+ EDIOBJ := SPH: EDIOBJ MTRACK ::
+ EDIT 0 <<SelOptAss>> ITER 1.0E-5 ;
+ MTRACK ASSMB_HOM := DELETE: MTRACK ASSMB_HOM ;
+ ENDIF ;
+*
+ELSEIF TypeCompo "Heter1" = THEN
+ EDIOBJ := EDI: FLUX2 LIBEQ TRACKN2 GEON2 GEOTMP ::
+ EDIT 0
+ MICR RES
+! merge by mixture (see Geo_N2_32H.c2m)
+ MERG MIX
+! 1 2 3 4 5 6 7 8 9 0
+ 1 1 1 1 1 1 1 1 1 1 ! 10
+ 1 1 1 1 1 1 1 1 1 1 ! 20
+! C31
+ 1 1 1 1 1 1 1 1 2 2 ! 30
+! C38 C39
+ 2 2 2 2 2 2 3 3 3 3 ! 40
+ 1 1 1 1 1 1 1 1 1 1 ! 50
+ 1 1 1 1 1 1 1 1 1 1 ! 60
+ 1 1 1 1 1 1 1 1 1 1 ! 70
+ 1 1 1 1 1 1 1 1 1 1 ! 70
+ 1 1 1 1 1 1 1 1 1 1 ! 90
+ 1 1 1 1 1 1 1 1 1 1 !100
+ 1 1 1 1 1 1 1 1 1 1 !110
+ 1 1 1 1 1 1 1 1 1 1 !120
+ 1 1 1 1 1 1 1 1 1 1 !130
+ 1 1 1 1 1 1 1 1 1 1 !140
+! C32 ...
+ 2 2 2 2 2 2 2 2 2 2 !150
+ 2 2 2 2 2 2 2 2 2 2 !160
+! ...C37 L1 L3 L2
+ 2 2 2 2 2 3 3 0 0 0 !170
+! C31 ... C38 C39
+ 0 2 2 2 2 3 3 3 3 !180
+!
+! or (both tested and give the same results)
+!
+! merge by mixture
+! MERG REGI
+! <<p1>> <<p1>> <<p1>> <<p1>> <<p1>> <<p1>> <<p1>> !7
+! <<p1>> <<p1>> <<p1>> <<p1>> <<p1>> <<p2>> <<p2>> !14
+! <<p2>> <<p2>> <<p2>> <<p2>> <<p2>> <<p2>> <<p2>> !21
+! <<p2>> <<p2>> <<p2>> <<p2>> <<p2>> <<p2>> <<p2>> !28
+! <<p3>> <<p3>> <<p3>> <<p3>> <<p3>> <<p3>> <<p3>> !35
+! <<p3>> <<p3>> <<p3>> <<p3>> <<p3>> <<p3>> <<p3>> !42
+! <<p3>> <<p3>> <<p4>> <<p4>> <<p4>> <<p4>> <<p4>> !49
+! <<p4>> <<p4>> <<p4>> <<p4>> <<p4>> <<p4>> <<p4>> !56
+! <<p4>> <<p4>> <<p4>> <<p4>> <<p4>> <<p4>> <<p5>> !63
+! <<p5>> <<p5>> <<p5>> <<p5>> <<p5>> <<p5>> <<p5>> !70
+! <<p5>> <<p5>> <<p5>> <<p5>> <<p5>> <<p5>> <<p5>> !77
+! <<p5>> <<p6>> <<p6>> <<p6>> <<p6>> <<p6>> <<p6>> !84
+! <<p6>> <<p6>> <<p6>> <<p6>> <<p6>> <<p6>> <<p6>> !91
+! <<p6>> <<p6>> <<p6>> <<p7>> <<p7>> <<p7>> <<p7>> !98
+! <<p7>> <<p7>> <<p7>> <<p7>> <<p7>> <<p7>> <<p7>> !105
+! <<p7>> <<p7>> <<p7>> <<p7>> <<p7>> <<p7>> <<p7>> !112
+! <<p8>> <<p8>> <<p8>> <<p8>> <<p8>> <<p8>> <<p8>> !119
+! <<p8>> <<p8>> <<p8>> <<p8>> <<p8>> <<p8>> <<p8>> !126
+! <<p8>> <<p8>> <<p9>> <<p9>> <<p9>> <<p9>> <<p9>> !133
+! <<p9>> <<p9>> <<p9>> <<p9>> <<p9>> <<p9>> <<p9>> !140
+! <<p9>> <<p9>> <<p9>> <<p9>> <<p9>> <<p9>> <<p10>> !147
+! <<p10>> <<p10>> <<p10>> <<p10>> <<p10>> <<p10>> <<p10>> !154
+! <<p10>> <<p10>> <<p10>> <<p10>> <<p10>> <<p10>> <<p10>> !161
+! <<p10>> <<p11>> <<p11>> <<p11>> <<p11>> <<p11>> <<p11>> !168
+! <<p11>> <<p11>> <<p11>> <<p11>> <<p11>> <<p11>> <<p11>> !175
+! <<p11>> <<p11>> <<p11>> <<p11>> <<p11>> <<p11>> <<p11>> !182
+! <<p11>> <<p11>> <<p12>> <<p12>> <<p12>> <<p12>> <<p12>> !189
+! <<p12>> <<p12>> <<p12>> <<p12>> <<p12>> <<p12>> <<p12>> !196
+! <<p12>> <<p12>> <<p12>> <<p12>> <<p12>> <<p12>> <<p12>> !203
+! <<p12>> <<p12>> <<p12>> <<p13>> <<p13>> <<p13>> <<p13>> !210
+! <<p13>> <<p13>> <<p13>> <<p13>> <<p13>> <<p13>> <<p13>> !217
+! <<p13>> <<p13>> <<p13>> <<p13>> <<p13>> <<p13>> <<p13>> !224
+! <<p13>> <<p13>> <<p13>> <<p13>> <<p14>> <<p14>> <<p14>> !231
+! <<p14>> <<p14>> <<p14>> <<p14>> <<p14>> <<p14>> <<p14>> !238
+! <<p14>> <<p14>> <<p14>> <<p14>> <<p14>> <<p14>> <<p14>> !245
+! <<p14>> <<p14>> <<p14>> <<p14>> <<p14>> <<p15>> <<p15>> !252
+! <<p15>> <<p15>> <<p15>> <<p15>> <<p15>> <<p15>> <<p15>> !259
+! <<p15>> <<p15>> <<p15>> <<p15>> <<p15>> <<p15>> <<p15>> !266
+! <<p15>> <<p15>> <<p15>> <<p15>> <<p15>> <<p15>> <<p16>> !273
+! <<p16>> <<p16>> <<p16>> <<p16>> <<p16>> <<p16>> <<p16>> !280
+! <<p16>> <<p16>> <<p16>> <<p16>> <<p16>> <<p16>> <<p16>> !287
+! <<p16>> <<p16>> <<p16>> <<p16>> <<p16>> <<p16>> <<p16>> !294
+! <<p17>> <<p17>> <<p17>> <<p17>> <<p17>> <<p17>> <<p17>> !301
+! <<p17>> <<p17>> <<p17>> <<p17>> <<p17>> <<p17>> <<p17>> !308
+! <<p17>> <<p17>> <<p17>> <<p17>> <<p17>> <<p17>> <<p17>> !315
+! <<p17>> <<p17>> <<p17>> <<p17>> <<p18>> <<p18>> <<p18>> !322
+! <<p18>> <<p18>> <<p18>> <<p18>> <<p18>> <<p18>> <<p18>> !329
+! <<p18>> <<p18>> <<p18>> <<p18>> <<p18>> <<p18>> <<p19>> !336
+! <<p19>> <<p19>> <<p19>> <<p19>> <<p19>> <<p19>> <<p19>> !343
+! <<p19>> <<p19>> <<p19>> <<p19>> <<p19>> <<p19>> <<p19>> !350
+! <<p19>> <<p19>> <<p19>> <<p19>> <<p19>> <<p19>> <<p19>> !357
+! <<p20>> <<p20>> <<p20>> <<p20>> <<p20>> <<p20>> <<p20>> !364
+! <<p20>> <<p20>> <<p20>> <<p20>> <<p20>> <<p20>> <<p20>> !371
+! <<p20>> <<p20>> <<p20>> <<p20>> <<p20>> <<p20>> <<p20>> !378
+! <<p20>> <<p21>> <<p21>> <<p21>> <<p21>> <<p21>> <<p21>> !385
+! <<p21>> <<p21>> <<p21>> <<p21>> <<p21>> <<p21>> <<p21>> !392
+! <<p21>> <<p21>> <<p21>> <<p21>> <<p21>> <<p21>> <<p21>> !399
+! <<p21>> <<p21>> <<p22>> <<p22>> <<p22>> <<p22>> <<p22>> !406
+! <<p22>> <<p22>> <<p22>> <<p22>> <<p22>> <<p22>> <<p22>> !413
+! <<p22>> <<p22>> <<p22>> <<p22>> <<p22>> <<p22>> <<p22>> !420
+! <<p22>> <<p22>> <<p22>> <<p23>> <<p23>> <<p23>> <<p23>> !427
+! <<p23>> <<p23>> <<p23>> <<p23>> <<p23>> <<p23>> <<p23>> !434
+! <<p23>> <<p23>> <<p23>> <<p23>> <<p23>> <<p23>> <<p23>> !441
+! <<p23>> <<p23>> <<p23>> <<p23>> <<p24>> <<p24>> <<p24>> !448
+! <<p24>> <<p24>> <<p24>> <<p24>> <<p24>> <<p24>> <<p24>> !455
+! <<p24>> <<p24>> <<p24>> <<p24>> <<p24>> <<p24>> <<p24>> !462
+! <<p24>> <<p24>> <<p24>> <<p24>> <<p24>> <<p24>> <<p24>> !469
+! <<p24>> <<p25>> <<p25>> <<p25>> <<p25>> <<p25>> <<p25>> !476
+! <<p25>> <<p25>> <<p25>> <<p25>> <<p25>> <<p25>> <<p25>> !483
+! <<p25>> <<p25>> <<p25>> <<p25>> <<p25>> <<p26>> <<p26>> !490
+! <<p26>> <<p26>> <<p26>> <<p26>> <<p26>> <<p26>> <<p26>> !497
+! <<p26>> <<p26>> <<p26>> <<p26>> <<p26>> <<p26>> <<p26>> !504
+! <<p26>> <<p26>> <<p26>> <<p26>> <<p26>> <<p26>> <<p27>> !511
+! <<p27>> <<p27>> <<p27>> <<p27>> <<p27>> <<p27>> <<p27>> !518
+! <<p27>> <<p27>> <<p27>> <<p27>> <<p27>> <<p27>> <<p27>> !525
+! <<p27>> <<p27>> <<p27>> <<p27>> <<p27>> <<p27>> <<p27>> !532
+! <<p28>> <<p28>> <<p28>> <<p28>> <<p28>> <<p28>> <<p28>> !539
+! <<p28>> <<p28>> <<p28>> <<p28>> <<p28>> <<p28>> <<p28>> !546
+! <<p28>> <<p28>> <<p28>> <<p28>> <<p28>> <<p28>> <<p28>> !553
+! <<p28>> <<p28>> <<p28>> <<p28>> <<p28>> <<p28>> <<p29>> !560
+! <<p29>> <<p29>> <<p29>> <<p29>> <<p29>> <<p29>> <<p29>> !567
+! <<p29>> <<p29>> <<p29>> <<p29>> <<p29>> <<p29>> <<p29>> !574
+! <<p29>> <<p29>> <<p29>> <<p29>> <<p29>> <<p29>> <<p29>> !581
+! <<p30>> <<p30>> <<p30>> <<p30>> <<p30>> <<p30>> <<p30>> !588
+! <<p30>> <<p30>> <<p30>> <<p30>> <<p30>> <<p30>> <<p30>> !595
+! <<p30>> <<p30>> <<p30>> <<p30>> <<p30>> <<p30>> <<p30>> !602
+! <<p30>> <<p30>> <<p30>> <<p30>> <<p31>> <<p31>> <<p31>> !609
+! <<p31>> <<p31>> <<p31>> <<p31>> <<p31>> <<p31>> <<p31>> !616
+! <<p31>> <<p31>> <<p31>> <<p31>> <<p31>> <<p31>> <<p32>> !623
+! <<p32>> <<p32>> <<p32>> <<p32>> <<p32>> <<p32>> <<p32>> !630
+! <<p32>> <<p32>> <<p32>> <<p32>> <<p32>> <<p32>> <<p32>> !637
+! <<p32>> <<p32>> <<p32>> <<p32>> <<p32>> <<p32>> <<p32>> !644
+! <<p33>> <<p33>> <<p33>> <<p33>> <<p33>> <<p33>> <<p33>> !651
+! <<p33>> <<p33>> <<p33>> <<p33>> <<p33>> <<p33>> <<p33>> !658
+! <<p33>> <<p33>> <<p33>> <<p33>> <<p33>> <<p33>> <<p33>> !665
+! <<p33>> <<p34>> <<p34>> <<p34>> <<p34>> <<p34>> <<p34>> !672
+! <<p34>> <<p34>> <<p34>> <<p34>> <<p34>> <<p34>> <<p34>> !679
+! <<p34>> <<p34>> <<p34>> <<p34>> <<p34>> <<p34>> <<p34>> !686
+! <<p34>> <<p34>> <<p35>> <<p35>> <<p35>> <<p35>> <<p35>> !693
+! <<p35>> <<p35>> <<p35>> <<p35>> <<p35>> <<p35>> <<p35>> !700
+! <<p35>> <<p35>> <<p35>> <<p35>> <<p35>> <<p35>> <<p35>> !707
+! <<p35>> <<p35>> <<p35>> <<p35>> <<p35>> <<p35>> <<p36>> !714
+! <<p36>> <<p36>> <<p36>> <<p36>> <<p36>> <<p36>> <<p36>> !721
+! <<p36>> <<p36>> <<p36>> <<p36>> <<p36>> <<p36>> <<p36>> !728
+! <<p36>> <<p36>> <<p36>> <<p37>> <<p37>> <<p37>> <<p37>> !735
+! <<p37>> <<p37>> <<p37>> <<p37>> <<p37>> <<p37>> <<p37>> !742
+! <<p37>> <<p37>> <<p37>> <<p37>> <<p37>> <<p37>> <<p37>> !749
+! <<p37>> <<p37>> <<p37>> <<p37>> <<p38>> <<p38>> <<p38>> !756
+! <<p38>> <<p38>> <<p38>> <<p38>> <<p38>> <<p38>> <<p38>> !763
+! <<p38>> <<p38>> <<p38>> <<p38>> <<p38>> <<p38>> <<p38>> !770
+! <<p38>> <<p38>> <<p38>> <<p38>> <<p38>> <<p39>> <<p39>> !777
+! <<p39>> <<p39>> <<p39>> <<p39>> <<p39>> <<p39>> <<p39>> !784
+! <<p39>> <<p39>> <<p39>> <<p39>> <<p39>> <<p39>> <<p39>> !791
+! <<p39>> <<p39>> <<p39>> <<p39>> <<p39>> <<p39>> <<p39>> !798
+! <<p39>> <<p39>> <<p40>> <<p40>> <<p40>> <<p40>> <<p40>> !805
+! <<p40>> <<p40>> <<p40>> <<p40>> <<p40>> <<p40>> <<p40>> !812
+! <<p40>> <<p40>> <<p40>> <<p40>> <<p41>> <<p41>> <<p41>> !819
+! <<p41>> <<p41>> <<p41>> <<p41>> <<p41>> <<p41>> <<p41>> !826
+! <<p41>> <<p41>> <<p41>> <<p41>> <<p41>> <<p41>> <<p41>> !833
+! <<p41>> <<p41>> <<p41>> <<p41>> <<p41>> <<p42>> <<p42>> !840
+! <<p42>> <<p42>> <<p42>> <<p42>> <<p42>> <<p42>> <<p42>> !847
+! <<p42>> <<p42>> <<p42>> <<p42>> <<p42>> <<p42>> <<p42>> !854
+! <<p42>> <<p42>> <<p42>> <<p42>> <<p42>> <<p42>> <<p42>> !861
+! <<p42>> <<p42>> <<p43>> <<p43>> <<p43>> <<p43>> <<p43>> !868
+! <<p43>> <<p43>> <<p43>> <<p43>> <<p43>> <<p43>> <<p43>> !875
+! <<p43>> <<p43>> <<p43>> <<p43>> <<p44>> <<p44>> <<p44>> !882
+! <<p44>> <<p44>> <<p44>> <<p44>> <<p44>> <<p44>> <<p44>> !889
+! <<p44>> <<p44>> <<p44>> <<p44>> <<p44>> <<p44>> <<p44>> !896
+! <<p44>> <<p44>> <<p44>> <<p44>> <<p44>> <<p44>> <<p44>> !903
+! <<p44>> <<p45>> <<p45>> <<p45>> <<p45>> <<p45>> <<p45>> !910
+! <<p45>> <<p45>> <<p45>> <<p45>> <<p45>> <<p45>> <<p45>> !917
+! <<p45>> <<p45>> <<p45>> <<p45>> <<p45>> <<p45>> <<p45>> !924
+ COND 19
+ SAVE ON <<NameDir>>
+ MGEO GEOTMP
+ ADF 'FD_B' MIX 165 166 167 ENDM !gap L1 L3 L2
+! merge by mixture (see Geo_N2_32H.c2m)
+ ADF 'FD_H' MIX 165 166 167 !L1 to L3
+ 172 173 174 175 ! C31 to C38 water and clad ...
+ 29 30 31 32 !p9 complete C31
+ 141 142 143 144 !p17 complete C32
+ 145 146 147 148 !p24 complete C33
+ 149 150 151 152 !p30 complete C34
+ 153 154 155 156 !p35 complete C35
+ 157 158 159 160 !p39 complete C36
+ 161 162 163 164 !p42 complete C37
+ 33 34 35 36 !p44 complete C38
+ 176 177 178 179 ! C39 water and clad ...
+ 37 38 39 40 !p45 complete C39
+ ENDM
+!
+! or (both tested and give the same results)
+!
+! merge by mixture
+! ADF 'FDHr' REGI 129 130 131 132 133 134 135 136 137 138 139 140 141
+! 142 143 144 145 146 !p9 complete
+! 295 296 297 298 299 300 301 302 303 304 305 306 307
+! 308 309 310 311 312 313 314 315 316 317 318 319 !p17 complete
+! 446 447 448 449 450 451 452 453 454 455 456 457 458
+! 459 460 461 462 463 464 465 466 467 468 469 470 !p24 complete
+! 582 583 584 585 586 587 588 589 590 591 592 593 594
+! 595 596 597 598 599 600 601 602 603 604 605 606 !p30 complete
+! 689 690 691 692 693 694 695 696 697 698 699 700 701
+! 702 703 704 705 706 707 708 709 710 711 712 713 !p35 complete
+! 776 777 778 779 780 781 782 783 784 785 786 787 788
+! 789 790 791 792 793 794 795 796 797 798 799 800 !p39 complete
+! 839 840 841 842 843 844 845 846 847 848 849 850 851
+! 852 853 854 855 856 857 858 859 860 861 862 863 !p42 complete
+! 880 881 882 883 884 885 886 887 888 889 890 891 892
+! 893 894 895 896 897 898 899 900 901 902 903 904 !p44 complete
+! 905 906 907 908 909 910 911 912 913 914 915 916
+! 917 918 919 920 921 922 923 924 !p45 complete
+! ENDR
+ ;
+ IF SelOpt 'NONE' <> THEN
+ MTRACK := TRIVAT: ASSMB_HOM :: DUAL 3 3 EDIT 0 ;
+ EDIOBJ := SPH: EDIOBJ MTRACK ::
+ EDIT 0 <<SelOpt>> ITER 1.0E-5 ;
+ MTRACK ASSMB_HOM := DELETE: MTRACK ASSMB_HOM ;
+ ENDIF ;
+*
+ELSEIF TypeCompo "Heter2" = THEN
+ EDIOBJ := EDI: FLUX2 LIBEQ TRACKN2 GEON2 GEOTMP ::
+ EDIT 0
+ MICR RES
+ MERG REGI
+ <<p1>> <<p1>> <<p1>> <<p1>> <<p1>> <<p1>> <<p1>> !7
+ <<p1>> <<p1>> <<p1>> <<p1>> <<p1>> <<p2>> <<p2>> !14
+ <<p2>> <<p2>> <<p2>> <<p2>> <<p2>> <<p2>> <<p2>> !21
+ <<p2>> <<p2>> <<p2>> <<p2>> <<p2>> <<p2>> <<p2>> !28
+ <<p3>> <<p3>> <<p3>> <<p3>> <<p3>> <<p3>> <<p3>> !35
+ <<p3>> <<p3>> <<p3>> <<p3>> <<p3>> <<p3>> <<p3>> !42
+ <<p3>> <<p3>> <<p4>> <<p4>> <<p4>> <<p4>> <<p4>> !49
+ <<p4>> <<p4>> <<p4>> <<p4>> <<p4>> <<p4>> <<p4>> !56
+ <<p4>> <<p4>> <<p4>> <<p4>> <<p4>> <<p4>> <<p5>> !63
+ <<p5>> <<p5>> <<p5>> <<p5>> <<p5>> <<p5>> <<p5>> !70
+ <<p5>> <<p5>> <<p5>> <<p5>> <<p5>> <<p5>> <<p5>> !77
+ <<p5>> <<p6>> <<p6>> <<p6>> <<p6>> <<p6>> <<p6>> !84
+ <<p6>> <<p6>> <<p6>> <<p6>> <<p6>> <<p6>> <<p6>> !91
+ <<p6>> <<p6>> <<p6>> <<p7>> <<p7>> <<p7>> <<p7>> !98
+ <<p7>> <<p7>> <<p7>> <<p7>> <<p7>> <<p7>> <<p7>> !105
+ <<p7>> <<p7>> <<p7>> <<p7>> <<p7>> <<p7>> <<p7>> !112
+ <<p8>> <<p8>> <<p8>> <<p8>> <<p8>> <<p8>> <<p8>> !119
+ <<p8>> <<p8>> <<p8>> <<p8>> <<p8>> <<p8>> <<p8>> !126
+ <<p8>> <<p8>> <<p9>> <<p9>> <<p9>> <<p9>> <<p9>> !133
+ <<p9>> <<p9>> <<p9>> <<p9>> <<p9>> <<p9>> <<p9>> !140
+ <<p9>> <<p9>> <<p9>> <<p9>> <<p9>> <<p9>> <<p10>> !147
+ <<p10>> <<p10>> <<p10>> <<p10>> <<p10>> <<p10>> <<p10>> !154
+ <<p10>> <<p10>> <<p10>> <<p10>> <<p10>> <<p10>> <<p10>> !161
+ <<p10>> <<p11>> <<p11>> <<p11>> <<p11>> <<p11>> <<p11>> !168
+ <<p11>> <<p11>> <<p11>> <<p11>> <<p11>> <<p11>> <<p11>> !175
+ <<p11>> <<p11>> <<p11>> <<p11>> <<p11>> <<p11>> <<p11>> !182
+ <<p11>> <<p11>> <<p12>> <<p12>> <<p12>> <<p12>> <<p12>> !189
+ <<p12>> <<p12>> <<p12>> <<p12>> <<p12>> <<p12>> <<p12>> !196
+ <<p12>> <<p12>> <<p12>> <<p12>> <<p12>> <<p12>> <<p12>> !203
+ <<p12>> <<p12>> <<p12>> <<p13>> <<p13>> <<p13>> <<p13>> !210
+ <<p13>> <<p13>> <<p13>> <<p13>> <<p13>> <<p13>> <<p13>> !217
+ <<p13>> <<p13>> <<p13>> <<p13>> <<p13>> <<p13>> <<p13>> !224
+ <<p13>> <<p13>> <<p13>> <<p13>> <<p14>> <<p14>> <<p14>> !231
+ <<p14>> <<p14>> <<p14>> <<p14>> <<p14>> <<p14>> <<p14>> !238
+ <<p14>> <<p14>> <<p14>> <<p14>> <<p14>> <<p14>> <<p14>> !245
+ <<p14>> <<p14>> <<p14>> <<p14>> <<p14>> <<p15>> <<p15>> !252
+ <<p15>> <<p15>> <<p15>> <<p15>> <<p15>> <<p15>> <<p15>> !259
+ <<p15>> <<p15>> <<p15>> <<p15>> <<p15>> <<p15>> <<p15>> !266
+ <<p15>> <<p15>> <<p15>> <<p15>> <<p15>> <<p15>> <<p16>> !273
+ <<p16>> <<p16>> <<p16>> <<p16>> <<p16>> <<p16>> <<p16>> !280
+ <<p16>> <<p16>> <<p16>> <<p16>> <<p16>> <<p16>> <<p16>> !287
+ <<p16>> <<p16>> <<p16>> <<p16>> <<p16>> <<p16>> <<p16>> !294
+ <<p17>> <<p17>> <<p17>> <<p17>> <<p17>> <<p17>> <<p17>> !301
+ <<p17>> <<p17>> <<p17>> <<p17>> <<p17>> <<p17>> <<p17>> !308
+ <<p17>> <<p17>> <<p17>> <<p17>> <<p17>> <<p17>> <<p17>> !315
+ <<p17>> <<p17>> <<p17>> <<p17>> <<p18>> <<p18>> <<p18>> !322
+ <<p18>> <<p18>> <<p18>> <<p18>> <<p18>> <<p18>> <<p18>> !329
+ <<p18>> <<p18>> <<p18>> <<p18>> <<p18>> <<p18>> <<p19>> !336
+ <<p19>> <<p19>> <<p19>> <<p19>> <<p19>> <<p19>> <<p19>> !343
+ <<p19>> <<p19>> <<p19>> <<p19>> <<p19>> <<p19>> <<p19>> !350
+ <<p19>> <<p19>> <<p19>> <<p19>> <<p19>> <<p19>> <<p19>> !357
+ <<p20>> <<p20>> <<p20>> <<p20>> <<p20>> <<p20>> <<p20>> !364
+ <<p20>> <<p20>> <<p20>> <<p20>> <<p20>> <<p20>> <<p20>> !371
+ <<p20>> <<p20>> <<p20>> <<p20>> <<p20>> <<p20>> <<p20>> !378
+ <<p20>> <<p21>> <<p21>> <<p21>> <<p21>> <<p21>> <<p21>> !385
+ <<p21>> <<p21>> <<p21>> <<p21>> <<p21>> <<p21>> <<p21>> !392
+ <<p21>> <<p21>> <<p21>> <<p21>> <<p21>> <<p21>> <<p21>> !399
+ <<p21>> <<p21>> <<p22>> <<p22>> <<p22>> <<p22>> <<p22>> !406
+ <<p22>> <<p22>> <<p22>> <<p22>> <<p22>> <<p22>> <<p22>> !413
+ <<p22>> <<p22>> <<p22>> <<p22>> <<p22>> <<p22>> <<p22>> !420
+ <<p22>> <<p22>> <<p22>> <<p23>> <<p23>> <<p23>> <<p23>> !427
+ <<p23>> <<p23>> <<p23>> <<p23>> <<p23>> <<p23>> <<p23>> !434
+ <<p23>> <<p23>> <<p23>> <<p23>> <<p23>> <<p23>> <<p23>> !441
+ <<p23>> <<p23>> <<p23>> <<p23>> <<p24>> <<p24>> <<p24>> !448
+ <<p24>> <<p24>> <<p24>> <<p24>> <<p24>> <<p24>> <<p24>> !455
+ <<p24>> <<p24>> <<p24>> <<p24>> <<p24>> <<p24>> <<p24>> !462
+ <<p24>> <<p24>> <<p24>> <<p24>> <<p24>> <<p24>> <<p24>> !469
+ <<p24>> <<p25>> <<p25>> <<p25>> <<p25>> <<p25>> <<p25>> !476
+ <<p25>> <<p25>> <<p25>> <<p25>> <<p25>> <<p25>> <<p25>> !483
+ <<p25>> <<p25>> <<p25>> <<p25>> <<p25>> <<p26>> <<p26>> !490
+ <<p26>> <<p26>> <<p26>> <<p26>> <<p26>> <<p26>> <<p26>> !497
+ <<p26>> <<p26>> <<p26>> <<p26>> <<p26>> <<p26>> <<p26>> !504
+ <<p26>> <<p26>> <<p26>> <<p26>> <<p26>> <<p26>> <<p27>> !511
+ <<p27>> <<p27>> <<p27>> <<p27>> <<p27>> <<p27>> <<p27>> !518
+ <<p27>> <<p27>> <<p27>> <<p27>> <<p27>> <<p27>> <<p27>> !525
+ <<p27>> <<p27>> <<p27>> <<p27>> <<p27>> <<p27>> <<p27>> !532
+ <<p28>> <<p28>> <<p28>> <<p28>> <<p28>> <<p28>> <<p28>> !539
+ <<p28>> <<p28>> <<p28>> <<p28>> <<p28>> <<p28>> <<p28>> !546
+ <<p28>> <<p28>> <<p28>> <<p28>> <<p28>> <<p28>> <<p28>> !553
+ <<p28>> <<p28>> <<p28>> <<p28>> <<p28>> <<p28>> <<p29>> !560
+ <<p29>> <<p29>> <<p29>> <<p29>> <<p29>> <<p29>> <<p29>> !567
+ <<p29>> <<p29>> <<p29>> <<p29>> <<p29>> <<p29>> <<p29>> !574
+ <<p29>> <<p29>> <<p29>> <<p29>> <<p29>> <<p29>> <<p29>> !581
+ <<p30>> <<p30>> <<p30>> <<p30>> <<p30>> <<p30>> <<p30>> !588
+ <<p30>> <<p30>> <<p30>> <<p30>> <<p30>> <<p30>> <<p30>> !595
+ <<p30>> <<p30>> <<p30>> <<p30>> <<p30>> <<p30>> <<p30>> !602
+ <<p30>> <<p30>> <<p30>> <<p30>> <<p31>> <<p31>> <<p31>> !609
+ <<p31>> <<p31>> <<p31>> <<p31>> <<p31>> <<p31>> <<p31>> !616
+ <<p31>> <<p31>> <<p31>> <<p31>> <<p31>> <<p31>> <<p32>> !623
+ <<p32>> <<p32>> <<p32>> <<p32>> <<p32>> <<p32>> <<p32>> !630
+ <<p32>> <<p32>> <<p32>> <<p32>> <<p32>> <<p32>> <<p32>> !637
+ <<p32>> <<p32>> <<p32>> <<p32>> <<p32>> <<p32>> <<p32>> !644
+ <<p33>> <<p33>> <<p33>> <<p33>> <<p33>> <<p33>> <<p33>> !651
+ <<p33>> <<p33>> <<p33>> <<p33>> <<p33>> <<p33>> <<p33>> !658
+ <<p33>> <<p33>> <<p33>> <<p33>> <<p33>> <<p33>> <<p33>> !665
+ <<p33>> <<p34>> <<p34>> <<p34>> <<p34>> <<p34>> <<p34>> !672
+ <<p34>> <<p34>> <<p34>> <<p34>> <<p34>> <<p34>> <<p34>> !679
+ <<p34>> <<p34>> <<p34>> <<p34>> <<p34>> <<p34>> <<p34>> !686
+ <<p34>> <<p34>> <<p35>> <<p35>> <<p35>> <<p35>> <<p35>> !693
+ <<p35>> <<p35>> <<p35>> <<p35>> <<p35>> <<p35>> <<p35>> !700
+ <<p35>> <<p35>> <<p35>> <<p35>> <<p35>> <<p35>> <<p35>> !707
+ <<p35>> <<p35>> <<p35>> <<p35>> <<p35>> <<p35>> <<p36>> !714
+ <<p36>> <<p36>> <<p36>> <<p36>> <<p36>> <<p36>> <<p36>> !721
+ <<p36>> <<p36>> <<p36>> <<p36>> <<p36>> <<p36>> <<p36>> !728
+ <<p36>> <<p36>> <<p36>> <<p37>> <<p37>> <<p37>> <<p37>> !735
+ <<p37>> <<p37>> <<p37>> <<p37>> <<p37>> <<p37>> <<p37>> !742
+ <<p37>> <<p37>> <<p37>> <<p37>> <<p37>> <<p37>> <<p37>> !749
+ <<p37>> <<p37>> <<p37>> <<p37>> <<p38>> <<p38>> <<p38>> !756
+ <<p38>> <<p38>> <<p38>> <<p38>> <<p38>> <<p38>> <<p38>> !763
+ <<p38>> <<p38>> <<p38>> <<p38>> <<p38>> <<p38>> <<p38>> !770
+ <<p38>> <<p38>> <<p38>> <<p38>> <<p38>> <<p39>> <<p39>> !777
+ <<p39>> <<p39>> <<p39>> <<p39>> <<p39>> <<p39>> <<p39>> !784
+ <<p39>> <<p39>> <<p39>> <<p39>> <<p39>> <<p39>> <<p39>> !791
+ <<p39>> <<p39>> <<p39>> <<p39>> <<p39>> <<p39>> <<p39>> !798
+ <<p39>> <<p39>> <<p40>> <<p40>> <<p40>> <<p40>> <<p40>> !805
+ <<p40>> <<p40>> <<p40>> <<p40>> <<p40>> <<p40>> <<p40>> !812
+ <<p40>> <<p40>> <<p40>> <<p40>> <<p41>> <<p41>> <<p41>> !819
+ <<p41>> <<p41>> <<p41>> <<p41>> <<p41>> <<p41>> <<p41>> !826
+ <<p41>> <<p41>> <<p41>> <<p41>> <<p41>> <<p41>> <<p41>> !833
+ <<p41>> <<p41>> <<p41>> <<p41>> <<p41>> <<p42>> <<p42>> !840
+ <<p42>> <<p42>> <<p42>> <<p42>> <<p42>> <<p42>> <<p42>> !847
+ <<p42>> <<p42>> <<p42>> <<p42>> <<p42>> <<p42>> <<p42>> !854
+ <<p42>> <<p42>> <<p42>> <<p42>> <<p42>> <<p42>> <<p42>> !861
+ <<p42>> <<p42>> <<p43>> <<p43>> <<p43>> <<p43>> <<p43>> !868
+ <<p43>> <<p43>> <<p43>> <<p43>> <<p43>> <<p43>> <<p43>> !875
+ <<p43>> <<p43>> <<p43>> <<p43>> <<p44>> <<p44>> <<p44>> !882
+ <<p44>> <<p44>> <<p44>> <<p44>> <<p44>> <<p44>> <<p44>> !889
+ <<p44>> <<p44>> <<p44>> <<p44>> <<p44>> <<p44>> <<p44>> !896
+ <<p44>> <<p44>> <<p44>> <<p44>> <<p44>> <<p44>> <<p44>> !903
+ <<p44>> <<p45>> <<p45>> <<p45>> <<p45>> <<p45>> <<p45>> !910
+ <<p45>> <<p45>> <<p45>> <<p45>> <<p45>> <<p45>> <<p45>> !917
+ <<p45>> <<p45>> <<p45>> <<p45>> <<p45>> <<p45>> <<p45>> !924
+ COND 19
+ SAVE ON <<NameDir>>
+ MGEO GEOTMP
+ ADF 'FD_B' MIX 165 166 167 ENDM !gap L1 L3 L2
+ ADF 'FD_H' REGI 113 114 115 116 117 118 119 120 121 122 123 124 125
+ 126 127 128 !p8 complete
+ 129 130 131 132 133 134 135 136 137 138 139 140 141
+ 142 143 144 145 146 !p9 complete
+ 273 274 275 276 277 278 279 280 281 282 283 284 285
+ 286 287 288 289 290 291 292 293 294 !p16 complete
+ 295 296 297 298 299 300 301 302 303 304 305 306 307
+ 308 309 310 311 312 313 314 315 316 317 318 319 !p17 complete
+ 424 425 426 427 428 429 430 431 432 433 434 435 436
+ 437 438 439 440 441 442 443 444 445 !p23 complete
+ 446 447 448 449 450 451 452 453 454 455 456 457 458
+ 459 460 461 462 463 464 465 466 467 468 469 470 !p24 complete
+ 560 561 562 563 564 565 566 567 568 569 570 571 572
+ 573 574 575 576 577 578 579 580 581 !p29 complete
+ 582 583 584 585 586 587 588 589 590 591 592 593 594
+ 595 596 597 598 599 600 601 602 603 604 605 606 !p30 complete
+ 667 668 669 670 671 672 673 674 675 676 677 678 679
+ 680 681 682 683 684 685 686 687 688 !p34 complete
+ 689 690 691 692 693 694 695 696 697 698 699 700 701
+ 702 703 704 705 706 707 708 709 710 711 712 713 !p35 complete
+ 754 755 756 757 758 759 760 761 762 763 764 765 766
+ 767 768 769 770 771 772 773 774 775 !p38 complete
+ 776 777 778 779 780 781 782 783 784 785 786 787 788
+ 789 790 791 792 793 794 795 796 797 798 799 800 !p39 complete
+ 817 818 819 820 821 822 823 824 825 826 827 828 829
+ 830 831 832 833 834 835 836 837 838 !p41 complete
+ 839 840 841 842 843 844 845 846 847 848 849 850 851
+ 852 853 854 855 856 857 858 859 860 861 862 863 !p42 complete
+ 864 865 866 867 868 869 870 871 872 873 874 875 876
+ 877 878 879 !p43 complete
+ 880 881 882 883 884 885 886 887 888 889 890 891 892
+ 893 894 895 896 897 898 899 900 901 902 903 904 !p44 complete
+ 905 906 907 908 909 910 911 912 913 914 915 916
+ 917 918 919 920 921 922 923 924 !p45 complete
+ ENDR
+ ;
+ IF SelOpt 'NONE' <> THEN
+ MTRACK := TRIVAT: ASSMB_HOM :: DUAL 3 3 EDIT 0 ;
+ EDIOBJ := SPH: EDIOBJ MTRACK ::
+ EDIT 0 <<SelOpt>> ITER 1.0E-5 ;
+ MTRACK ASSMB_HOM := DELETE: MTRACK ASSMB_HOM ;
+ ENDIF ;
+*
+ELSEIF TypeCompo "PinByPin" = THEN
+ EDIOBJ := EDI: FLUX2 LIBEQ TRACKN2 GEON2 GEOTMP ::
+ EDIT 0
+ MICR RES
+ MERG CELL UNFOLD !! Does not work alone because of CELL in the water gap
+ REMIX 1 2 3 4 5 6 7 8 9 9
+ 10 11 12 13 14 15 16 17 17
+ 18 19 20 21 22 23 24 24
+ 25 26 27 28 29 30 30
+ 31 32 33 34 35 35
+ 36 37 38 39 39
+ 40 41 42 42
+ 43 44 44
+ 45 45
+ 45
+!
+! or (both tested and give the same results)
+!
+! merge by mixture
+! MERG REGI
+! <<p1>> <<p1>> <<p1>> <<p1>> <<p1>> <<p1>> <<p1>> !7
+! <<p1>> <<p1>> <<p1>> <<p1>> <<p1>> <<p2>> <<p2>> !14
+! <<p2>> <<p2>> <<p2>> <<p2>> <<p2>> <<p2>> <<p2>> !21
+! <<p2>> <<p2>> <<p2>> <<p2>> <<p2>> <<p2>> <<p2>> !28
+! <<p3>> <<p3>> <<p3>> <<p3>> <<p3>> <<p3>> <<p3>> !35
+! <<p3>> <<p3>> <<p3>> <<p3>> <<p3>> <<p3>> <<p3>> !42
+! <<p3>> <<p3>> <<p4>> <<p4>> <<p4>> <<p4>> <<p4>> !49
+! <<p4>> <<p4>> <<p4>> <<p4>> <<p4>> <<p4>> <<p4>> !56
+! <<p4>> <<p4>> <<p4>> <<p4>> <<p4>> <<p4>> <<p5>> !63
+! <<p5>> <<p5>> <<p5>> <<p5>> <<p5>> <<p5>> <<p5>> !70
+! <<p5>> <<p5>> <<p5>> <<p5>> <<p5>> <<p5>> <<p5>> !77
+! <<p5>> <<p6>> <<p6>> <<p6>> <<p6>> <<p6>> <<p6>> !84
+! <<p6>> <<p6>> <<p6>> <<p6>> <<p6>> <<p6>> <<p6>> !91
+! <<p6>> <<p6>> <<p6>> <<p7>> <<p7>> <<p7>> <<p7>> !98
+! <<p7>> <<p7>> <<p7>> <<p7>> <<p7>> <<p7>> <<p7>> !105
+! <<p7>> <<p7>> <<p7>> <<p7>> <<p7>> <<p7>> <<p7>> !112
+! <<p8>> <<p8>> <<p8>> <<p8>> <<p8>> <<p8>> <<p8>> !119
+! <<p8>> <<p8>> <<p8>> <<p8>> <<p8>> <<p8>> <<p8>> !126
+! <<p8>> <<p8>> <<p9>> <<p9>> <<p9>> <<p9>> <<p9>> !133
+! <<p9>> <<p9>> <<p9>> <<p9>> <<p9>> <<p9>> <<p9>> !140
+! <<p9>> <<p9>> <<p9>> <<p9>> <<p9>> <<p9>> <<p10>> !147
+! <<p10>> <<p10>> <<p10>> <<p10>> <<p10>> <<p10>> <<p10>> !154
+! <<p10>> <<p10>> <<p10>> <<p10>> <<p10>> <<p10>> <<p10>> !161
+! <<p10>> <<p11>> <<p11>> <<p11>> <<p11>> <<p11>> <<p11>> !168
+! <<p11>> <<p11>> <<p11>> <<p11>> <<p11>> <<p11>> <<p11>> !175
+! <<p11>> <<p11>> <<p11>> <<p11>> <<p11>> <<p11>> <<p11>> !182
+! <<p11>> <<p11>> <<p12>> <<p12>> <<p12>> <<p12>> <<p12>> !189
+! <<p12>> <<p12>> <<p12>> <<p12>> <<p12>> <<p12>> <<p12>> !196
+! <<p12>> <<p12>> <<p12>> <<p12>> <<p12>> <<p12>> <<p12>> !203
+! <<p12>> <<p12>> <<p12>> <<p13>> <<p13>> <<p13>> <<p13>> !210
+! <<p13>> <<p13>> <<p13>> <<p13>> <<p13>> <<p13>> <<p13>> !217
+! <<p13>> <<p13>> <<p13>> <<p13>> <<p13>> <<p13>> <<p13>> !224
+! <<p13>> <<p13>> <<p13>> <<p13>> <<p14>> <<p14>> <<p14>> !231
+! <<p14>> <<p14>> <<p14>> <<p14>> <<p14>> <<p14>> <<p14>> !238
+! <<p14>> <<p14>> <<p14>> <<p14>> <<p14>> <<p14>> <<p14>> !245
+! <<p14>> <<p14>> <<p14>> <<p14>> <<p14>> <<p15>> <<p15>> !252
+! <<p15>> <<p15>> <<p15>> <<p15>> <<p15>> <<p15>> <<p15>> !259
+! <<p15>> <<p15>> <<p15>> <<p15>> <<p15>> <<p15>> <<p15>> !266
+! <<p15>> <<p15>> <<p15>> <<p15>> <<p15>> <<p15>> <<p16>> !273
+! <<p16>> <<p16>> <<p16>> <<p16>> <<p16>> <<p16>> <<p16>> !280
+! <<p16>> <<p16>> <<p16>> <<p16>> <<p16>> <<p16>> <<p16>> !287
+! <<p16>> <<p16>> <<p16>> <<p16>> <<p16>> <<p16>> <<p16>> !294
+! <<p17>> <<p17>> <<p17>> <<p17>> <<p17>> <<p17>> <<p17>> !301
+! <<p17>> <<p17>> <<p17>> <<p17>> <<p17>> <<p17>> <<p17>> !308
+! <<p17>> <<p17>> <<p17>> <<p17>> <<p17>> <<p17>> <<p17>> !315
+! <<p17>> <<p17>> <<p17>> <<p17>> <<p18>> <<p18>> <<p18>> !322
+! <<p18>> <<p18>> <<p18>> <<p18>> <<p18>> <<p18>> <<p18>> !329
+! <<p18>> <<p18>> <<p18>> <<p18>> <<p18>> <<p18>> <<p19>> !336
+! <<p19>> <<p19>> <<p19>> <<p19>> <<p19>> <<p19>> <<p19>> !343
+! <<p19>> <<p19>> <<p19>> <<p19>> <<p19>> <<p19>> <<p19>> !350
+! <<p19>> <<p19>> <<p19>> <<p19>> <<p19>> <<p19>> <<p19>> !357
+! <<p20>> <<p20>> <<p20>> <<p20>> <<p20>> <<p20>> <<p20>> !364
+! <<p20>> <<p20>> <<p20>> <<p20>> <<p20>> <<p20>> <<p20>> !371
+! <<p20>> <<p20>> <<p20>> <<p20>> <<p20>> <<p20>> <<p20>> !378
+! <<p20>> <<p21>> <<p21>> <<p21>> <<p21>> <<p21>> <<p21>> !385
+! <<p21>> <<p21>> <<p21>> <<p21>> <<p21>> <<p21>> <<p21>> !392
+! <<p21>> <<p21>> <<p21>> <<p21>> <<p21>> <<p21>> <<p21>> !399
+! <<p21>> <<p21>> <<p22>> <<p22>> <<p22>> <<p22>> <<p22>> !406
+! <<p22>> <<p22>> <<p22>> <<p22>> <<p22>> <<p22>> <<p22>> !413
+! <<p22>> <<p22>> <<p22>> <<p22>> <<p22>> <<p22>> <<p22>> !420
+! <<p22>> <<p22>> <<p22>> <<p23>> <<p23>> <<p23>> <<p23>> !427
+! <<p23>> <<p23>> <<p23>> <<p23>> <<p23>> <<p23>> <<p23>> !434
+! <<p23>> <<p23>> <<p23>> <<p23>> <<p23>> <<p23>> <<p23>> !441
+! <<p23>> <<p23>> <<p23>> <<p23>> <<p24>> <<p24>> <<p24>> !448
+! <<p24>> <<p24>> <<p24>> <<p24>> <<p24>> <<p24>> <<p24>> !455
+! <<p24>> <<p24>> <<p24>> <<p24>> <<p24>> <<p24>> <<p24>> !462
+! <<p24>> <<p24>> <<p24>> <<p24>> <<p24>> <<p24>> <<p24>> !469
+! <<p24>> <<p25>> <<p25>> <<p25>> <<p25>> <<p25>> <<p25>> !476
+! <<p25>> <<p25>> <<p25>> <<p25>> <<p25>> <<p25>> <<p25>> !483
+! <<p25>> <<p25>> <<p25>> <<p25>> <<p25>> <<p26>> <<p26>> !490
+! <<p26>> <<p26>> <<p26>> <<p26>> <<p26>> <<p26>> <<p26>> !497
+! <<p26>> <<p26>> <<p26>> <<p26>> <<p26>> <<p26>> <<p26>> !504
+! <<p26>> <<p26>> <<p26>> <<p26>> <<p26>> <<p26>> <<p27>> !511
+! <<p27>> <<p27>> <<p27>> <<p27>> <<p27>> <<p27>> <<p27>> !518
+! <<p27>> <<p27>> <<p27>> <<p27>> <<p27>> <<p27>> <<p27>> !525
+! <<p27>> <<p27>> <<p27>> <<p27>> <<p27>> <<p27>> <<p27>> !532
+! <<p28>> <<p28>> <<p28>> <<p28>> <<p28>> <<p28>> <<p28>> !539
+! <<p28>> <<p28>> <<p28>> <<p28>> <<p28>> <<p28>> <<p28>> !546
+! <<p28>> <<p28>> <<p28>> <<p28>> <<p28>> <<p28>> <<p28>> !553
+! <<p28>> <<p28>> <<p28>> <<p28>> <<p28>> <<p28>> <<p29>> !560
+! <<p29>> <<p29>> <<p29>> <<p29>> <<p29>> <<p29>> <<p29>> !567
+! <<p29>> <<p29>> <<p29>> <<p29>> <<p29>> <<p29>> <<p29>> !574
+! <<p29>> <<p29>> <<p29>> <<p29>> <<p29>> <<p29>> <<p29>> !581
+! <<p30>> <<p30>> <<p30>> <<p30>> <<p30>> <<p30>> <<p30>> !588
+! <<p30>> <<p30>> <<p30>> <<p30>> <<p30>> <<p30>> <<p30>> !595
+! <<p30>> <<p30>> <<p30>> <<p30>> <<p30>> <<p30>> <<p30>> !602
+! <<p30>> <<p30>> <<p30>> <<p30>> <<p31>> <<p31>> <<p31>> !609
+! <<p31>> <<p31>> <<p31>> <<p31>> <<p31>> <<p31>> <<p31>> !616
+! <<p31>> <<p31>> <<p31>> <<p31>> <<p31>> <<p31>> <<p32>> !623
+! <<p32>> <<p32>> <<p32>> <<p32>> <<p32>> <<p32>> <<p32>> !630
+! <<p32>> <<p32>> <<p32>> <<p32>> <<p32>> <<p32>> <<p32>> !637
+! <<p32>> <<p32>> <<p32>> <<p32>> <<p32>> <<p32>> <<p32>> !644
+! <<p33>> <<p33>> <<p33>> <<p33>> <<p33>> <<p33>> <<p33>> !651
+! <<p33>> <<p33>> <<p33>> <<p33>> <<p33>> <<p33>> <<p33>> !658
+! <<p33>> <<p33>> <<p33>> <<p33>> <<p33>> <<p33>> <<p33>> !665
+! <<p33>> <<p34>> <<p34>> <<p34>> <<p34>> <<p34>> <<p34>> !672
+! <<p34>> <<p34>> <<p34>> <<p34>> <<p34>> <<p34>> <<p34>> !679
+! <<p34>> <<p34>> <<p34>> <<p34>> <<p34>> <<p34>> <<p34>> !686
+! <<p34>> <<p34>> <<p35>> <<p35>> <<p35>> <<p35>> <<p35>> !693
+! <<p35>> <<p35>> <<p35>> <<p35>> <<p35>> <<p35>> <<p35>> !700
+! <<p35>> <<p35>> <<p35>> <<p35>> <<p35>> <<p35>> <<p35>> !707
+! <<p35>> <<p35>> <<p35>> <<p35>> <<p35>> <<p35>> <<p36>> !714
+! <<p36>> <<p36>> <<p36>> <<p36>> <<p36>> <<p36>> <<p36>> !721
+! <<p36>> <<p36>> <<p36>> <<p36>> <<p36>> <<p36>> <<p36>> !728
+! <<p36>> <<p36>> <<p36>> <<p37>> <<p37>> <<p37>> <<p37>> !735
+! <<p37>> <<p37>> <<p37>> <<p37>> <<p37>> <<p37>> <<p37>> !742
+! <<p37>> <<p37>> <<p37>> <<p37>> <<p37>> <<p37>> <<p37>> !749
+! <<p37>> <<p37>> <<p37>> <<p37>> <<p38>> <<p38>> <<p38>> !756
+! <<p38>> <<p38>> <<p38>> <<p38>> <<p38>> <<p38>> <<p38>> !763
+! <<p38>> <<p38>> <<p38>> <<p38>> <<p38>> <<p38>> <<p38>> !770
+! <<p38>> <<p38>> <<p38>> <<p38>> <<p38>> <<p39>> <<p39>> !777
+! <<p39>> <<p39>> <<p39>> <<p39>> <<p39>> <<p39>> <<p39>> !784
+! <<p39>> <<p39>> <<p39>> <<p39>> <<p39>> <<p39>> <<p39>> !791
+! <<p39>> <<p39>> <<p39>> <<p39>> <<p39>> <<p39>> <<p39>> !798
+! <<p39>> <<p39>> <<p40>> <<p40>> <<p40>> <<p40>> <<p40>> !805
+! <<p40>> <<p40>> <<p40>> <<p40>> <<p40>> <<p40>> <<p40>> !812
+! <<p40>> <<p40>> <<p40>> <<p40>> <<p41>> <<p41>> <<p41>> !819
+! <<p41>> <<p41>> <<p41>> <<p41>> <<p41>> <<p41>> <<p41>> !826
+! <<p41>> <<p41>> <<p41>> <<p41>> <<p41>> <<p41>> <<p41>> !833
+! <<p41>> <<p41>> <<p41>> <<p41>> <<p41>> <<p42>> <<p42>> !840
+! <<p42>> <<p42>> <<p42>> <<p42>> <<p42>> <<p42>> <<p42>> !847
+! <<p42>> <<p42>> <<p42>> <<p42>> <<p42>> <<p42>> <<p42>> !854
+! <<p42>> <<p42>> <<p42>> <<p42>> <<p42>> <<p42>> <<p42>> !861
+! <<p42>> <<p42>> <<p43>> <<p43>> <<p43>> <<p43>> <<p43>> !868
+! <<p43>> <<p43>> <<p43>> <<p43>> <<p43>> <<p43>> <<p43>> !875
+! <<p43>> <<p43>> <<p43>> <<p43>> <<p44>> <<p44>> <<p44>> !882
+! <<p44>> <<p44>> <<p44>> <<p44>> <<p44>> <<p44>> <<p44>> !889
+! <<p44>> <<p44>> <<p44>> <<p44>> <<p44>> <<p44>> <<p44>> !896
+! <<p44>> <<p44>> <<p44>> <<p44>> <<p44>> <<p44>> <<p44>> !903
+! <<p44>> <<p45>> <<p45>> <<p45>> <<p45>> <<p45>> <<p45>> !910
+! <<p45>> <<p45>> <<p45>> <<p45>> <<p45>> <<p45>> <<p45>> !917
+! <<p45>> <<p45>> <<p45>> <<p45>> <<p45>> <<p45>> <<p45>> !924
+ COND 19
+ SAVE ON <<NameDir>>
+ MGEO GEOTMP
+ ADF 'FD_B' MIX 165 166 167 ENDM !gap L1 L2 L3
+ ADF 'FD_H' MIX 165 166 167 !L1 a L3
+ 172 173 174 175 ! C31 a C38 water and clad ...
+ 29 30 31 32 !p9 complete C31
+ 141 142 143 144 !p17 complete C32
+ 145 146 147 148 !p24 complete C33
+ 149 150 151 152 !p30 complete C34
+ 153 154 155 156 !p35 complete C35
+ 157 158 159 160 !p39 complete C36
+ 161 162 163 164 !p42 complete C37
+ 33 34 35 36 !p44 complete C38
+ 176 177 178 179 ! C39 water and clad ...
+ 37 38 39 40 !p45 complete C39
+ ENDM
+ ;
+ IF SelOpt 'NONE' <> THEN
+ MTRACK := TRIVAT: ASSMB_HOM :: DUAL 3 3 EDIT 0 ;
+ EDIOBJ := SPH: EDIOBJ MTRACK ::
+ EDIT 0 <<SelOpt>> ITER 1.0E-5 ;
+ MTRACK ASSMB_HOM := DELETE: MTRACK ASSMB_HOM ;
+ ENDIF ;
+*
+ENDIF ;
+
+GEOTMP := DELETE: GEOTMP ;
+END: ;
+QUIT .
diff --git a/Dragon/data/rep900_het_gff_proc/GeoHom.c2m b/Dragon/data/rep900_het_gff_proc/GeoHom.c2m
new file mode 100644
index 0000000..bfa5a3a
--- /dev/null
+++ b/Dragon/data/rep900_het_gff_proc/GeoHom.c2m
@@ -0,0 +1,277 @@
+*DECK GeoHom
+*----
+* Name : GeoHom.c2m
+* Type : DRAGON procedure
+* Use : Geometry generation homogenization
+* Author : R. Chambon
+*
+* Procedure called as:
+*
+*ALLGEO:= GeoHom :: <<Cote>> <<CoteL>> ;
+*
+* Input data :
+* Cote : Lattice pitch (cm)
+* CoteL : Lattice pitch + Water space (cm)
+*
+* Output data :
+* ALLGEO : All Geometries for homogenizations
+*
+PARAMETER ALLGEO ::
+ EDIT 0
+ ::: LINKED_LIST ALLGEO ;
+ ;
+LINKED_LIST GEOTMP ASSMB_HOM ;
+
+*----
+* Modules used in this procedure
+*----
+MODULE GEO: DELETE: BACKUP: END: ;
+
+*----
+* Input data recovery
+*----
+* ;
+REAL Cote CoteL ;
+:: >>Cote<< >>CoteL<< ;
+STRING namgeohom namgeoht1 namgeoht2 namgeopin :=
+ "GEOHOM" "GEOHT1" "GEOHT2" "GEOPIN" ;
+STRING namsphhom namsphht1 namsphht2 namsphpin :=
+ "SPHHOM" "SPHHT1" "SPHHT2" "SPHPIN" ;
+*
+* GEOMETRY for MULTICOMPO
+*
+*
+*----
+* Homogeneous assembly
+*----
+REAL Lassp Lassm ;
+EVALUATE Lassp := Cote 15. * CoteL 2. * + 2. / ;
+EVALUATE Lassm := Lassp -1. * ;
+GEOTMP := GEO: :: CAR2D 1 1
+ EDIT 0
+ X- REFL X+ REFL
+ Y- REFL Y+ REFL
+ MIX 1
+ MESHX <<Lassm>> <<Lassp>>
+ MESHY <<Lassm>> <<Lassp>>
+;
+ALLGEO := BACKUP: GEOTMP ::
+EDIT 0
+STEP UP <<namgeohom>>
+;
+GEOTMP := DELETE: GEOTMP ;
+*----
+* Heterogeneous assembly
+*----
+REAL LHetp LHetm ;
+EVALUATE LHetp := Cote 15. * 2. / ;
+EVALUATE LHetm := LHetp -1. * ;
+GEOTMP := GEO: :: CAR2D 3 3
+ EDIT 0
+ X- REFL X+ REFL
+ Y- REFL Y+ REFL
+ MIX 3 2 3
+ 2 1 2
+ 3 2 3
+ MESHX <<Lassm>> <<LHetm>> <<LHetp>> <<Lassp>>
+ MESHY <<Lassm>> <<LHetm>> <<LHetp>> <<Lassp>>
+;
+ALLGEO := BACKUP: ALLGEO GEOTMP ::
+EDIT 0
+STEP UP <<namgeoht1>>
+;
+GEOTMP := DELETE: GEOTMP ;
+*
+EVALUATE LHetp := Cote 13. * 2. / ;
+EVALUATE LHetm := LHetp -1. * ;
+GEOTMP := GEO: :: CAR2D 3 3
+ EDIT 0
+ X- REFL X+ REFL
+ Y- REFL Y+ REFL
+ MIX 3 2 3
+ 2 1 2
+ 3 2 3
+ MESHX <<Lassm>> <<LHetm>> <<LHetp>> <<Lassp>>
+ MESHY <<Lassm>> <<LHetm>> <<LHetp>> <<Lassp>>
+;
+ALLGEO := BACKUP: ALLGEO GEOTMP ::
+EDIT 0
+STEP UP <<namgeoht2>>
+;
+GEOTMP := DELETE: GEOTMP ;
+*
+*----
+* Pin by pin assembly
+*----
+REAL Lp1p Lp1m Lp2p Lp2m Lp3p Lp3m Lp4p Lp4m
+ Lp5p Lp5m Lp6p Lp6m Lp7p Lp7m Lp8p Lp8m ;
+EVALUATE Lp1p := Cote 1. * 2. / ;
+EVALUATE Lp1m := Lp1p -1. * ;
+EVALUATE Lp2p := Cote 3. * 2. / ;
+EVALUATE Lp2m := Lp2p -1. * ;
+EVALUATE Lp3p := Cote 5. * 2. / ;
+EVALUATE Lp3m := Lp3p -1. * ;
+EVALUATE Lp4p := Cote 7. * 2. / ;
+EVALUATE Lp4m := Lp4p -1. * ;
+EVALUATE Lp5p := Cote 9. * 2. / ;
+EVALUATE Lp5m := Lp5p -1. * ;
+EVALUATE Lp6p := Cote 11. * 2. / ;
+EVALUATE Lp6m := Lp6p -1. * ;
+EVALUATE Lp7p := Cote 13. * 2. / ;
+EVALUATE Lp7m := Lp7p -1. * ;
+EVALUATE Lp8p := Cote 15. * 2. / ;
+EVALUATE Lp8m := Lp8p -1. * ;
+GEOTMP := GEO: :: CAR2D 17 17
+ EDIT 0
+ X- REFL X+ REFL
+ Y- REFL Y+ REFL
+ MIX
+ 45 44 42 39 35 30 24 17 9 17 24 30 35 39 42 44 45
+ 44 43 41 38 34 29 23 16 8 16 23 29 34 38 41 43 44
+ 42 41 40 37 33 28 22 15 7 15 22 28 33 37 40 41 42
+ 39 38 37 36 32 27 21 14 6 14 21 27 32 36 37 38 39
+ 35 34 33 32 31 26 20 13 5 13 20 26 31 32 33 34 35
+ 30 29 28 27 26 25 19 12 4 12 19 25 26 27 28 29 30
+ 24 23 22 21 20 19 18 11 3 11 18 19 20 21 22 23 24
+ 17 16 15 14 13 12 11 10 2 10 11 12 13 14 15 16 17
+ 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9
+ 17 16 15 14 13 12 11 10 2 10 11 12 13 14 15 16 17
+ 24 23 22 21 20 19 18 11 3 11 18 19 20 21 22 23 24
+ 30 29 28 27 26 25 19 12 4 12 19 25 26 27 28 29 30
+ 35 34 33 32 31 26 20 13 5 13 20 26 31 32 33 34 35
+ 39 38 37 36 32 27 21 14 6 14 21 27 32 36 37 38 39
+ 42 41 40 37 33 28 22 15 7 15 22 28 33 37 40 41 42
+ 44 43 41 38 34 29 23 16 8 16 23 29 34 38 41 43 44
+ 45 44 42 39 35 30 24 17 9 17 24 30 35 39 42 44 45
+ MESHX <<Lassm>> <<Lp8m>> <<Lp7m>> <<Lp6m>> <<Lp5m>> <<Lp4m>>
+ <<Lp3m>> <<Lp2m>> <<Lp1m>> <<Lp1p>> <<Lp2p>> <<Lp3p>>
+ <<Lp4p>> <<Lp5p>> <<Lp6p>> <<Lp7p>> <<Lp8p>> <<Lassp>>
+ MESHY <<Lassm>> <<Lp8m>> <<Lp7m>> <<Lp6m>> <<Lp5m>> <<Lp4m>>
+ <<Lp3m>> <<Lp2m>> <<Lp1m>> <<Lp1p>> <<Lp2p>> <<Lp3p>>
+ <<Lp4p>> <<Lp5p>> <<Lp6p>> <<Lp7p>> <<Lp8p>> <<Lassp>>
+;
+ALLGEO := BACKUP: ALLGEO GEOTMP ::
+EDIT 0
+STEP UP <<namgeopin>>
+;
+GEOTMP := DELETE: GEOTMP ;
+*
+* GEOMETRY for SPH calculations
+*
+*
+*
+* Original geometry for flux calculation
+* CELL TI C01 C03 T1 C08 C13 T2 C23 C31 L1
+* C02 C04 C06 C09 C14 C18 C24 C32 L1
+* C05 C07 C10 C15 C19 C25 C33 L1
+* T1 C11 C16 T2 C26 C34 L1
+* C12 C17 C20 C27 C35 L1
+* T2 C21 C28 C36 L1
+* C22 C29 C37 L1
+* C30 C38 L1
+* C39 L1
+* L2
+
+REAL Lp9p ;
+EVALUATE Lp9p := Cote 17. * 2. / ;
+*----
+* Homogeneous assembly
+*----
+ASSMB_HOM := GEO: :: CAR2D 10 10
+ X- DIAG X+ REFL Y- SYME Y+ DIAG
+ MIX 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1
+ 1 1 1 1 1 1
+ 1 1 1 1 1
+ 1 1 1 1
+ 1 1 1
+ 1 1
+ 1
+ MESHX <<Lp1m>> <<Lp1p>> <<Lp2p>> <<Lp3p>> <<Lp4p>> <<Lp5p>>
+ <<Lp6p>> <<Lp7p>> <<Lp8p>> <<Lp9p>> <<Lassp>>
+ MESHY <<Lp1m>> <<Lp1p>> <<Lp2p>> <<Lp3p>> <<Lp4p>> <<Lp5p>>
+ <<Lp6p>> <<Lp7p>> <<Lp8p>> <<Lp9p>> <<Lassp>>
+ ;
+ALLGEO := BACKUP: ALLGEO ASSMB_HOM ::
+EDIT 0
+STEP UP <<namsphhom>>
+;
+ASSMB_HOM := DELETE: ASSMB_HOM ;
+*----
+* Heterogeneous assembly
+*----
+*(1 pin thick outer layer in DRAGON)
+ASSMB_HOM := GEO: :: CAR2D 10 10
+ X- DIAG X+ REFL Y- SYME Y+ DIAG
+ MIX 1 1 1 1 1 1 1 1 2 2
+ 1 1 1 1 1 1 1 2 2
+ 1 1 1 1 1 1 2 2
+ 1 1 1 1 1 2 2
+ 1 1 1 1 2 2
+ 1 1 1 2 2
+ 1 1 2 2
+ 1 2 2
+ 3 3
+ 3
+ MESHX <<Lp1m>> <<Lp1p>> <<Lp2p>> <<Lp3p>> <<Lp4p>> <<Lp5p>>
+ <<Lp6p>> <<Lp7p>> <<Lp8p>> <<Lp9p>> <<Lassp>>
+ MESHY <<Lp1m>> <<Lp1p>> <<Lp2p>> <<Lp3p>> <<Lp4p>> <<Lp5p>>
+ <<Lp6p>> <<Lp7p>> <<Lp8p>> <<Lp9p>> <<Lassp>>
+ ;
+ALLGEO := BACKUP: ALLGEO ASSMB_HOM ::
+EDIT 0
+STEP UP <<namsphht1>>
+;
+ASSMB_HOM := DELETE: ASSMB_HOM ;
+*(2 pins thick outer layer in DRAGON)
+ASSMB_HOM := GEO: :: CAR2D 10 10
+ X- DIAG X+ REFL Y- SYME Y+ DIAG
+ MIX 1 1 1 1 1 1 1 2 2 2
+ 1 1 1 1 1 1 2 2 2
+ 1 1 1 1 1 2 2 2
+ 1 1 1 1 2 2 2
+ 1 1 1 2 2 2
+ 1 1 2 2 2
+ 1 2 2 2
+ 3 3 3
+ 3 3
+ 3
+ MESHX <<Lp1m>> <<Lp1p>> <<Lp2p>> <<Lp3p>> <<Lp4p>> <<Lp5p>>
+ <<Lp6p>> <<Lp7p>> <<Lp8p>> <<Lp9p>> <<Lassp>>
+ MESHY <<Lp1m>> <<Lp1p>> <<Lp2p>> <<Lp3p>> <<Lp4p>> <<Lp5p>>
+ <<Lp6p>> <<Lp7p>> <<Lp8p>> <<Lp9p>> <<Lassp>>
+ ;
+ALLGEO := BACKUP: ALLGEO ASSMB_HOM ::
+EDIT 0
+STEP UP <<namsphht2>>
+;
+ASSMB_HOM := DELETE: ASSMB_HOM ;
+*----
+* Pin by pin assembly
+*----
+ASSMB_HOM := GEO: :: CAR2D 10 10
+ X- DIAG X+ REFL Y- SYME Y+ DIAG
+MIX 1 2 3 4 5 6 7 8 9 9
+ 10 11 12 13 14 15 16 17 17
+ 18 19 20 21 22 23 24 24
+ 25 26 27 28 29 30 30
+ 31 32 33 34 35 35
+ 36 37 38 39 39
+ 40 41 42 42
+ 43 44 44
+ 45 45
+ 45
+ MESHX <<Lp1m>> <<Lp1p>> <<Lp2p>> <<Lp3p>> <<Lp4p>> <<Lp5p>>
+ <<Lp6p>> <<Lp7p>> <<Lp8p>> <<Lp9p>> <<Lassp>>
+ MESHY <<Lp1m>> <<Lp1p>> <<Lp2p>> <<Lp3p>> <<Lp4p>> <<Lp5p>>
+ <<Lp6p>> <<Lp7p>> <<Lp8p>> <<Lp9p>> <<Lassp>>
+ ;
+ALLGEO := BACKUP: ALLGEO ASSMB_HOM ::
+EDIT 0
+STEP UP <<namsphpin>>
+;
+ASSMB_HOM := DELETE: ASSMB_HOM ;
+END: ;
+QUIT .
diff --git a/Dragon/data/rep900_het_gff_proc/Geo_N2_32H.c2m b/Dragon/data/rep900_het_gff_proc/Geo_N2_32H.c2m
new file mode 100644
index 0000000..925356d
--- /dev/null
+++ b/Dragon/data/rep900_het_gff_proc/Geo_N2_32H.c2m
@@ -0,0 +1,805 @@
+*DECK Geo_N2
+*----
+* Name : Geo_N2.c2m
+* Type : DRAGON procedure
+* Use : Geometry generation for 1st Level Flux Calculation
+* Author : R. Vallerent
+* modified : R. Chambon
+* mixture number changed for EDI: MERG MIX ... option
+*
+* Procedure called as:
+*
+*GEON2 := Geo_N2 :: <<Rcomb1>> <<Rcomb2>> <<Rcomb3>> <<Rcomb4>>
+* <<R_int_TG>> <<R_ext_TG>> <<R_int_TI>>
+* <<R_ext_TI>> <<R_int_G>> <<R_ext_G>> <<Cote>>
+* <<Lame>> <<RmodeN2>>
+* <<R_ext_G2>> <<R_ext_TGm>> <<R_ext_TIm>> ;
+*
+* Input data :
+* Rcomb1 : 50/100 of outer radius of fuel (cm)
+* Rcomb2 : 80/100 of outer radius of fuel (cm)
+* Rcomb3 : 95/100 of outer radius of fuel (cm)
+* Rcomb4 : 100/100 of outer radius of fuel (cm)
+* R_int_TG : Inner radius of cladding of guide tube (cm)
+* R_ext_TG : Outer radius of cladding of guide tube (cm)
+* R_int_TI : Inner radius of cladding of guide tube (cm)
+* R_ext_TI : Outer radius of cladding of guide tube (cm)
+* R_int_G : Inner radius of cladding of fuel tube (cm)
+* R_ext_G : Outer radius of cladding of fuel tube (cm)
+* Cote : Lattice pitch (cm)
+* Lame : Water space on the side of the assembly (cm)
+* RmodeN2 : Parameter for flux calculation in Level 2 (cm)
+* R_ext_G2 : R_ext_G * 2 (cm)
+* R_ext_TGm : -R_ext_TGm (cm)
+* R_ext_TIm : -R_ext_TIm (cm)
+*
+* Output data :
+* GEON2 : Geometry for Self-Shielding Calculation
+
+
+PARAMETER GEON2 ::
+ EDIT 0
+ ::: LINKED_LIST GEON2 ;
+ ;
+*----
+* Modules used in this procedure
+*----
+MODULE GEO: END: ;
+
+*----
+* Input data recovery
+*----
+* ;
+REAL Rcomb1 Rcomb2 Rcomb3 Rcomb4 ;
+:: >>Rcomb1<< >>Rcomb2<< >>Rcomb3<< >>Rcomb4<< ;
+REAL R_int_TG R_ext_TG R_int_TI R_ext_TI ;
+:: >>R_int_TG<< >>R_ext_TG<< >>R_int_TI<< >>R_ext_TI<< ;
+REAL R_int_G R_ext_G Cote Lame ;
+:: >>R_int_G<< >>R_ext_G<< >>Cote<< >>Lame<< ;
+REAL RmodeN2 ;
+:: >>RmodeN2<< ;
+
+REAL Angle := 0.785398163 ;
+REAL meshc1 meshc2 := 0.37 0.89 ;
+
+REAL R_ext_G2 R_ext_TGm R_ext_TIm ;
+:: >>R_ext_G2<< >>R_ext_TGm<< >>R_ext_TIm<< ;
+
+GEON2 := GEO: :: CAR2D 10 10
+ EDIT 0
+ X- DIAG X+ REFL
+ Y- SYME Y+ DIAG
+ CELL TI C01 C03 T1 C08 C13 T2 C23 C31 L1
+ C02 C04 C06 C09 C14 C18 C24 C32 L1
+ C05 C07 C10 C15 C19 C25 C33 L1
+ T1 C11 C16 T2 C26 C34 L1
+ C12 C17 C20 C27 C35 L1
+ T2 C21 C28 C36 L1
+ C22 C29 C37 L1
+ C30 C38 L1
+ C39 L3
+ L2
+
+ ::: C01 := GEO: CARCEL 2 3 3
+ MESHX 0.0 <<meshc1>> <<meshc2>> <<Cote>>
+ MESHY 0.0 <<meshc1>> <<meshc2>> <<Cote>>
+ SPLITX 1 1 1
+ SPLITY 1 1 1
+ RADIUS 0.0 <<R_ext_G>> <<RmodeN2>>
+ MIX 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ CLUSTER PIN
+ ::: PIN := GEO: TUBE 6
+ RADIUS 0.0 <<Rcomb1>> <<Rcomb2>> <<Rcomb3>> <<Rcomb4>>
+ <<R_int_G>> <<R_ext_G>>
+ MESHX 0.0 <<R_ext_G2>> SPLITX 1
+ MESHY 0.0 <<R_ext_G2>> SPLITY 1
+ MIX 9 10 11 12 3 2
+ NPIN 1 RPIN 0.0 APIN <<Angle>>
+ ;
+ ;
+
+
+ ::: C02 := GEO: C01
+ MIX 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ ::: PIN := GEO: PIN
+ MIX 13 14 15 16 3 2
+ ;
+ ;
+
+
+ ::: C03 := GEO: C01
+ MIX 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ ::: PIN := GEO: PIN
+ MIX 41 42 43 44 3 2
+ ;
+ ;
+
+
+ ::: C04 := GEO: C01
+ MIX 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ ::: PIN := GEO: PIN
+ MIX 89 90 91 92 3 2
+ ;
+ ;
+
+
+ ::: C05 := GEO: C01
+ MIX 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ ::: PIN := GEO: PIN
+ MIX 93 94 95 96 3 2
+ ;
+ ;
+
+
+ ::: C06 := GEO: C01
+ MIX 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ ::: PIN := GEO: PIN
+ MIX 45 46 47 48 3 2
+ ;
+ ;
+
+
+ ::: C07 := GEO: C01
+ MIX 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ ::: PIN := GEO: PIN
+ MIX 49 50 51 52 3 2
+ ;
+ ;
+
+
+ ::: C08 := GEO: C01
+ MIX 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ ::: PIN := GEO: PIN
+ MIX 53 54 55 56 3 2
+ ;
+ ;
+
+
+ ::: C09 := GEO: C01
+ MIX 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ ::: PIN := GEO: PIN
+ MIX 97 98 99 100 3 2
+ ;
+ ;
+
+
+ ::: C10 := GEO: C01
+ MIX 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ ::: PIN := GEO: PIN
+ MIX 101 102 103 104 3 2
+ ;
+ ;
+
+
+ ::: C11 := GEO: C01
+ MIX 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ ::: PIN := GEO: PIN
+ MIX 57 58 59 60 3 2
+ ;
+ ;
+
+
+ ::: C12 := GEO: C01
+ MIX 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ ::: PIN := GEO: PIN
+ MIX 105 106 107 108 3 2
+ ;
+ ;
+
+
+ ::: C13 := GEO: C01
+ MIX 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ ::: PIN := GEO: PIN
+ MIX 61 62 63 64 3 2
+ ;
+ ;
+
+
+ ::: C14 := GEO: C01
+ MIX 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ ::: PIN := GEO: PIN
+ MIX 109 110 111 112 3 2
+ ;
+ ;
+
+
+ ::: C15 := GEO: C01
+ MIX 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ ::: PIN := GEO: PIN
+ MIX 113 114 115 116 3 2
+ ;
+ ;
+
+
+ ::: C16 := GEO: C01
+ MIX 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ ::: PIN := GEO: PIN
+ MIX 65 66 67 68 3 2
+ ;
+ ;
+
+
+ ::: C17 := GEO: C01
+ MIX 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ ::: PIN := GEO: PIN
+ MIX 69 70 71 72 3 2
+ ;
+ ;
+
+
+ ::: C18 := GEO: C01
+ MIX 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ ::: PIN := GEO: PIN
+ MIX 73 74 75 76 3 2
+ ;
+ ;
+
+
+ ::: C19 := GEO: C01
+ MIX 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ ::: PIN := GEO: PIN
+ MIX 77 78 79 80 3 2
+ ;
+ ;
+
+
+ ::: C20 := GEO: C01
+ MIX 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ ::: PIN := GEO: PIN
+ MIX 81 82 83 84 3 2
+ ;
+ ;
+
+
+ ::: C21 := GEO: C01
+ MIX 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ ::: PIN := GEO: PIN
+ MIX 85 86 87 88 3 2
+ ;
+ ;
+
+
+ ::: C22 := GEO: C01
+ MIX 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ ::: PIN := GEO: PIN
+ MIX 117 118 119 120 3 2
+ ;
+ ;
+
+
+ ::: C23 := GEO: C01
+ MIX 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ ::: PIN := GEO: PIN
+ MIX 21 22 23 24 3 2
+ ;
+ ;
+
+
+ ::: C24 := GEO: C01
+ MIX 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ ::: PIN := GEO: PIN
+ MIX 121 122 123 124 3 2
+ ;
+ ;
+
+
+ ::: C25 := GEO: C01
+ MIX 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ ::: PIN := GEO: PIN
+ MIX 125 126 127 128 3 2
+ ;
+ ;
+
+
+ ::: C26 := GEO: C01
+ MIX 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ ::: PIN := GEO: PIN
+ MIX 137 138 139 140 3 2
+ ;
+ ;
+
+
+ ::: C27 := GEO: C01
+ MIX 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ ::: PIN := GEO: PIN
+ MIX 129 130 131 132 3 2
+ ;
+ ;
+
+
+ ::: C28 := GEO: C01
+ MIX 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ ::: PIN := GEO: PIN
+ MIX 17 18 19 20 3 2
+ ;
+ ;
+
+
+ ::: C29 := GEO: C01
+ MIX 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ ::: PIN := GEO: PIN
+ MIX 133 134 135 136 3 2
+ ;
+ ;
+
+
+ ::: C30 := GEO: C01
+ MIX 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ 2 4 5
+ ::: PIN := GEO: PIN
+ MIX 25 26 27 28 3 2
+ ;
+ ;
+
+
+ ::: C31 := GEO: C01
+ MIX 172 174 175
+ 172 174 175
+ 172 174 175
+ 172 174 175
+ 172 174 175
+ 172 174 175
+ 172 174 175
+ 172 174 175
+ 172 174 175
+ ::: PIN := GEO: PIN
+ MIX 29 30 31 32 173 172
+ ;
+ ;
+
+
+ ::: C32 := GEO: C01
+ MIX 172 174 175
+ 172 174 175
+ 172 174 175
+ 172 174 175
+ 172 174 175
+ 172 174 175
+ 172 174 175
+ 172 174 175
+ 172 174 175
+ ::: PIN := GEO: PIN
+ MIX 141 142 143 144 173 172
+ ;
+ ;
+
+
+ ::: C33 := GEO: C01
+ MIX 172 174 175
+ 172 174 175
+ 172 174 175
+ 172 174 175
+ 172 174 175
+ 172 174 175
+ 172 174 175
+ 172 174 175
+ 172 174 175
+ ::: PIN := GEO: PIN
+ MIX 145 146 147 148 173 172
+ ;
+ ;
+
+
+ ::: C34 := GEO: C01
+ MIX 172 174 175
+ 172 174 175
+ 172 174 175
+ 172 174 175
+ 172 174 175
+ 172 174 175
+ 172 174 175
+ 172 174 175
+ 172 174 175
+ ::: PIN := GEO: PIN
+ MIX 149 150 151 152 173 172
+ ;
+ ;
+
+
+ ::: C35 := GEO: C01
+ MIX 172 174 175
+ 172 174 175
+ 172 174 175
+ 172 174 175
+ 172 174 175
+ 172 174 175
+ 172 174 175
+ 172 174 175
+ 172 174 175
+ ::: PIN := GEO: PIN
+ MIX 153 154 155 156 173 172
+ ;
+ ;
+
+
+ ::: C36 := GEO: C01
+ MIX 172 174 175
+ 172 174 175
+ 172 174 175
+ 172 174 175
+ 172 174 175
+ 172 174 175
+ 172 174 175
+ 172 174 175
+ 172 174 175
+ ::: PIN := GEO: PIN
+ MIX 157 158 159 160 173 172
+ ;
+ ;
+
+
+ ::: C37 := GEO: C01
+ MIX 172 174 175
+ 172 174 175
+ 172 174 175
+ 172 174 175
+ 172 174 175
+ 172 174 175
+ 172 174 175
+ 172 174 175
+ 172 174 175
+ ::: PIN := GEO: PIN
+ MIX 161 162 163 164 173 172
+ ;
+ ;
+
+
+ ::: C38 := GEO: C01
+ MIX 172 174 175
+ 172 174 175
+ 172 174 175
+ 172 174 175
+ 172 174 175
+ 172 174 175
+ 172 174 175
+ 172 174 175
+ 172 174 175
+ ::: PIN := GEO: PIN
+ MIX 33 34 35 36 173 172
+ ;
+ ;
+
+
+ ::: C39 := GEO: C01
+ MIX 176 178 179
+ 176 178 179
+ 176 178 179
+ 176 178 179
+ 176 178 179
+ 176 178 179
+ 176 178 179
+ 176 178 179
+ 176 178 179
+ ::: PIN := GEO: PIN
+ MIX 37 38 39 40 177 176
+ ;
+ ;
+
+
+ ::: T2 := GEO: CARCEL 1 1 1
+ MESHX 0.0 <<Cote>>
+ MESHY 0.0 <<Cote>>
+ RADIUS 0.0 <<R_ext_TG>>
+ MIX 1 6
+ CLUSTER PIN
+ ::: PIN := GEO: TUBE 2 3 3
+ RADIUS 0.0 <<R_int_TG>> <<R_ext_TG>>
+ SPLITR 3 1
+ MESHX <<R_ext_TGm>> -0.26 0.26 <<R_ext_TG>>
+ MESHY <<R_ext_TGm>> -0.26 0.26 <<R_ext_TG>>
+ MIX 6 1
+ 6 1
+ 6 1
+ 6 1
+ 6 1
+ 6 1
+ 6 1
+ 6 1
+ 6 1
+ NPIN 1 RPIN 0.0 APIN <<Angle>>
+ ;
+ ;
+
+
+ ::: T1 := GEO: T2
+ MIX 1 7
+ ::: PIN := GEO: PIN
+ MIX 7 1
+ 7 1
+ 7 1
+ 7 1
+ 7 1
+ 7 1
+ 7 1
+ 7 1
+ 7 1
+ ;
+ ;
+
+
+ ::: TI := GEO: CARCEL 1 1 1
+ MESHX 0.0 <<Cote>>
+ MESHY 0.0 <<Cote>>
+ RADIUS 0.0 <<R_ext_TI>>
+ MIX 1 8
+ CLUSTER PIN
+ ::: PIN := GEO: TUBE 2 3 3
+ RADIUS 0.0 <<R_int_TI>> <<R_ext_TI>>
+ SPLITR 3 1
+ MESHX <<R_ext_TIm>> -0.26 0.26 <<R_ext_TI>>
+ MESHY <<R_ext_TIm>> -0.26 0.26 <<R_ext_TI>>
+ MIX 8 1
+ 8 1
+ 8 1
+ 8 1
+ 8 1
+ 8 1
+ 8 1
+ 8 1
+ 8 1
+ NPIN 1 RPIN 0.0 APIN <<Angle>>
+ ;
+ ;
+
+
+ ::: L1 := GEO: CARCEL 0 1 3
+ MESHX 0.0 <<Lame>>
+ MESHY 0.0 <<meshc1>> <<meshc2>> <<Cote>>
+ MIX 165 165 165
+ ;
+
+ ::: L3 := GEO: CARCEL 0 1 3
+ MESHX 0.0 <<Lame>>
+ MESHY 0.0 <<meshc1>> <<meshc2>> <<Cote>>
+ MIX 166 166 166
+ ;
+
+
+ ::: L2 := GEO: CARCEL 0 1 1
+ MESHX 0.0 <<Lame>>
+ MESHY 0.0 <<Lame>>
+ MIX 167
+ ;
+;
+
+END: ;
+QUIT .
diff --git a/Dragon/data/rep900_het_gff_proc/IniCompo.c2m b/Dragon/data/rep900_het_gff_proc/IniCompo.c2m
new file mode 100644
index 0000000..2a5e37f
--- /dev/null
+++ b/Dragon/data/rep900_het_gff_proc/IniCompo.c2m
@@ -0,0 +1,294 @@
+*DECK IniCompo.c2m
+*----
+* Name : IniCompo.c2m
+* Type : DRAGON procedure
+* Use : Initialize multicompo object
+* Author : R. Chambon
+*
+* Procedure called as:
+*
+* LIBRARY2 := Autop1 LIBRARY TRACKSS :: <<Fuel>> <<NbRegions>> ;
+*
+* Input data :
+* LIBRARY : Library with SUBG key word
+* TRACKSS : Tracking of the SS geometry
+* Fuel : Type of fuel (UOX/MOX)
+* NbRegions : Number of regions for the calculation (20/32)
+* Output data :
+* LIBRARY2 : Self shielded Library
+
+
+PARAMETER COMPO ::
+ EDIT 1
+ ::: LINKED_LIST COMPO ;
+ ;
+* ;
+MODULE COMPO: END: ABORT: ;
+
+STRING TypeCompo Gff ;
+ :: >>TypeCompo<< >>Gff<< ;
+
+STRING NameDirAss NameDirPin NameDirHt1 NameDirHt2 :=
+ 'Ass' 'Pin' 'Het1' 'Het2' ;
+
+INTEGER FlagNew := 0 ;
+IF TypeCompo "PinByPin" <>
+ TypeCompo "Assembly" <> *
+ TypeCompo "Heter1" <> *
+ TypeCompo "Heter2" <> *
+ TypeCompo "All" <> *
+ TypeCompo "Both" <> * THEN
+ ECHO "TypeCompo incorrect : " TypeCompo ;
+ ABORT: ;
+ENDIF ;
+
+!------------------
+! No Gff
+IF Gff "No" = THEN
+!
+IF TypeCompo "Assembly" = TypeCompo "All" = + TypeCompo "Both" = + THEN
+ COMPO := COMPO: ::
+ EDIT 10
+ STEP UP <<NameDirAss>>
+ MAXCAL 5
+ COMM 'evolution burnup Assembly' ENDC
+ PARA 'burnup' IRRA
+ PARA 'ppmBore' VALU REAL
+ PARA 'TF' TEMP LIBRARY 9
+ PARA 'TCA' TEMP LIBRARY 4
+ PARA 'DCA' VALU REAL
+ PARA 'BARR' VALU REAL
+ INIT
+ ;
+ EVALUATE FlagNew := 1 ;
+ENDIF ;
+IF TypeCompo "PinByPin" = TypeCompo "All" = + TypeCompo "Both" = + THEN
+ IF FlagNew 0 = THEN
+ COMPO := COMPO: ::
+ EDIT 10
+ STEP UP <<NameDirPin>>
+ MAXCAL 5
+ COMM 'evolution burnup PinByPin' ENDC
+ PARA 'burnup' IRRA
+ PARA 'ppmBore' VALU REAL
+ PARA 'TF' TEMP LIBRARY 9
+ PARA 'TCA' TEMP LIBRARY 4
+ PARA 'DCA' VALU REAL
+ PARA 'BARR' VALU REAL
+ INIT
+ ;
+ EVALUATE FlagNew := 1 ;
+ ELSE
+ COMPO := COMPO: COMPO ::
+ EDIT 10
+ STEP UP <<NameDirPin>>
+ MAXCAL 5
+ COMM 'evolution burnup PinByPin' ENDC
+ PARA 'burnup' IRRA
+ PARA 'ppmBore' VALU REAL
+ PARA 'TF' TEMP LIBRARY 9
+ PARA 'TCA' TEMP LIBRARY 4
+ PARA 'DCA' VALU REAL
+ PARA 'BARR' VALU REAL
+ INIT
+ ;
+ ENDIF ;
+ENDIF ;
+IF TypeCompo "Heter1" = TypeCompo "All" = + THEN
+ IF FlagNew 0 = THEN
+ COMPO := COMPO: ::
+ EDIT 10
+ STEP UP <<NameDirHt1>>
+ MAXCAL 5
+ COMM 'evolution burnup Heterogene 1' ENDC
+ PARA 'burnup' IRRA
+ PARA 'ppmBore' VALU REAL
+ PARA 'TF' TEMP LIBRARY 9
+ PARA 'TCA' TEMP LIBRARY 4
+ PARA 'DCA' VALU REAL
+ PARA 'BARR' VALU REAL
+ INIT
+ ;
+ EVALUATE FlagNew := 1 ;
+ ELSE
+ COMPO := COMPO: COMPO ::
+ EDIT 10
+ STEP UP <<NameDirHt1>>
+ MAXCAL 5
+ COMM 'evolution burnup Heterogene 1' ENDC
+ PARA 'burnup' IRRA
+ PARA 'ppmBore' VALU REAL
+ PARA 'TF' TEMP LIBRARY 9
+ PARA 'TCA' TEMP LIBRARY 4
+ PARA 'DCA' VALU REAL
+ PARA 'BARR' VALU REAL
+ INIT
+ ;
+ ENDIF ;
+ENDIF ;
+!IF TypeCompo "Heter2" = TypeCompo "All" = + THEN
+! IF FlagNew 0 = THEN
+! COMPO := COMPO: ::
+! EDIT 10
+! STEP UP <<NameDirHt2>>
+! MAXCAL 5
+! COMM 'evolution burnup Heterogene 2' ENDC
+! PARA 'burnup' IRRA
+! PARA 'ppmBore' VALU REAL
+! PARA 'TF' TEMP LIBRARY 9
+! PARA 'TCA' TEMP LIBRARY 4
+! PARA 'DCA' VALU REAL
+! PARA 'BARR' VALU REAL
+! INIT
+! ;
+! EVALUATE FlagNew := 1 ;
+! ELSE
+! COMPO := COMPO: COMPO ::
+! EDIT 10
+! STEP UP <<NameDirHt2>>
+! MAXCAL 5
+! COMM 'evolution burnup Heterogene 2' ENDC
+! PARA 'burnup' IRRA
+! PARA 'ppmBore' VALU REAL
+! PARA 'TF' TEMP LIBRARY 9
+! PARA 'TCA' TEMP LIBRARY 4
+! PARA 'DCA' VALU REAL
+! PARA 'BARR' VALU REAL
+! INIT
+! ;
+! ENDIF ;
+!ENDIF ;
+!------------------
+! With Gff
+ELSEIF Gff "Yes" = THEN
+!
+IF TypeCompo "Assembly" = TypeCompo "All" = + TypeCompo "Both" = + THEN
+ COMPO := COMPO: ::
+ EDIT 10
+ STEP UP <<NameDirAss>>
+ MAXCAL 5
+ COMM 'evolution burnup Assembly' ENDC
+ PARA 'burnup' IRRA
+ PARA 'ppmBore' VALU REAL
+ PARA 'TF' TEMP LIBRARY 9
+ PARA 'TCA' TEMP LIBRARY 4
+ PARA 'DCA' VALU REAL
+ PARA 'BARR' VALU REAL
+ GFF
+ INIT
+ ;
+ EVALUATE FlagNew := 1 ;
+ENDIF ;
+IF TypeCompo "PinByPin" = TypeCompo "All" = + TypeCompo "Both" = + THEN
+ IF FlagNew 0 = THEN
+ COMPO := COMPO: ::
+ EDIT 10
+ STEP UP <<NameDirPin>>
+ MAXCAL 5
+ COMM 'evolution burnup PinByPin' ENDC
+ PARA 'burnup' IRRA
+ PARA 'ppmBore' VALU REAL
+ PARA 'TF' TEMP LIBRARY 9
+ PARA 'TCA' TEMP LIBRARY 4
+ PARA 'DCA' VALU REAL
+ PARA 'BARR' VALU REAL
+! GFF
+ INIT
+ ;
+ EVALUATE FlagNew := 1 ;
+ ELSE
+ COMPO := COMPO: COMPO ::
+ EDIT 10
+ STEP UP <<NameDirPin>>
+ MAXCAL 5
+ COMM 'evolution burnup PinByPin' ENDC
+ PARA 'burnup' IRRA
+ PARA 'ppmBore' VALU REAL
+ PARA 'TF' TEMP LIBRARY 9
+ PARA 'TCA' TEMP LIBRARY 4
+ PARA 'DCA' VALU REAL
+ PARA 'BARR' VALU REAL
+! GFF
+ INIT
+ ;
+ ENDIF ;
+ENDIF ;
+IF TypeCompo "Heter1" = TypeCompo "All" = + THEN
+ IF FlagNew 0 = THEN
+ COMPO := COMPO: ::
+ EDIT 10
+ STEP UP <<NameDirHt1>>
+ MAXCAL 5
+ COMM 'evolution burnup Heterogene 1' ENDC
+ PARA 'burnup' IRRA
+ PARA 'ppmBore' VALU REAL
+ PARA 'TF' TEMP LIBRARY 9
+ PARA 'TCA' TEMP LIBRARY 4
+ PARA 'DCA' VALU REAL
+ PARA 'BARR' VALU REAL
+ GFF
+ INIT
+ ;
+ EVALUATE FlagNew := 1 ;
+ ELSE
+ COMPO := COMPO: COMPO ::
+ EDIT 10
+ STEP UP <<NameDirHt1>>
+ MAXCAL 5
+ COMM 'evolution burnup Heterogene 1' ENDC
+ PARA 'burnup' IRRA
+ PARA 'ppmBore' VALU REAL
+ PARA 'TF' TEMP LIBRARY 9
+ PARA 'TCA' TEMP LIBRARY 4
+ PARA 'DCA' VALU REAL
+ PARA 'BARR' VALU REAL
+ GFF
+ INIT
+ ;
+ ENDIF ;
+ENDIF ;
+!IF TypeCompo "Heter2" = TypeCompo "All" = + THEN
+! IF FlagNew 0 = THEN
+! COMPO := COMPO: ::
+! EDIT 10
+! STEP UP <<NameDirHt2>>
+! MAXCAL 5
+! COMM 'evolution burnup Heterogene 2' ENDC
+! PARA 'burnup' IRRA
+! PARA 'ppmBore' VALU REAL
+! PARA 'TF' TEMP LIBRARY 9
+! PARA 'TCA' TEMP LIBRARY 4
+! PARA 'DCA' VALU REAL
+! PARA 'BARR' VALU REAL
+! GFF
+! INIT
+! ;
+! EVALUATE FlagNew := 1 ;
+! ELSE
+! COMPO := COMPO: COMPO ::
+! EDIT 10
+! STEP UP <<NameDirHt2>>
+! MAXCAL 5
+! COMM 'evolution burnup Heterogene 2' ENDC
+! PARA 'burnup' IRRA
+! PARA 'ppmBore' VALU REAL
+! PARA 'TF' TEMP LIBRARY 9
+! PARA 'TCA' TEMP LIBRARY 4
+! PARA 'DCA' VALU REAL
+! PARA 'BARR' VALU REAL
+! GFF
+! INIT
+! ;
+! ENDIF ;
+!ENDIF ;
+!------------------
+ELSE
+ ECHO "Gff incorrect : " Gff ;
+ ABORT: ;
+ENDIF ;
+
+
+
+
+END: ;
+QUIT .
diff --git a/Dragon/data/rep900_het_gff_proc/MultLIBEQ32H.c2m b/Dragon/data/rep900_het_gff_proc/MultLIBEQ32H.c2m
new file mode 100644
index 0000000..c890cc8
--- /dev/null
+++ b/Dragon/data/rep900_het_gff_proc/MultLIBEQ32H.c2m
@@ -0,0 +1,348 @@
+*DECK MultLIBEQ_32
+*----
+* Name : MultLIBEQ_32.c2m
+* Type : DRAGON procedure
+* Use : Increase the number of mixes in the microlib
+* Author : R. Vallerent
+*
+* Procedure called as:
+*
+* LIBEQ := MultLIBEQ_32 LIBEQ ;
+*
+* Input data :
+* LIBEQ : Microlib with the number of mixs of the 1st level
+*
+* Output data :
+* LIBEQ : Microlib with the number of mixs of the 2nd level
+
+
+PARAMETER LIBEQ ::
+ EDIT 0
+ ::: LINKED_LIST LIBEQ ;
+ ;
+* ;
+MODULE LIB: END: ;
+
+LIBEQ := LIB: LIBEQ ::
+ EDIT 0
+ NMIX 179
+
+ MIXS LIB: DRAGON FIL: LIBEQ
+
+* Multiplication pour C1
+MIX 41
+ COMB 9 1.0
+MIX 42
+ COMB 10 1.0
+MIX 43
+ COMB 11 1.0
+MIX 44
+ COMB 12 1.0
+
+MIX 45
+ COMB 9 1.0
+MIX 46
+ COMB 10 1.0
+MIX 47
+ COMB 11 1.0
+MIX 48
+ COMB 12 1.0
+
+MIX 49
+ COMB 9 1.0
+MIX 50
+ COMB 10 1.0
+MIX 51
+ COMB 11 1.0
+MIX 52
+ COMB 12 1.0
+
+MIX 53
+ COMB 9 1.0
+MIX 54
+ COMB 10 1.0
+MIX 55
+ COMB 11 1.0
+MIX 56
+ COMB 12 1.0
+
+MIX 57
+ COMB 9 1.0
+MIX 58
+ COMB 10 1.0
+MIX 59
+ COMB 11 1.0
+MIX 60
+ COMB 12 1.0
+
+MIX 61
+ COMB 9 1.0
+MIX 62
+ COMB 10 1.0
+MIX 63
+ COMB 11 1.0
+MIX 64
+ COMB 12 1.0
+
+MIX 65
+ COMB 9 1.0
+MIX 66
+ COMB 10 1.0
+MIX 67
+ COMB 11 1.0
+MIX 68
+ COMB 12 1.0
+
+MIX 69
+ COMB 9 1.0
+MIX 70
+ COMB 10 1.0
+MIX 71
+ COMB 11 1.0
+MIX 72
+ COMB 12 1.0
+
+MIX 73
+ COMB 9 1.0
+MIX 74
+ COMB 10 1.0
+MIX 75
+ COMB 11 1.0
+MIX 76
+ COMB 12 1.0
+
+MIX 77
+ COMB 9 1.0
+MIX 78
+ COMB 10 1.0
+MIX 79
+ COMB 11 1.0
+MIX 80
+ COMB 12 1.0
+
+MIX 81
+ COMB 9 1.0
+MIX 82
+ COMB 10 1.0
+MIX 83
+ COMB 11 1.0
+MIX 84
+ COMB 12 1.0
+
+MIX 85
+ COMB 9 1.0
+MIX 86
+ COMB 10 1.0
+MIX 87
+ COMB 11 1.0
+MIX 88
+ COMB 12 1.0
+
+
+
+* Multiplication pour C2
+MIX 89
+ COMB 13 1.0
+MIX 90
+ COMB 14 1.0
+MIX 91
+ COMB 15 1.0
+MIX 92
+ COMB 16 1.0
+
+MIX 93
+ COMB 13 1.0
+MIX 94
+ COMB 14 1.0
+MIX 95
+ COMB 15 1.0
+MIX 96
+ COMB 16 1.0
+
+MIX 97
+ COMB 13 1.0
+MIX 98
+ COMB 14 1.0
+MIX 99
+ COMB 15 1.0
+MIX 100
+ COMB 16 1.0
+
+MIX 101
+ COMB 13 1.0
+MIX 102
+ COMB 14 1.0
+MIX 103
+ COMB 15 1.0
+MIX 104
+ COMB 16 1.0
+
+MIX 105
+ COMB 13 1.0
+MIX 106
+ COMB 14 1.0
+MIX 107
+ COMB 15 1.0
+MIX 108
+ COMB 16 1.0
+
+MIX 109
+ COMB 13 1.0
+MIX 110
+ COMB 14 1.0
+MIX 111
+ COMB 15 1.0
+MIX 112
+ COMB 16 1.0
+
+MIX 113
+ COMB 13 1.0
+MIX 114
+ COMB 14 1.0
+MIX 115
+ COMB 15 1.0
+MIX 116
+ COMB 16 1.0
+
+MIX 117
+ COMB 13 1.0
+MIX 118
+ COMB 14 1.0
+MIX 119
+ COMB 15 1.0
+MIX 120
+ COMB 16 1.0
+
+MIX 121
+ COMB 13 1.0
+MIX 122
+ COMB 14 1.0
+MIX 123
+ COMB 15 1.0
+MIX 124
+ COMB 16 1.0
+
+MIX 125
+ COMB 13 1.0
+MIX 126
+ COMB 14 1.0
+MIX 127
+ COMB 15 1.0
+MIX 128
+ COMB 16 1.0
+
+MIX 129
+ COMB 13 1.0
+MIX 130
+ COMB 14 1.0
+MIX 131
+ COMB 15 1.0
+MIX 132
+ COMB 16 1.0
+
+* Multiplication pour C3
+MIX 133
+ COMB 17 1.0
+MIX 134
+ COMB 18 1.0
+MIX 135
+ COMB 19 1.0
+MIX 136
+ COMB 20 1.0
+
+* Multiplication pour C4
+MIX 137
+ COMB 21 1.0
+MIX 138
+ COMB 22 1.0
+MIX 139
+ COMB 23 1.0
+MIX 140
+ COMB 24 1.0
+
+* Multiplication pour C6
+MIX 141
+ COMB 29 1.0
+MIX 142
+ COMB 30 1.0
+MIX 143
+ COMB 31 1.0
+MIX 144
+ COMB 32 1.0
+
+MIX 145
+ COMB 29 1.0
+MIX 146
+ COMB 30 1.0
+MIX 147
+ COMB 31 1.0
+MIX 148
+ COMB 32 1.0
+
+MIX 149
+ COMB 29 1.0
+MIX 150
+ COMB 30 1.0
+MIX 151
+ COMB 31 1.0
+MIX 152
+ COMB 32 1.0
+
+MIX 153
+ COMB 29 1.0
+MIX 154
+ COMB 30 1.0
+MIX 155
+ COMB 31 1.0
+MIX 156
+ COMB 32 1.0
+
+MIX 157
+ COMB 29 1.0
+MIX 158
+ COMB 30 1.0
+MIX 159
+ COMB 31 1.0
+MIX 160
+ COMB 32 1.0
+
+MIX 161
+ COMB 29 1.0
+MIX 162
+ COMB 30 1.0
+MIX 163
+ COMB 31 1.0
+MIX 164
+ COMB 32 1.0
+
+* Multiplication pour L1, L2, L3
+MIX 165
+ COMB 5 1.0
+MIX 166
+ COMB 5 1.0
+MIX 167
+ COMB 5 1.0
+
+* Multiplication pour C31 a C38
+MIX 172
+ COMB 2 1.0
+MIX 173
+ COMB 3 1.0
+MIX 174
+ COMB 4 1.0
+MIX 175
+ COMB 5 1.0
+* Multiplication pour C39
+MIX 176
+ COMB 2 1.0
+MIX 177
+ COMB 3 1.0
+MIX 178
+ COMB 4 1.0
+MIX 179
+ COMB 5 1.0
+
+;
+
+END: ;
+QUIT .