Example 14.1: Run the EnSight Client and Server on the Same Workstation Using ENSHELL
Run the EnSight Client and Server on the same workstation using EnShell:
Run: enshell -app -v 3
Run: ensight -enshell
Note: There isn't much utility to this example other than to demonstrate
EnShell for launch and to get an understanding of verbose
command line output. The app option to EnShell indicates that
it should listen for application connections (i.e. EnSight). Also note that the
EnShell does not terminate when EnSight completes. This
allows a EnShell network to be reused. If desired, -end_after_ensight
can be specified to the root
EnShell to indicate that the entire network should
terminate when EnSight terminates.
Example 14.2: Run the EnSight Client on Workstation
Run the EnSight Client on workstation ale and the EnSight Server on computer kepler using EnShell:
On ale run: enshell -app -child
On kepler run: enshell -parent connect://ale -role SERVER
On ale run: ensight -enshell
The -child
and -parent
options establish a parent/child relationship
between the two EnShells. As with the previous example, only the
EnShell on ale
listens for an EnSight connection due to the -app
option. The -role SERVER
option indicates that the
EnShell on kepler
should have an additional role SERVER
. EnSight
will look for a EnShell with this role when asking the
EnShell network to start the EnSight Server. See Determining Where EnSight Components Run below for details on where EnSight components are
launched.
Example 14.3: Running the EnSight Client on Linux Workstation
Run the EnSight Client on Linux workstation
ale
and the EnSight Server on
Linux machine kepler
using EnShell. Establish the TCP/IP connection from the Client
to the Server on TCP/IP port 7890 with no timeout:
On ale run: enshell -app -child connect://kepler\?port=7890\&timeout=-1
On kepler run: enshell -parent listen://\?port=7890\&timeout=-1 -role SERVER
On ale run: ensight -enshell
Note: The special, ?
and &
have a backslash escape
character preceding them on Linux to make sure that they get sent from the
command line literally instead of undergoing substitution. If ale
and kepler
are Windows machines using a dos prompt, then the commands would need
to be enclosed in double quotes as follows:
On ale run: enshell -app -child "connect://kepler?port=7890&timeout=-1"
On kepler run: enshell -parent "listen://?port=7890&timeout=-1" -role SERVER
On ale run: ensight -enshell
Example 14.4: Running the EnSight Client on Workstation Ale and the EnSight SOS on Computer
Run the EnSight Client on workstation ale
and the EnSight SOS on computer kepler
, a login node to a cluster managed by the batch
queuing system SLURM, and 8 EnSight Servers on the cluster as allocated by SLURM:
On ale run: enshell -app -child
On kepler run: enshell -parent connect://ale -role SOS -child listen:// \?nconnections=8\&timeout=-1
On kepler run: srun -N 8 enshell -parent connect://kepler -role SOS_SERVERS
On ale run: ensight -sos -enshell
Note: The EnShell on kepler has a single parent and eight
children. It listens for eight child connections due to the nconnections=8
URL option; and, it will not time
out. It will run the EnSight SOS due to its role. The -sos
option to ensight
still needs to be specified to indicate to EnSight that SOS should be
used and not just an EnSight Server. As with the previous examples the
EnShell network keeps running after EnSight terminates;
thus the SLURM allocated nodes are retained. Rerunning the last command will start
another EnSight session while reusing the same EnShell
network.
Passing Arguments
If you wish to pass arguments to EnSight, simply type them as normal when you launch the application from the command line. Arguments unknown to enshell will simply be passed to EnSight.
ensight -enshell -scalev
2.0