Simulation options
Sample simulation options can be found in:
- simulation_options-ode.json (for ODE systems)
- simulation_options-dae.json (for DAE systems)
Section Simulation
Option | Suboption | Description |
---|---|---|
StartTime | Simulation initial time (currently ignored) | |
TimeHorizon | Simulation final time. | |
ReportingInterval | The time interval for obtaining simulation results | |
OutputDirectory | Name or a full path to the directory where the results, stats and log messages are saved. The default is: results-[%d.%m.%Y-%H.%M.%S]. | |
Log | ||
Name |
One of:
|
|
Parameters |
"StdOut": no parameters "TextFile":
|
|
DataReporter | ||
Name |
One of:
|
|
Parameters |
Common parameters for "CSV" and "HDF5" data reporters:
"CSV" specific parameters:
|
Sample Log and HDF5 DataReporter specification:
"Log": {
"Name": "StdOut",
"Parameters": {
}
},
"DataReporter": {
"Name": "HDF5",
"Parameters": {
"fileNameResults": "results.hdf5",
"fileNameDerivatives": "derivatives.hdf5"
}
}
Sample Log and CSV DataReporter specification:
"Log": {
"Name": "TextFile",
"Parameters": {
"fileName": "results.log"
}
},
"DataReporter": {
"Name": "CSV",
"Parameters": {
"fileNameResults": "results.csv",
"fileNameDerivatives": "derivatives.csv",
"outputFormat": "fixed",
"delimiter": ";",
"precision": 15
}
}
Section Model
Contains specification about equation evaluators."Model": {
"Evaluators": {
"Device_0": {},
"Device_1": {},
...
"Device_N": {}
}
}
where each Device_x contains:
"Device_0": {
"Library": "",
"Name": "",
"Parameters": {},
"Groups": [],
"Kernels": []
}
Group evaluators can evaluate only group of equations while kernel evaluators only kernels.
Option | Suboption | Description |
---|---|---|
Device_xx | ||
Library |
Group evaluators, one of:
|
|
Name | Any suitable name to distinguish between multiple evaluators. | |
Parameters |
"Sequential": no parameters "OpenMP":
|
|
Groups | A list of groups to be evaluated by a particular evaluator. | |
Kernels | A list of kernels to be evaluated by a particular evaluator. |
Sample Sequential evaluator specification:
"Device_x" : {
"Library" : "Sequential",
"Name": "seq",
"Parameters": {},
"Groups": ["GroupName1", "GroupName2"]
}
Sample OpenMP evaluator specification:
"Device_x" : {
"Library" : "OpenMP",
"Name": "omp",
"Parameters": {
"numThreads" : 0
},
"Groups": ["GroupName1", "GroupName2"]
}
Sample OpenCL evaluator specification:
"Device_x" : {
"Library" : "OpenCL",
"Name": "ocl",
"Parameters": {
"platformID" : 0,
"deviceID" : 0,
"buildProgramOptions" : ""
},
"Groups": ["GroupName1", "GroupName2"]
}
Sample Kernels_Sequential evaluator specification:
"Device_x" : {
"Library" : "Kernels_Sequential",
"Name": "seq",
"Parameters": {},
"Kernels": ["KernelName1", "KernelName2"]
}
Sample Kernels_OpenMP evaluator specification:
"Device_x" : {
"Library" : "Kernels_OpenMP",
"Name": "omp",
"Parameters": {
"numThreads" : 0
},
"Kernels": ["KernelName1", "KernelName2"]
}
Sample Kernels_OpenCL evaluator specification:
"Device_x" : {
"Library" : "Kernels_OpenCL",
"Name": "ocl",
"Parameters": {
"platformID" : 0,
"deviceID" : 0,
"buildProgramOptions" : "",
"API": "C99"
},
"Kernels": ["KernelName1", "KernelName2"]
}
Sample OpenCL_FPGA evaluator specification:
"Device_x" : {
"Library": "OpenCL_FPGA",
"Name": "ocl_fpga",
"Parameters": {
"platformID": 0,
"deviceID": 0,
"vendor": "",
"board": "emulator"
},
"Groups": ["DefaultGroup"],
}
Sample Kernels_OpenCL_FPGA evaluator specification:
"Device_x" : {
"Library": "Kernels_OpenCL_FPGA",
"Name": "kocl_fpga",
"Parameters": {
"platformID": 0,
"deviceID": 0,
"vendor": "Intel",
"board": "emulator"
},
"Groups": ["DefaultGroup"],
}
Section Solver
Option | Description |
---|---|
Library | "Sundials" |
Name |
One of:
|
PrintInfo | Print additional debug information to stdout. |
Parameters |
"Common parameters":
More info about solver parameters can be found in IDAS and CVodes user guides. |
Section LinearSolver
Option | Description |
---|---|
Library |
One of:
|
Name |
"Sundials" solvers (SPILS):
|
PrintInfo | Print additional debug information to stdout. |
Parameters |
Generic:
More info about solver parameters can be found in IDAS, CVodes, Amesos and AztecOO user guides. |
Preconditioner | See below |
Sub-section Preconditioner:
Option | Description |
---|---|
Library |
One of:
|
Name |
"AztecOO": ignored (name specified using "AZ_precond" and "AZ_subdomain_solve" options) "Ifpack" supported preconditioners:
|
PrintInfo | Print additional debug information to stdout. |
Parameters |
Generic:
More info about parameters can be found in AztecOO, Ifpack and ML user guides. |
Sample Sundials gmres linear solver with Ifpack ILU preconditioner specification:
"LinearSolver": {
"Library": "Sundials",
"Name": "gmres",
"PrintInfo": false,
"Parameters": {
"kspace": 30,
"EpsLin": 0.05,
"JacTimesVecFn": "DifferenceQuotient",
"DQIncrementFactor": 1.0,
"MaxRestarts": 5,
"GSType": "MODIFIED_GS"
},
"Preconditioner" : {
"Library" : "Ifpack",
"Name": "ILU",
"PrintInfo": false,
"Parameters": {
"SaveMatrixImage": false,
"fact: level-of-fill": 3,
"fact: relax value": 0.0,
"fact: absolute threshold": 1e-5,
"fact: relative threshold": 1.0
}
}
}
Sample Sundials gmres linear solver with Ifpack ILUT preconditioner specification:
"LinearSolver": {
"Library": "Sundials",
"Name": "gmres",
"PrintInfo": false,
"Parameters": {
"kspace": 30,
"EpsLin": 0.05,
"JacTimesVecFn": "DifferenceQuotient",
"DQIncrementFactor": 1.0,
"MaxRestarts": 5,
"GSType": "MODIFIED_GS"
},
"Preconditioner" : {
"Library": "Ifpack",
"Name": "ILUT",
"PrintInfo": false,
"Parameters": {
"fact: ilut level-of-fill": 3.0,
"fact: drop tolerance": 1e-10,
"fact: relax value": 0.0,
"fact: absolute threshold": 1e-5,
"fact: relative threshold": 1.0
}
}
Sample Trilinos Amesos linear solver specification:
"LinearSolver": {
"Library": "Trilinos",
"Name": "Amesos_Klu",
"PrintInfo": false,
"Parameters": {
"SaveMatrixImage": false
}
}
Sample Trilinos AztecOO gmres linear solver with native AztecOO ILU preconditioner specification:
"LinearSolver": {
"Library": "Trilinos",
"Name": "AztecOO",
"PrintInfo": false,
"Parameters": {
"AZ_solver": "AZ_gmres",
"AZ_kspace": 30,
"AZ_scaling": "AZ_none",
"AZ_reorder": 1,
"AZ_conv": "AZ_r0",
"AZ_keep_info": 1,
"AZ_max_iter": 500,
"AZ_orthog": "AZ_modified",
"AZ_pre_calc": "AZ_calc",
"AZ_output": "AZ_warnings"
},
"Preconditioner": {
"Library": "AztecOO",
"Name": "",
"PrintInfo": false,
"Parameters": {
"AZ_precond": "AZ_dom_decomp",
"AZ_subdomain_solve": "AZ_ilu",
"AZ_graph_fill": 3,
"AZ_athresh": 1e-05,
"AZ_rthresh": 1.0,
"SaveMatrixImage": false
}
}
}
Sample Trilinos AztecOO gmres linear solver with Ifpack ILU preconditioner specification:
"LinearSolver": {
"Library": "Trilinos",
"Name": "AztecOO",
"PrintInfo": false,
"Parameters": {
"AZ_solver": "AZ_gmres",
"AZ_kspace": 30,
"AZ_scaling": "AZ_none",
"AZ_reorder": 1,
"AZ_conv": "AZ_r0",
"AZ_keep_info": 1,
"AZ_max_iter": 500,
"AZ_orthog": "AZ_modified",
"AZ_pre_calc": "AZ_calc",
"AZ_output": "AZ_none"
},
"Preconditioner" : {
"Library": "Ifpack",
"Name": "ILU",
"PrintInfo": false,
"Parameters": {
"fact: level-of-fill": 3,
"fact: relax value": 0.0,
"fact: absolute threshold": 1e-5,
"fact: relative threshold": 1.0
}
}
}
Sample Trilinos AztecOO gmres linear solver with Ifpack Amesos preconditioner specification:
"LinearSolver": {
"Library": "Trilinos",
"Name": "AztecOO",
"PrintInfo": false,
"Parameters": {
"AZ_solver": "AZ_gmres",
"AZ_kspace": 30,
"AZ_scaling": "AZ_none",
"AZ_reorder": 1,
"AZ_conv": "AZ_r0",
"AZ_keep_info": 1,
"AZ_max_iter": 500,
"AZ_orthog": "AZ_modified",
"AZ_pre_calc": "AZ_calc",
"AZ_output": "AZ_all"
},
"Preconditioner" : {
"Library": "Ifpack",
"Name": "Amesos",
"PrintInfo": false,
"Parameters": {
"amesos: solver type": "Amesos_Klu"
}
}
}