SCONE Guide
SCONE Verification Notice
SCONE is a research-oriented code with a smaller user base than MCNP, OpenMC, or SERPENT. Our examples are intended as educational guidance. For authoritative syntax, physics options, and nuclear data requirements, consult the official documentation.
SCONE Simple Examples
Fuel pin cell and bare sphere criticality approximation
Work through Basics first, then use this page. Verified listings match scone-examples/verify/ (testLib) and the same block order as scone_beavrs_clean.inp (physics → tallies → geometry → nuclearData).
Verified vs production
The first fuel-pin listing is byte-aligned with tutorial_fuel_pin_testlib in this repo: aceLibrary $SCONE_ACE, ZAID .03, and Water in the gap/clad rings so IntegrationTestFiles/testLib runs.
The second listing is the same layout with physical gap/clad materials and .06 tables — use your full ACE path. Bare sphere listing matches tutorial_bare_sphere_clean.
Example 1: Single Fuel Pin Cell
PWR pin cell in a square moderator boundary (zSquareCylinder halfwidth 0.63 cm). The pinUniverse sets concentric radii; rootUniverse fills the outer boundary with that pin. Comments and boundary ( 0 0 0 0 0 0 ) spacing follow the same etiquette as the cleaned BEAVRS deck in this repository.
Verified (testLib)
// ===================================================================
// Fuel pin + 2D fission map — SCONE IntegrationTestFiles/testLib (ZAID .03)
// Verified with: export SCONE_ACE=IntegrationTestFiles/testLib
// pinUniverse uses Water in gap/clad slots so only testLib nuclides are needed.
// For production: real gap/clad materials, ZAID .06, and aceLibrary path — see ReactorMC Simple Examples (second listing).
// ===================================================================
type eigenPhysicsPackage;
pop 10000;
active 50;
inactive 20;
XSdata ce;
dataType ce;
collisionOperator { neutronCE { type neutronCEstd; } }
transportOperator { type transportOperatorDT; }
inactiveTally {}
activeTally {
fissionRate {
type collisionClerk;
response (fission);
fission { type macroResponse; MT -6; }
map {
type multiMap;
maps (xax yax);
xax { type spaceMap; axis x; grid lin; N 64; min -0.63; max 0.63; }
yax { type spaceMap; axis y; grid lin; N 64; min -0.63; max 0.63; }
}
}
}
// ===================================================================
// GEOMETRY
// ===================================================================
geometry {
type geometryStd;
boundary ( 0 0 0 0 0 0 );
graph { type shrunk; }
surfaces {
boxSq { id 5; type zSquareCylinder; origin (0.0 0.0 0.0); halfwidth (0.63 0.63 0.0); }
}
cells { }
universes {
root { id 1; type rootUniverse; border 5; fill u<31000>; }
pin31 { id 31000; type pinUniverse; radii (0.39218 0.40005 0.45720 0.0); fills (UO2 Water Water Water); }
}
}
// ===================================================================
// NUCLEAR DATA
// ===================================================================
nuclearData {
handles { ce { type aceNeutronDatabase; aceLibrary $SCONE_ACE; } }
materials {
Water { temp 600; composition { 1001.03 6.67e-02; 8016.03 3.33e-02; } }
UO2 { temp 600; composition { 92235.03 4.50e-02; } }
}
}
Tutorial snippet — no separate file in examples repo
Production (full ACE, physical gap/clad)
Not in run_all.ps1 as shown — production nuclides and .06 tables; use the verified block above for testLib.
// ===================================================================
// Fuel pin + 2D fission map — full ACE library (ZAID .06 @ 600 K)
// Same structure as scone-examples/verify/tutorial_fuel_pin_testlib
// ===================================================================
type eigenPhysicsPackage;
pop 10000;
active 50;
inactive 20;
XSdata ce;
dataType ce;
collisionOperator { neutronCE { type neutronCEstd; } }
transportOperator { type transportOperatorDT; }
inactiveTally {}
activeTally {
fissionRate {
type collisionClerk;
response (fission);
fission { type macroResponse; MT -6; }
map {
type multiMap;
maps (xax yax);
xax { type spaceMap; axis x; grid lin; N 64; min -0.63; max 0.63; }
yax { type spaceMap; axis y; grid lin; N 64; min -0.63; max 0.63; }
}
}
}
// ===================================================================
// GEOMETRY
// ===================================================================
geometry {
type geometryStd;
boundary ( 0 0 0 0 0 0 );
graph { type shrunk; }
surfaces {
boxSq { id 5; type zSquareCylinder; origin (0.0 0.0 0.0); halfwidth (0.63 0.63 0.0); }
}
cells { }
universes {
root { id 1; type rootUniverse; border 5; fill u<31000>; }
pin { id 31000; type pinUniverse; radii (0.39218 0.40005 0.45720 0.0); fills (fuel gap clad water); }
}
}
// ===================================================================
// NUCLEAR DATA
// ===================================================================
nuclearData {
handles { ce { type aceNeutronDatabase; aceLibrary /path/to/your.aceXS; } }
materials {
fuel { temp 600; composition { 92235.06 7.22e-04; 92238.06 2.23e-02; 8016.06 4.59e-02; } }
gap { temp 600; composition { 2004.06 2.40e-04; } }
clad { temp 600; composition { 40090.06 5.00e-03; 40091.06 1.10e-03; 40092.06 1.70e-03; 40094.06 1.70e-03; 40096.06 2.80e-04; } }
water { temp 600; composition { 1001.06 6.67e-02; 8016.06 3.33e-02; } }
}
}
Production-style deck — full ACE library
Smoke test: test_simple_fuel_pin (two-region pin: UO₂ + water only) and run_all.ps1 under scone-examples/verify/.
Example 2: Bare Sphere Criticality Approximation
SCONE has no sphere surface; a zTruncCylinder with equal radius and halfwidth is a common teaching stand-in. Listing matches tutorial_bare_sphere_clean (testLib).
// ===================================================================
// Bare critical assembly — cylindrical stand-in (SCONE has no sphere surface)
// testLib / SCONE_ACE (ZAID .03)
// ===================================================================
type eigenPhysicsPackage;
pop 10000;
active 50;
inactive 20;
XSdata ce;
dataType ce;
collisionOperator { neutronCE { type neutronCEstd; } }
transportOperator { type transportOperatorDT; }
inactiveTally {}
activeTally {
fissionRate { type collisionClerk; response (fission); fission { type macroResponse; MT -6; } }
}
// ===================================================================
// GEOMETRY
// ===================================================================
geometry {
type geometryStd;
boundary ( 0 0 0 0 0 0 );
graph { type shrunk; }
surfaces {
fuelR { id 1; type zCylinder; radius 5.0; origin (0.0 0.0 0.0); }
outerBound { id 2; type zTruncCylinder; radius 5.0; origin (0.0 0.0 0.0); halfwidth 5.0; }
}
cells {
fuel { type simpleCell; id 10; surfaces (-1); filltype mat; material fuel; }
reflector { type simpleCell; id 11; surfaces (-2 1); filltype mat; material water; }
}
universes {
root { id 1; type rootUniverse; border 2; fill u<100>; }
inner { id 100; type cellUniverse; cells (10 11); }
}
}
// ===================================================================
// NUCLEAR DATA
// ===================================================================
nuclearData {
handles { ce { type aceNeutronDatabase; aceLibrary $SCONE_ACE; } }
materials {
fuel { temp 600; composition { 92235.03 4.50e-02; } }
water { temp 600; composition { 1001.03 6.67e-02; 8016.03 3.33e-02; } }
}
}
Verify harness (testLib + run_all.ps1)
Note: Cylindrical leakage ≠ spherical; use MCNP/Serpent for benchmark spheres.
Running These Examples
From the SCONE build directory, point SCONE_ACE at IntegrationTestFiles/testLib and pass the path to the verify file (no .inp extension required if your build uses directory inputs). Confirm syntax in the official documentation.
# Verified tutorials (testLib)
export SCONE_ACE=IntegrationTestFiles/testLib
./build/scone.out /path/to/reactor-monte-carlo-guide/scone-examples/verify/tutorial_fuel_pin_testlib
./build/scone.out /path/to/reactor-monte-carlo-guide/scone-examples/verify/tutorial_bare_sphere_clean
./build/scone.out /path/to/reactor-monte-carlo-guide/scone-examples/verify/tutorial_assembly_5x5_testlib
# Minimal pin (UO2 + water only)
./build/scone.out /path/to/reactor-monte-carlo-guide/scone-examples/verify/test_simple_fuel_pinTutorial snippet — no separate file in examples repo