Skip to content

Commit 95e649c

Browse files
author
Nicolas Laurent
committed
Merge branch 'dev'
2 parents 7c83f80 + 122f399 commit 95e649c

21 files changed

+370
-176
lines changed

.gitignore

+5
Original file line numberDiff line numberDiff line change
@@ -32,3 +32,8 @@ tests/containers/arch/flat.fmu
3232
tests/containers/arch/reversed.fmu
3333
tests/containers/ssp/bouncing.fmu
3434
tests/containers/ssp/bouncing
35+
tests/containers/ssp/bouncing-dump.json
36+
tests/containers/ssp/bouncing.fmu
37+
tests/containers/arch/flat-dump.json
38+
tests/containers/arch/hierarchical-dump.json
39+
tests/containers/arch/reversed-dump.json

CHANGELOG.md

+5-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
11
# FMU Manipulation Toolbox changelog
2-
This package was formerly know as `fmutool`.
2+
This package was formerly known as `fmutool`.
33

44

5+
## Version 1.8.1
6+
* FIXED: `fmucontainer` read links from `.json` input files
7+
* CHANGED: switch to PyQT6 and add minor GUI improvements
8+
59
## Version 1.8
610
* CHANGE: Package in now known as `fmu_manipulation`
711
* ADDED: `fmucontainer` support `canHandleVariableCommunicationStepSize`

README.md

+6-4
Original file line numberDiff line numberDiff line change
@@ -122,22 +122,24 @@ optional arguments:
122122
### FMU Containers
123123

124124
```
125-
fmucontainer [-h] -fmu-directory FMU_DIRECTORY [-container filename.csv:step_size] [-debug] [-no-auto-input]
126-
[-no-auto-output] [-no-auto-link] [-mt] [-profile]
125+
usage: fmucontainer [-h] [-fmu-directory FMU_DIRECTORY] -container filename.{csv|json|ssp},[:step_size] [-debug]
126+
[-no-auto-input] [-no-auto-output] [-no-auto-link] [-mt] [-profile] [-dump-json]
127127
128128
Generate FMU from FMU's
129129
130130
optional arguments:
131131
-h, -help
132-
-fmu-directory FMU_DIRECTORY Directory containing initial FMU’s and used to generate containers. (default: None)
133-
-container filename.csv:step_size
132+
-fmu-directory FMU_DIRECTORY Directory containing initial FMU’s and used to generate containers. If not defined,
133+
current directory is used. (default: .)
134+
-container filename.{csv|json|ssp},[:step_size]
134135
Description of the container to create. (default: [])
135136
-debug Add lot of useful log during the process. (default: False)
136137
-no-auto-input Create ONLY explicit input. (default: True)
137138
-no-auto-output Create ONLY explicit output. (default: True)
138139
-no-auto-link Create ONLY explicit links. (default: True)
139140
-mt Enable Multi-Threaded mode for the generated container. (default: False)
140141
-profile Enable Profiling mode for the generated container. (default: False)
142+
-dump-json Dump a JSON file for each container. (default: False)
141143
```
142144

143145
## API

container/README.md

+1-10
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,4 @@
1-
21
# FMU Containers ?
32

4-
A FMU Container is classical FMU which embeds other's FMU's.
5-
6-
![FMU Container](../doc/FMUContainer.png "FMU Container")
7-
8-
9-
# ROUTING TABLE
10-
11-
Signals routing between embedded FMU's is defined through a CSV file.
3+
A FMU Container is classical FMU which embeds other's FMU's. See [FMU Container](../doc/container.md)
124

13-
![Routing](../doc/routing.png "Routing table")

doc/container.md

+44
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
# FMU Containers ?
2+
3+
A FMU Container is classical FMU which embeds other's FMU's.
4+
![FMU Container](../doc/FMUContainer.png "FMU Container")
5+
FMU Manipulation Toolbox ships `fmucontainer` command which makes easy to embed FMU's into FMU.
6+
7+
8+
# FMU Container Description
9+
10+
A FMU Container is described by multiple parameters:
11+
12+
- time step: a FMU Container acts as a fixed step time "solver".
13+
- optional feature
14+
- multi-threading:
15+
- profiling
16+
- routing table
17+
- Input ports
18+
- Output ports
19+
- Connexions between embedded FMU's
20+
- Explicitly ignored ports (only port with causality = "output" can be ignored)
21+
- Automatic routing table
22+
- expose automatically ports of embedded FMU's with causality = "input"
23+
- expose automatically ports of embedded FMU's with causality = "output"
24+
- link automatically ports of embedded FMU's which are left previously unconnected and have the same names and types
25+
26+
Some of these parameters can be defined by Command Line Interface or by input files.
27+
28+
Several formats are supported for input files:
29+
- a `CSV` format: define only the routing table. Other options are defined witch CLI.
30+
- a `JSON` file: all parameters can be defined in the file. CLI can defined default values if option is not present in
31+
`JSON` file.
32+
- a `SSP` file. See [ssp-standard.org](https://ssp-standard.org). define only the routing table. Other options are
33+
defined witch CLI.
34+
35+
![Routing](../doc/routing.png "Routing table")
36+
37+
## CSV Input file
38+
39+
## Json Input file
40+
41+
## SSP Input file
42+
43+
44+

0 commit comments

Comments
 (0)