Skip to content

Tips for Running Abaqus Jobs on a Server

Posted by Ebbe Smith

Categories
Home > Blog > Tips for Running Abaqus Jobs on a Server

Table of contents

    Abaqus is one of the tools that can be fed an almost unlimited computing power, over the years we have seen it been used on everything from old laptops (!!) to centralized well-driven HPC clusters. In this post I highlight some of the commands and functions that are useful when working on a Linux server. Some of these commands will still be useful on a windows platform.

    Almost all of these topics deserve their own posts. The motivation behind this blog is to give a few useful pointers for readily available functionality, commands and tools for working on a remote server. 

    Starting, Pausing and Stopping Abaqus Jobs (Linux / Windows)

    Most are familiar with submitting a job using the command line:

    Abaqus job=AAA cpus=BBB or
    Abaqus job=AAA input=CCC cpus=BBB

    The input parameter refers to the name of the inputfile (excluding ‘.inp’). If this parameter is omitted, then Abaqus assumes that the job name is equal to the input filename.

    There are cases where you want to stop/pause a job, run something else and resume the job afterwards. This can be done by using the following commands:

    Abaqus terminate job=AAA – terminates the job
    Abaqus suspend job=AAA – pauses the job
    Abaqus resumes job=AAA – resumes the job

    Overview of Available FlexLM Licences 

    Abaqus ships with tools to keep track of license usage for both FlexLM and DSLS installations. Regardless of system it is possible to fetch current license usage report with:

    Abaqus licensing ru

    This gives you an overview of available QAX (GUI tokens) and QXT (analysis tokens). The output include these lines:

    Users of cae: (Total of 5 licenses issued; Total of 0 licenses in use)

    Users of abaqus: (Total of 16 licenses issued; Total of 0 licenses in use)

    Based on these lines we can conclude that we have:

    • 5 of 5 QAX tokens available
    • 16 of 16 QXT tokens available

    If licenses are in use, it reports which user at what computer is using them. Making it possible to contact these users if there is any need to discuss resource allocation.
    Note that ”Abaqus licensing reporttool” is more powerful function that can be used to generate usage reports from a DSLS and/or FlexLM license pools.

    Check Differences Between Files (Linux / Windows)

    VIM automatically collapses large data blocks in the Inputfile providing an easy to read overview of the relevant keywords. This text editor is available by default on most Linux systems too and provides an easy to use function to compare similar inputfiles:

    Vim -d inputfile_1.inp inputfile_2.inp

    abaqus-server-1

    It is one of several good alternatives when you want review and edit files within the command line. Miguel at TechnoDigitalSchool has written a great post about the use of VIM and Abaqus, available here.

    PS: Do not forget that you exit VIM by using the “:q!” command.

    Working With Remote Systems

    Log on the server using SSH and Transfer files between the machines using Secure Copy (SCP)

    Windows comes with built-in accessible tools for SSH (Secure Shell) and SCP (secure copy).

    ssh -l user server_namescp file_to_transfer user@server_name:destination_path
    scp user@server_name:path/file_to_copy file_to_copy

    Note: There exists great tools such as WinSCP that makes this even easier!

    Monitor STA/MSG/DAT and LOG files using tail -f

    tail is a tool used to display the last lines of a file. With the “ -f” argument it will provide the latest changes to the command line interface. Ctrl+C to quit the command.

    tail -f jobName.sta

    While there are a bunch of great tools that enable the same functionality such baretail, tail for win32, cygwin the native Power-Shell function Get-Content can be used to monitor the .sta file:

    Get-Content jobName.sta -Wait

    Monitor Server Usage using TOP or HTOP

    HTOP is an improved version of top (table of processes) which provided an overview of process and resource utilization on the machine you are running on. Both TOP and HTOP can be used to terminate hanging abaqus processes.

    htop or top

    abaqus-server-2

    Split Screen and Log Sessions With Tmux (or Screen)

    TUX  enables us two primary functions which are useful:

    1. Enable us to attach and detach to a current session. Very useful if you start a python script on a remote server. Now you can start the script, detach and attach at ease – knowing that the session will continue without you.
    2. Split your session into several pieces providing a powerful monitoring suite. View htop, status files and message files simultaneously in one session.

    tmux or screen

    abaqus-server-3

    Reducing Obd Sizes for Lower Transfer Times

    There are many strategies to reduce ODBs sizes. This is especially important when you are racking up large sizes above 100GB as transferring such files start to become a nuance.

    There are two primary ways to dramatically reduce the ODB size:

    1. Frequency of Outputs (especially field Output)
    2. Number of Fields

    The tendency to compromise on these might be low for jobs running for several days and even weeks. No one wants to explain to a client that you must rerun a massive simulation because you do not have enough information to quality check your results because you wanted to reduce file sizes.

    Luckily, you can do several things. Following notes does not even scratch the surface of these techniques but hopefully give you some ideas of the tools we can use.

    Reducing ODB Content

    Having a feature rich output for all nodes leads to huge ODBs. If you only want to create contour plots or debug, “exterior only” reduces the output by a huge factor.

    abaqus-server-4

    You can easy drop 30%-50% of the size by reducing the frequency at nice-to-have output fields without compromising overall information density. Do you really need accelerations and velocities for every increment?

    Compressing With ZIP or 7z

    ZIP and 7z can deflate the odb by 30%-50% depending on analysis type and content.

    7z a archive.7z big.odb

    ODB Reducer With GUI or noGUI

    If the solutions above is not viable of effective enough, we have one last ace up our sleeves. A colleague here at TECHNIA has written about What Can You Do with the Abaqus ODB Reducer.

    Short story is that it allows us to extract bits and pieces of an existing ODB into a new one. Great functionality when you want to preview large ODBs or share limited content with a contractor or client. The good news is that it is possible to use this functionality on a server using the:

    abaqus viewer noGUI=reduceODB.py

    We do have a proof of concept of this functionality, and we might write a future blogpost about the usage. For now, we just want to let you know it exists!

    Closing Remarks

    We are fully aware that there are many more tools and techniques available for managing jobs on a Linux system. In this post we have tried to focus on native available tools. Please feel free to share your tips and tool tips in the comments!

    References

    [1] https://info.simuleon.com/blog/how-to-submit-and-monitor-abaqus-jobs-through-command-window 

    [2] https://tecnodigitalschool.com/the-best-editor-for-abaqus-input-files/

    [3] ODB Reducer, https://blogs.3ds.com/simulia/maintaining-agile-results-data-abaqus-odbs/?utm_campaign=202107_spe_simulia_agile-results-data_en&utm_medium=socialnetwork&utm_source=linkedin&utm_content=txt&utm_term=social_simulia&linkId=124322674 

    [4] What Can You Do with the Abaqus ODB Reducer/Builder Plug-in? | TECHNIA

    Simulation Driven Innovation.

    TECHNIA Simulation provides top tier FEA, Non-linear, and Advanced Simulation Software, Training, and Consultancy. Our dedicated team of more than 65 Simulation experts across 16 countries advise and support your innovation with a wealth of specialist knowledge and experience.

    About TECHNIA
    Want to receive more content like this?
    • Related news and articles straight to your inbox
    • Hints, tips & how-tos
    • Thought leadership articles

    VISIT THE KNOWLEDGE HUB

    Helping you find the information you’re looking for. Discover webinars, events, FAQ's, case studies and tutorials.

    VIEW HUB
    © TECHNIA 2023 (Part of the Addnode Group) TECHNIA is certified according to ISO standards 9001:2015, 14001:2015 and 27001:2015 – Quality & Environment