diff options
Diffstat (limited to 'Dragon/data/proc_LZC/GeoCell.c2m')
| -rwxr-xr-x | Dragon/data/proc_LZC/GeoCell.c2m | 306 |
1 files changed, 306 insertions, 0 deletions
diff --git a/Dragon/data/proc_LZC/GeoCell.c2m b/Dragon/data/proc_LZC/GeoCell.c2m new file mode 100755 index 0000000..97f14f9 --- /dev/null +++ b/Dragon/data/proc_LZC/GeoCell.c2m @@ -0,0 +1,306 @@ +*DECK GeoLZC.c2m +*---------- +* Name : GeoLZC.c2m +* Mesh : DRAGON procedure +* Use : LZC geometry +* for G2 (cluster model) +* Author : G. Marleau +* Date : 2006/05/05 +* +* Procedure description: +* Geometry := GeoLZC :: +* <<PrtLev>> <<Type>> <<Mesh>> +* <<NbAngles>> <<Density>> ; +* +* Procedure parameters: +* Geometry : XSM_FILE containing the LZC geometry +* for G2 +* PrtLev : Print Level +* 0 -> Minimum print +* 1 -> Standard print +* 10 -> Debug +* Type : Geometry type +* 'XY' -> 2-D projection of geometry in XY plane +* 'XZ' -> 2-D projection of geometry in XZ plane +* '3D' -> 3-D geometry (default value if Type +* is not known) +* Mesh : Geometry Mesh +* Coarse -> Corase mesh 3-D geometry +* Fine -> Fine mesh 3-D geometry (default) +* NbAngles : Suggested angular quadrature for tracking +* Density : Suggested line density for tracking +* +*---------- +* Define procedure parameters and options and read +* the procedure input data +*---- +PARAMETER Geometry :: EDIT 0 ::: XSM_FILE Geometry ; ; +STRING Type Mesh ; +INTEGER PrtLev NbAngles ; +REAL Density ; +:: >>PrtLev<< >>Type<< >>Mesh<< ; +*---- +* Local procedures and modules used in this procedure +*---- +PROCEDURE DimFuel DimCell DimLZC ; +MODULE GEO: END: ; +*---- +* Get overall cell dimensions using procedure DimCell +*---- +REAL rcool4 rpt rgap rct LPitch BLength ; +DimCell :: + >>rcool4<< >>rpt<< >>rgap<< >>rct<< >>LPitch<< >>BLength<< ; +IF PrtLev 9 > THEN + ECHO "Overall cell dimensions" ; + ECHO rcool4 rpt rgap rct LPitch BLength ; +ENDIF ; +*---- +* Get ring by ring description of fuel using procedure DimFuel +*---- +INTEGER Ring ; +INTEGER npinp1 npinp2 npinp3 npinp4 ; +REAL rradf1 rrads1 rpinp1 apinp1 ; +REAL rradf2 rrads2 rpinp2 apinp2 ; +REAL rradf3 rrads3 rpinp3 apinp3 ; +REAL rradf4 rrads4 rpinp4 apinp4 ; +EVALUATE Ring := 1 ; +DimFuel :: <<Ring>> + >>npinp1<< >>rpinp1<< >>apinp1<< >>rradf1<< >>rrads1<< ; +EVALUATE Ring := 2 ; +DimFuel :: <<Ring>> + >>npinp2<< >>rpinp2<< >>apinp2<< >>rradf2<< >>rrads2<< ; +EVALUATE Ring := 3 ; +DimFuel :: <<Ring>> + >>npinp3<< >>rpinp3<< >>apinp3<< >>rradf3<< >>rrads3<< ; +EVALUATE Ring := 4 ; +DimFuel :: <<Ring>> + >>npinp4<< >>rpinp4<< >>apinp4<< >>rradf4<< >>rrads4<< ; +IF PrtLev 9 > THEN + ECHO "Fuel rings 1 to 4" ; + ECHO npinp1 npinp2 npinp3 npinp4 ; + ECHO rradf1 rrads1 rpinp1 apinp1 ; + ECHO rradf2 rrads2 rpinp2 apinp2 ; + ECHO rradf3 rrads3 rpinp3 apinp3 ; + ECHO rradf4 rrads4 rpinp4 apinp4 ; +ENDIF ; +*---- +* Get LZC using procedure DimLZC +*---- +REAL RinnGT RoutGT + RinnBa RoutBa + RinnFe RoutFe + RinnBu RoutBu + RinnSc RoutSc + Rcent ; +DimLZC :: + >>RinnGT<< >>RoutGT<< + >>RinnBa<< >>RoutBa<< + >>RinnFe<< >>RoutFe<< + >>RinnBu<< >>RoutBu<< + >>RinnSc<< >>RoutSc<< + >>Rcent<< ; +IF PrtLev 9 > THEN + ECHO "LZC dimensions" ; + ECHO "Guide tube " RinnGT RoutGT ; + ECHO "Feeder tubes " RinnBa RoutBa RinnFe RoutFe ; + ECHO "Scavenger tubes " RinnBu RoutBu RinnSc RoutSc ; + ECHO "LZC location " Rcent ; +ENDIF ; +*---- +* Evaluate derived dimensions for supercell description +*---- +REAL HLPitch := LPitch 2.0 / ; +REAL HBLength := BLength 2.0 / ; +REAL LimCoCell := HLPitch rct - RoutGT + 2.0 / ; +REAL IntFCell := LPitch LimCoCell - ; +REAL IntYCell := HLPitch LimCoCell - ; +REAL OffsetXL OffsetXR := LimCoCell 2.0 / LimCoCell -2.0 / ; +* Left and right fuel cell X position +REAL XLFmin XLFint XLFcent XLFmax + XRFmin XRFint XRFcent XRFmax := + LPitch -1.0 * IntFCell -1.0 * HLPitch -1.0 * LimCoCell -1.0 * + LimCoCell IntFCell HLPitch LPitch ; +* Cell Y position +REAL YFmin YFintb YFcent YFintt YFmax := + XLFcent IntYCell -1.0 * 0.0 IntYCell XRFcent ; +* Z position +REAL ZFmin ZFintf ZFcent ZFintb ZFmax := + HBLength -1.0 * XLFmax 0.0 XRFmin HBLength ; +IF PrtLev 9 > THEN + ECHO "Derived dimensions for supercell" ; + ECHO HLPitch HBLength LimCoCell IntFCell OffsetXL OffsetXR ; + ECHO XLFmin XLFint XLFcent XLFmax ; + ECHO XRFmin XRFint XRFcent XRFmax ; + ECHO YFmin YFintb YFcent YFintt YFmax ; + ECHO ZFmin ZFintf ZFcent ZFintb ZFmax ; +ENDIF ; +*---- +* Derived dimensions for fuel +*---- +REAL eps1 := 0.1 ; +REAL rcool1 rcool2 rcool3 := + rrads1 eps1 + rpinp2 rrads2 - + 2.0 / + rpinp2 rrads2 + rpinp3 rrads3 - + 2.0 / + rpinp3 rrads3 + rpinp4 rrads4 - + 2.0 / ; +REAL rmod := HLPitch LimCoCell - eps1 - ; +IF PrtLev 9 > THEN + ECHO "Derived dimensions for fuel" ; + ECHO eps1 rcool1 rcool2 rcool3 rmod ; +ENDIF ; +*---- +* Define mixtures +*---- +INTEGER mcL1 mpt mgap mct mmod := 1 2 3 4 5 ; +INTEGER mfL1 mfL2 mfL3 mfL4 := 6 7 8 9 ; +INTEGER mfR1 mfR2 mfR3 mfR4 := 10 11 12 13 ; +INTEGER ms := 14 ; +INTEGER mfill mgt := 15 16 ; +INTEGER ms11 ms12 ms13 ms14 := + 17 18 19 20 ; +INTEGER ms21 ms22 ms23 ms24 := + ms11 4 + ms12 4 + ms13 4 + ms14 4 + ; +INTEGER ms31 ms32 ms33 ms34 := + ms11 8 + ms12 8 + ms13 8 + ms14 8 + ; +INTEGER mf11 mf12 mf13 mf14 := + ms11 12 + ms12 12 + ms13 12 + ms14 12 + ; +INTEGER mf21 mf22 mf23 mf24 := + ms11 16 + ms12 16 + ms13 16 + ms14 16 + ; +REAL PIO2 PIO6 := $Pi_R 2.0 / $Pi_R 6.0 / ; +REAL ApinZs1 ApinZs2 ApinZs3 + ApinZf1 ApinZf2 := + 0.0 PIO6 4.0 * PIO6 8.0 * + PIO6 2.0 * PIO6 6.0 * ; +REAL ApinXs1 ApinXs2 ApinXs3 + ApinXf1 ApinXf2 := + PIO2 ApinZs1 - PIO2 ApinZs2 - PIO2 ApinZs3 - + PIO2 ApinZf1 - PIO2 ApinZf2 - ; +ECHO ApinZs1 ApinZs2 ApinZs3 ApinZf1 ApinZf2 ; +IF PrtLev 9 > THEN + ECHO "Mixtures for coolant, PT, gap, CT and moderator" ; + ECHO mcL1 mpt mgap mct mmod ; + ECHO "Mixtures for left fuel in each ring and for sheathing" ; + ECHO mfL1 mfL2 mfL3 mfL4 ms ; + ECHO "Mixtures for right fuel in each ring and for sheathing" ; + ECHO mfR1 mfR2 mfR3 mfR4 ms ; + ECHO "Mixtures for scavenger tube 1" ; + ECHO ms11 ms12 ms13 ms14 ; + ECHO "Mixtures for scavenger tube 2" ; + ECHO ms21 ms22 ms23 ms24 ; + ECHO "Mixtures for scavenger tube 3" ; + ECHO ms31 ms32 ms33 ms34 ; + ECHO "Mixtures for feeder tube 1" ; + ECHO mf11 mf12 mf13 mf14 ; + ECHO "Mixtures for feeder tube 12" ; + ECHO mf11 mf22 mf23 mf24 ; +ENDIF ; +*---- +* Geometry +*---- + IF Mesh "Coarse" = THEN +*---- +* Coarse mesh geometry +*---- + Geometry := GEO: :: CAR2D 1 1 + X- REFL X+ SYME Y- REFL Y+ SYME + CELL FuelG +*---- +* Fuel on the left +*---- + ::: FuelG := GEO: CARCEL 7 1 1 + MESHX <<YFmin>> <<YFmax>> + MESHY <<YFmin>> <<YFmax>> + RADIUS 0.00000 <<rcool1>> <<rcool2>> + <<rcool3>> <<rcool4>> <<rpt>> + <<rgap>> <<rct>> + MIX <<mcL1>> <<mcL1>> <<mcL1>> <<mcL1>> + <<mpt>> <<mgap>> <<mct>> <<mmod>> + CLUSTER ROD1 ROD2 ROD3 ROD4 + ::: ROD1 := GEO: TUBE 2 + NPIN <<npinp1>> RPIN <<rpinp1>> APIN <<apinp1>> + RADIUS 0.00000 <<rradf1>> <<rrads1>> + MIX <<mfL1>> <<ms>> ; + ::: ROD2 := GEO: TUBE 2 + NPIN <<npinp2>> RPIN <<rpinp2>> APIN <<apinp2>> + RADIUS 0.00000 <<rradf2>> <<rrads2>> + MIX <<mfL2>> <<ms>> ; + ::: ROD3 := GEO: TUBE 2 + NPIN <<npinp3>> RPIN <<rpinp3>> APIN <<apinp3>> + RADIUS 0.00000 <<rradf3>> <<rrads3>> + MIX <<mfL3>> <<ms>> ; + ::: ROD4 := GEO: TUBE 2 + NPIN <<npinp4>> RPIN <<rpinp4>> APIN <<apinp4>> + RADIUS 0.00000 <<rradf4>> <<rrads4>> + MIX <<mfL4>> <<ms>> ; + ; + ; + EVALUATE NbAngles Density := 15 30.0 ; + ELSE +*---- +* Fine mesh geometry (default) +*---- + Geometry := GEO: :: CAR2D 1 1 + X- REFL X+ REFL Y- REFL Y+ REFL + CELL FuelG +*---- +* Fuel on the left +*---- + ::: FuelG := GEO: CARCEL 8 4 4 + MESHX <<YFmin>> <<YFintb>> <<YFcent>> <<YFintt>> <<YFmax>> + MESHY <<YFmin>> <<YFintb>> <<YFcent>> <<YFintt>> <<YFmax>> + RADIUS 0.00000 <<rcool1>> <<rcool2>> + <<rcool3>> <<rcool4>> <<rpt>> + <<rgap>> <<rct>> <<rmod>> + MIX <<mcL1>> <<mcL1>> <<mcL1>> <<mcL1>> + <<mpt>> <<mgap>> <<mct>> <<mmod>> <<mmod>> + <<mcL1>> <<mcL1>> <<mcL1>> <<mcL1>> + <<mpt>> <<mgap>> <<mct>> <<mmod>> <<mmod>> + <<mcL1>> <<mcL1>> <<mcL1>> <<mcL1>> + <<mpt>> <<mgap>> <<mct>> <<mmod>> <<mmod>> + <<mcL1>> <<mcL1>> <<mcL1>> <<mcL1>> + <<mpt>> <<mgap>> <<mct>> <<mmod>> <<mmod>> + <<mcL1>> <<mcL1>> <<mcL1>> <<mcL1>> + <<mpt>> <<mgap>> <<mct>> <<mmod>> <<mmod>> + <<mcL1>> <<mcL1>> <<mcL1>> <<mcL1>> + <<mpt>> <<mgap>> <<mct>> <<mmod>> <<mmod>> + <<mcL1>> <<mcL1>> <<mcL1>> <<mcL1>> + <<mpt>> <<mgap>> <<mct>> <<mmod>> <<mmod>> + <<mcL1>> <<mcL1>> <<mcL1>> <<mcL1>> + <<mpt>> <<mgap>> <<mct>> <<mmod>> <<mmod>> + <<mcL1>> <<mcL1>> <<mcL1>> <<mcL1>> + <<mpt>> <<mgap>> <<mct>> <<mmod>> <<mmod>> + <<mcL1>> <<mcL1>> <<mcL1>> <<mcL1>> + <<mpt>> <<mgap>> <<mct>> <<mmod>> <<mmod>> + <<mcL1>> <<mcL1>> <<mcL1>> <<mcL1>> + <<mpt>> <<mgap>> <<mct>> <<mmod>> <<mmod>> + <<mcL1>> <<mcL1>> <<mcL1>> <<mcL1>> + <<mpt>> <<mgap>> <<mct>> <<mmod>> <<mmod>> + <<mcL1>> <<mcL1>> <<mcL1>> <<mcL1>> + <<mpt>> <<mgap>> <<mct>> <<mmod>> <<mmod>> + <<mcL1>> <<mcL1>> <<mcL1>> <<mcL1>> + <<mpt>> <<mgap>> <<mct>> <<mmod>> <<mmod>> + <<mcL1>> <<mcL1>> <<mcL1>> <<mcL1>> + <<mpt>> <<mgap>> <<mct>> <<mmod>> <<mmod>> + CLUSTER ROD1 ROD2 ROD3 ROD4 + ::: ROD1 := GEO: TUBE 2 + NPIN <<npinp1>> RPIN <<rpinp1>> APIN <<apinp1>> + RADIUS 0.00000 <<rradf1>> <<rrads1>> SPLITR -3 1 + MIX <<mfL1>> <<ms>> ; + ::: ROD2 := GEO: TUBE 2 + NPIN <<npinp2>> RPIN <<rpinp2>> APIN <<apinp2>> + RADIUS 0.00000 <<rradf2>> <<rrads2>> SPLITR -3 1 + MIX <<mfL2>> <<ms>> ; + ::: ROD3 := GEO: TUBE 2 + NPIN <<npinp3>> RPIN <<rpinp3>> APIN <<apinp3>> + RADIUS 0.00000 <<rradf3>> <<rrads3>> SPLITR -3 1 + MIX <<mfL3>> <<ms>> ; + ::: ROD4 := GEO: TUBE 2 + NPIN <<npinp4>> RPIN <<rpinp4>> APIN <<apinp4>> + RADIUS 0.00000 <<rradf4>> <<rrads4>> SPLITR -3 1 + MIX <<mfL4>> <<ms>> ; + ; + ; + EVALUATE NbAngles Density := 15 30.0 ; + ENDIF ; +:: <<NbAngles>> <<Density>> ; +END: ; +QUIT "LIST" . |
