A well-configured SALOME installation is necessary to execute a calculation scheme in the XML format in console mode.
SALOME execution mode from a SALOME application will be used in the remainder of this document.
-1. run SALOME: ./runAppli -t, for example from the application directory (it can be run from any other directory).
-2. execute the YACS supervisor: ./runSession driver schema.xml
-3. stop SALOME: ./runSession shutdownSalome.py for a clean stop or ./runSession killSalome.py for an immediate stop.
+Steps to run a calculation scheme from the application directory:
+
+1. run SALOME: ./salome -t
+2. execute the YACS supervisor: ./salome shell -- driver schema.xml
+3. stop every SALOME session: ./salome killall
Steps 2 and 3 can be done from inside a SALOME session. YACS can be executed and SALOME can be stopped within this session as follows:
-1. initialise the session: /.runSession
-2. execute the YACS supervisor: driver schema.xml
-3. stop SALOME: shutdownSalome.py or killSalome.py
-4. exit from the session: CTRL+D
+1. initialise the session: ./salome shell
+2. execute the YACS supervisor: driver schema.xml
+3. stop SALOME: shutdownSalome.py or killSalome.py
+4. exit from the session: CTRL+D
The YACS supervisor in console (driver) mode accepts a few options to set parameters for its execution::
(default 0)
-e, --dump-on-error[=file] Stop on first error and dump state
-f, --dump-final[=file] dump final state
+ -g, --dump[=nbsec] dump state
+ -i, --init_port[=value] Initialisation value of a port, specified as
+ bloc.node.port=value.
+ -k, --kill-port=port Kill Salome application running on the specified
+ port if the driver process is killed (with SIGINT
+ or SIGTERM)
-l, --load-state=file Load State from a previous partial execution
-r, --reset=level Reset the schema before execution: 0=nothing,
1=reset error nodes to ready state (default 0)
driver --reset=1 --load-state=mystate.xml schema.xml
+Execute a scheme and save the state of execution every 30 seconds
+----------------------------------------------------------------------
+::
+
+ driver -g30 -fmystate.xml schema.xml
+
+Change the values of some input ports before execution
+----------------------------------------------------------------------
+::
+
+ driver -imynode.i=5 -imynode.d=.7 -imynode.b=False -imynode.s=lili schema.xml
+
+In this example, the ports "i", "d", "b" and "s" of the node "mynode" are initialized and the schema is launched.
+
+Only the ports of the following types can be initialized this way:
+
+ - int
+ - double
+ - bool
+ - string
+
How to manage several SALOME sessions
----------------------------------------------------------------------
When you need to launch several SALOME session to execute several schemas in parallel, you have to
1. Launch first SALOME session with execution of a schema::
- <appli>/runAppli -t --ns-port-log=session1.log
- <appli>/runSession waitContainers.py FactoryServer
- <appli>/runSession driver schema1.xml
+ <appli>/salome -t --ns-port-log=/tmp/session1.log
+ <appli>/salome shell -- driver schema1.xml
2. Launch second SALOME session with execution of another schema::
- <appli>/runAppli -t --ns-port-log=session2.log
- <appli>/runSession waitContainers.py FactoryServer
- <appli>/runSession driver schema2.xml
+ <appli>/salome -t --ns-port-log=/tmp/session2.log
+ <appli>/salome shell -- driver schema2.xml
3. Shutdown first session::
- <appli>/runSession -p `cat session1.log` shutdownSalome.py
+ <appli>/salome kill `cat /tmp/session1.log`
4. Kill second session::
- <appli>/bin/salome/killSalomeWithPort.py `cat session2.log`
+ <appli>/salome kill `cat /tmp/session2.log`