Submitting a job remotely

When you configure a job, you can request that Abaqus/CAE route the job to a specified queue on a remote Linux host computer. You can specify the remote queue by selecting an associated queue name in the Submission tabbed page of the job editor.

Related Topics
In Other Guides
Environment File Settings
Abaqus Scripting User's Guide

Note: The job editor displays default settings for memory usage, parallelization, and precision based on the environment files effective for the current session on the local machine. When you submit a job to a remote machine, Abaqus replaces the default settings with those from the environment files on the remote machine. Nondefault settings in the job editor are saved with the job and will be used regardless of where you run the analysis.

Each queue name that appears in the job editor refers to an entry in your Abaqus environment file in which you specify how you want the job to be run on the host computer. In other words, when you select a queue name in the job editor, you specify not only the desired queue on the host computer but also other options, such as the directory on the host computer in which you want to run the job and the files you want copied back to your local directory when the job is complete.

You can specify your preferences for running a job remotely by adding the following to your Abaqus environment file:

def onCaeStartup():
    import os
    
    def makeQueues(*args):
        session.Queue(name,
                      queueName,
                      hostName,
                      fileCopy,
                      directory,
                      driver,
                      remotePlatform,
                      filesToCopy,
                      deleteAfterCopy,
                      description)
    
    addImportCallback('job', makeQueues)

This entry is written using the Abaqus command language. The following list describes each argument in the entry above.

name

The queue name that you want to appear in the job editor.

queueName

The name of an existing queue on the host computer. (For information on creating queues on the host computer, refer to the Abaqus Configuration Guide.)

hostName

The name of the host computer. The default is an empty string.

fileCopy

When the analysis is complete, the value of this argument determines whether or not the analysis files will be copied back to the directory from which the job was submitted. The default value is ON.

directory

The name of the directory on the host computer where you want the job run. You must have write privileges to this directory. The default is an empty string.

driver

The name of the command on the host computer to execute Abaqus/Standard or Abaqus/Explicit. The default is abaqus.

remotePlatform

The platform on the remote machine. The default is UNIX (for Linux).

filesToCopy

The extensions of the analysis files that you want copied back to the local directory when the job is complete or ALL. By default, all of the files generated during job execution are copied.

Note:

The restart (.res) file, the Abaqus/Explicit state (.abq) file, and the packaging (.pac) file are platform-dependent; if your local platform and remote platform settings differ, you will not be able to use these files without some kind of translation. All of the other files can be copied across platforms without any difficulty.

deleteAfterCopy
The value of this argument determines whether remote files are to be deleted after they are copied to the local machine. The default value is OFF.
description

A short description of the queue.

The name and queueName arguments must be included in each queue definition. However, if you do not include any of the other arguments in a queue definition, default values will be supplied automatically. An example queue definition is shown below:

def onCaeStartup():
    import os
        
    def makeQueues(*args):
        session.Queue(name='long',
                        queueName='aba_long',
                        hostName='jobserver',
                        directory='/scratch/' + os.environ['USER'])
    addImportCallback('job', makeQueues)

The commands in the example above configure the following:

name

The queue name displayed in the job editor is long.

queueName

The queue name on the host computer is aba_long.

hostName

The name of the host computer is jobserver.

directory

The directory on the host computer where Abaqus will store the input file and all other files associated with the job is /scratch/your user name.

Since the fileCopy, driver, remotePlatform, filesToCopy, and deleteAfterCopy arguments have been left out of the entry above, the default options for these parameters are assigned to this queue automatically.

If you want to create two or more queues, you can repeat the line containing the session.Queue command as many times as necessary. For example, the following Abaqus environment file entry specifies two queues, one named long and the other named job:

def onCaeStartup():
    import os
        
    def makeQueues(*args):
        session.Queue(name='long',
                        queueName='aba_long',
                        hostName='jobserver',
                        directory='/scratch/' + os.environ['USER'])
        session.Queue(name='job',
                        queueName='aba_job',
                        hostName='jobserver',
                        fileCopy=OFF)
    
    addImportCallback('job', makeQueues)

The monitoring functions described in Monitoring the progress of an analysis job, are available for jobs run remotely just as they are for jobs run locally. However, the output database for the job, like any other analysis files that you may have requested, is not copied to your local directory until after the job is complete. As a result, you must create and start a network output database connector if you want to use the Visualization module to view the results being generated by an analysis running on a remote system. For more information, see Accessing an output database on a remote computer.