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 Examples
Overview of example pages and key block-style patterns
Example Pages
Finish Installation, Basics, and Simple Examples before assembly or shielding pages. SCONE examples are organized into four block-style pages: Simple Examples (pin + bare-sphere stand-in), Reactor Examples (assemblies and core excerpts), BEAVRS (full-core PWR spec), and Shielding Examples (fixed source); for deep shielding, MCNP's VR is stronger.
Key Block-Style Patterns
SCONE uses block-style syntax. These snippets show the core patterns. Do not use geometry cartesian, material N temperature=..., settings blocks, or ... end terminators.
The first three snippets are exact excerpts from tutorial_examples_hub_testlib (same lines as the verified deck below). The fourth uses production ZAIDs and a placeholder ACE path — not in run_all.ps1.
Physics package (criticality)
// Verified: export SCONE_ACE=IntegrationTestFiles/testLib
// ===================================================================
type eigenPhysicsPackage;
pop 10000;
active 50;
inactive 20;
XSdata ce;
dataType ce;
collisionOperator { neutronCE { type neutronCEstd; } }
transportOperator { type transportOperatorDT; }Verify harness (testLib + run_all.ps1)
Geometry block
geometry {
type geometryStd;
boundary (0 0 0 0 0 0);
graph { type shrunk; }
surfaces {
cellBound { 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); }
}
}Verify harness (testLib + run_all.ps1)
Active tally (fission map)
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; }
}
}
}Verify harness (testLib + run_all.ps1)
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; } }
}
}Excerpt / not a full harness file
The first three snippets match the verified hub file line-for-line; the fourth is a production-style nuclearData excerpt. For one runnable file that merges the hub patterns and passes verification with SCONE's IntegrationTestFiles/testLib, use the deck below (also in scone-examples/verify/tutorial_examples_hub_testlib).
// ===================================================================
// Examples hub — one runnable deck combining the four pattern blocks (testLib)
// Physics + pinUniverse geometry + 2D fission map + nuclearData.
// Gap/clad materials use Water nuclides as testLib stand-ins.
// Verified: export SCONE_ACE=IntegrationTestFiles/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 {
type geometryStd;
boundary (0 0 0 0 0 0);
graph { type shrunk; }
surfaces {
cellBound { 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); }
}
}
nuclearData {
handles { ce { type aceNeutronDatabase; aceLibrary $SCONE_ACE; } }
materials {
fuel { temp 600; composition { 92235.03 4.50e-02; } }
gap { temp 600; composition { 1001.03 6.67e-02; 8016.03 3.33e-02; } }
clad { temp 600; composition { 1001.03 6.67e-02; 8016.03 3.33e-02; } }
water { temp 600; composition { 1001.03 6.67e-02; 8016.03 3.33e-02; } }
}
}
Verify harness (testLib + run_all.ps1)
Best Practices
Start with simple geometries and add complexity gradually. Validate each component before combining. Use consistent naming and document assumptions. Replace aceLibrary paths with your cross-section library. For large models, verify syntax against the official SCONE documentation.