jcmwave.daemon.install_remote_environment(Hostname='localhost', JCMROOT=None, Login='', SSHClient=None, SSHAgentForwarding=None, SSHTimeOut=None, PEMFile=None, LicenseServerPort=8992, IncludePython=False)

Instals a minimal JCMsuite environment on a remote host. Example for setting up and using a blank Ubuntu AWS (Amazon Web Service) instance:

kwargs = dict(Hostname = 'ec2-11-222-33-44.us-west-2.compute.amazonaws.com', 
              Login = 'ec2-user',
              JCMROOT = '/home/ec2-user/bin/JCMsuite',
              PEMFile = '~/.ssh/KeyPairAmazon.pem',
              LicenseServerPort = 8992)
jcmwave.daemon.add_workstation(Multiplicity = 12, **kwargs)


The installation process can take a few minutes. It can be therefore practical to store the machine image afterwards.

  • Hostname (str) – host name of the remote computer To form a login chain concatenate the hostnames with ; separators, i.e gateway.com;maxwell
  • JCMROOT (str) – JCMsuite installation path on remote computer default: same directory as local installation
  • PEMFile (str) – File with private ssh-key for establishing a ssh connection, e.g. ~/.ssh/id_rsa (optional).
  • Login (str) – Login name to the remote computer For a login chain concatenate the user names with ; separators, i.e user1;user2
  • SSHClient (str) – ssh client used to establish a secure connection to the remote machine. As a default the system ssh client is used (if not available on Windows Putty’s plink is used) For a login chain concatenate ssh clients with ‘;’ separators, i.e ‘plink;ssh’
  • SSHAgentForwarding (str) – Enables forwarding of the authentication agent connection. (boolean, default False)
  • SSHTimeOut (str) – Timeout for establishing the ssh connection (default 6s)
  • LicenseServerPort (int) – The remote installation looks for a license server at localhost:XXXX, where XXX is the LicenseServerPort. Call add_workstation() with the same value to forward the local license server to this port on the remote machine. default: 8992
  • IncludePython (bool) – Set to True to include Python in the installation. In many cases the remote environment does not require a Python installation (size about 1GB). Only if, e.g., user-defined field sources, material tensors or integration densities are provided as Python expressions, Python has to be included in the installation. The use of embedded scripting does not require Python on the remote host.


The remote installation works only if both the local machine and the remote host run Linux. If the local machine runs Microsoft Windows, the installation on the remote host must be performed manually (i.e. by uploading the installation script to the remote machine and running the installation.)