Kitware/simput

Name: simput

Owner: Kitware, Inc.

Description: Input generator for simulation which can be used as a standalone application or as a component within another web context.

Created: 2015-12-21 22:53:04.0

Updated: 2018-05-21 17:04:19.0

Pushed: 2018-05-21 17:05:57.0

Homepage: http://kitware.github.io/simput/

Size: 3852

Language: JavaScript

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

Simput
Goal

To provide a simple way to write input simpulation files.

Installation
m install -g simput
Usage

After installing the package you will get one executable Simput with the following set of options:

mput

age: Simput [options]

tions:

-h, --help                    output usage information
-V, --version                 output the version number

-i, --input [file|directory]  Input file or directory
-o, --output [directory]      Output directory to output to
-t, --type [type]             Type of input

--no-gui                      Just generate output
-s, --silent                  Do not open the browser

-c, --compile [directory]     Directory to compile files
-m, --minify                  Minify compiled file
-a, --add [file]              Add model to list of available inputs
-l, --list                    List model types of available as inputs
-r, --remove [type]           Remove model to list of available inputs
Examples
mput -t pyfr -o ~/pyfr/example

Starts a server and opens your web browser, an empty PyFR model is loaded which you can modify. The Save button will export a pyfr.json file (model) which you can then be loaded later on. The Convert button will export a pyfr.ini file for PyFR execution.

As no initial model was provided, the boundary names will be autogenerated. In order to pre-define those boundary names, you can either edit the generated model (pyfr.json) or start with an empty model you've created like the following one.

my-pyfr-model.json


"type": "pyfr",
"data": {},
"external": {
    "boundary-names": {
        "User friendly name": "value-expected-by-code",
        "Inlet": "inlet",
        "Outlet": "outlet",
        "External walls": "external-wall"
    }
}

Then loading it back for further edits can be performed with the following command line:

mput -i my-pyfr-model.json -o ~/pyfr/example
Demos

There are a few supplied demos in the folder types, each have their own README.

Development
t clone --recursive https://github.com/Kitware/simput.git
 simput
m install
m run build
m link
mput

age: Simput [options]

tions:

-h, --help                    output usage information
-V, --version                 output the version number

-i, --input [file|directory]  Input file or directory
-o, --output [directory]      Output directory to output to
-t, --type [type]             Type of input

--no-gui                      Just generate output
-s, --silent                  Do not open the browser

-c, --compile [directory]     Directory to compile files
-m, --minify                  Minify compiled file
-a, --add [file]              Add model to list of available inputs
-l, --list                    List model types of available as inputs
-r, --remove [type]           Remove model to list of available inputs

Then to compile pyfr and publish it:

mput -mc types/pyfr/src/ -t pyfr -o dist/types/
Degbugging

A recent version Firefox is preferred for debugging. Errors in Chrome do not always point to the exact line where the error is happening.

Creating a new simulation type

In a separate location create a folder for your type:

place [mytype] with your type name.
r [mytype]
mytype]
init

Create the folder and file structure:

For examples of each take a look at types/demo

Optional: Add the type as a submodule to this repository

It's critical that these are executed in order

art in the [mytype] directory from above. Replace [mytype] with your type name below.
checkout -b type-[mytype] #replace 'mytype' with the name of the new type
commit -m "initial commit"
remote add origin https://github.com/Kitware/simput.git
push origin type-[mytype] # where 'mytype-branch' is the current branch name
your simput repo] # usually cd ../..
submodule add -b type-[mytype] https://github.com/kitware/simput types/[mytype]
add .gitmodules types/
commit -m "added [mytype]"
push
Licensing

Simput is licensed under BSD Clause 3.

Getting Involved

Fork our repository and do great things. At Kitware, we've been contributing to open-source software for 15 years and counting, and want to make Simput useful to as many people as possible.


This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.