14.5. Basic EnShell Examples

The following topics are included in this section:

    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