Standardize your simulation as a function.
Funz is a parametric & parallel remote execution engine to wrap scientific computing as a function.
Then, just use it as an objective function for any standard algorithm (eg. optimization).
Funz is available for Windows, Mac OS, Linux, through command-line (Bash, Cmd.exe), Python, R.
TL;DR
Parametric scientific computing ?
Funz eases this "functional" wrapping of your simulation.
- Take a "parametrized" input file (contains
$x
,$y
,... replacing some numerical values),- Define values taken by these parameter (or let a dedicated algorithm do),
- Run calculations on remote ressources,
- Parse results & analyse.
Basic demo in Python: , or R:
Overview
Wrapping
- A standardized execution script (properly exiting when calcualtion failed),
- A set of reserved characters (like '$') for input files parametrization,
- Some regular expression to extract output values of interest.
Features
- Parse & compile input files with given parametric syntax,
- Launch remote execution of each input combination given (async on dedicated TCP channel),
- Call external algorithm to drive calculation parameters values,
- Monitor & restart failed calculations (blacklisting unsuitable computers),
- Store & parse output results.
Extensibility
- Wrapper for any simulation software (holds I/O files, ASCII & common formats: HDF5 NetCDF XML JSON),
- Algorithm for design of experiments (supports definition of input values regarding engineering objective).
Examples ?
Funz makes your simulations callable as functions for any of cmd.exe / bash / python / R / Java:
- From Excel spreadsheet "sheet.xlsx", get cell commented with "=total" for each 10 different values of cell commented with "$income":
- Search convection coefficient which leads to a minimal temperature of 25.5 degrees with OpenModelica PDE solver:
- Build a response surface of MySimulator for
x1
in[-5,5]
andx2
in[-5,5]
:- Propagate
x1
as uniform random andx2
as normal random uncertainties through MySimulator:- Chain simulations:
- Identify the most influent input parameters
- Max/minimize simulation output value
- Build inverse model
Who we are ?
Early versions of Funz project were funded by IRSN (French institute for radiological protection and nuclear safety).IRSN open-sourced Funz in 2019 to support safety and design engineering community.