Simput is a tool for simplifying the process of writing and editing simulation input files.
It can be used as standalone tool or within other platforms such as HPCCloud to streamline input definitions.
What is Simput?
Simput allows you to specify a data model, and Simput will generate forms for users to fill in. That data will then be turned into a series of text files.
Currently Simput is typically used to create input-decks for simulation code while providing an interactive user interface with contextual documentation.
Usage
$ Simput |
Open the Simput landing page locally:
$ Simput -p |
Or open the latest version online.
Then you can click on the icon for a type to start editing, or drag a file like this Pyfr example onto the Open an existing model box to start editing it.
Concept
Components
In order to create a new input type for Simput you will need:
- model.json / model.js: describe what kind of inputs are needed from the user and how those inputs should be layed out via views.
- convert.js [optional]: provide a path to validate and restructure the data model into another one convenient for the template engine and create a target file map (file path / content).
- templates/*.hbs [optional]: Template files to use inside convert.js to actually do the conversion into a file format.
- lang/en/
- label.json [optional]: labels to use in the UI for a specific langage such as
en:english
. - help/{Attribute Name}/{Parameter Id} [optional]: Extended HTML snippets used in togglable help panels for each UI element.
- label.json [optional]: labels to use in the UI for a specific langage such as