armi.cases package
Case and CaseSuite objects for running and analyzing ARMI cases.
A Case
is a collection of inputs that represents one particular run.
Cases have special knowledge about dependencies and can perform useful
operations like compare, clone, and run.
A CaseSuite
is a set of (often related) Cases. These are fundamental to
parameter sweeps and test suites.
See also
armi.cli
Entry points that build Cases and/or CaseSuites and send them off to do work
armi.operators
Operations that ARMI will perform on a reactor model. Generally these are made by an individual Case.
Examples
Create a Case and run it:
case = Case(settings.Settings('path-to-settings.yaml'))
case.run()
# do something with output database
Create a case suite from existing files, and run the suite:
cs = settings.Settings() # default settings
suite = CaseSuite(settings.Settings()) # default settings
suite.discover('my-cases*.yaml', recursive=True)
suite.run()
Warning
Suite running may not work yet if the cases have interdependencies.
Create a burnStep
sensitivity study from some base CS:
baseCase = Case(settings.Settings('base-settings.yaml')) # default settings
suite = CaseSuite(baseCase.cs) # basically just sets armiLocation
for numSteps in range(3, 11):
with ForcedCreationDirectoryChanger('{}steps'.format(numSteps)):
case = baseCase.clone(title=baseCase.title + '-with{}steps'.format(numSteps),
settings={'burnSteps': numSteps})
suite.add(case)
suite.writeInputs()
Then submit the inputs to your HPC cluster.
Subpackages
- armi.cases.inputModifiers package
- armi.cases.tests package
Submodules
- armi.cases.case module
Case
Case.independentVariables
Case.bp
Case.geom
Case.dependencies
Case.addExplicitDependency()
Case.getPotentialParentFromSettingValue()
Case.title
Case.dbName
Case.directory
Case.setUpTaskDependence()
Case.run()
Case.initializeOperator()
Case.checkInputs()
Case.summarizeDesign()
Case.buildCommand()
Case.clone()
Case.compare()
Case.writeInputs()
copyInterfaceInputs()
- armi.cases.suite module
- armi.cases.suiteBuilder module