Skip to main content

Abaqus2Py

GitHub license

Docs | GitHub | PyPI

First publication: March 15, 2024


Summary

Abaqus2Py is a thin Python interface for driving ABAQUS finite-element simulations from regular Python function calls. It wraps the lifecycle of a simulation—preprocessing, job submission, and postprocessing—behind a small API, so that running an ABAQUS model becomes as simple as calling a function and reading back its results.

Statement of need

ABAQUS is a widely used finite-element solver, but it is driven through its own command-line tools and Python-2 scripting interpreter, which makes it awkward to embed in modern, data-driven workflows. Generating large datasets of simulations—for surrogate modeling, design optimization, or machine learning—requires gluing together input-file generation, job submission, result extraction, and synchronization with the solver, all while bridging the gap to a contemporary Python 3 environment.

Abaqus2Py provides that glue. It generates the preprocess/postprocess scripts that ABAQUS executes in its own interpreter, submits jobs through the abaqus CLI, polls for completion, and reads the results back into Python 3—handling the Python-2 pickle compatibility details transparently. ABAQUS itself is not a Python dependency, so the library can be developed and tested without it installed. Through its f3dasm adapter, Abaqus2Py plugs directly into data-driven design pipelines, turning an ExperimentData of design parameters into a batch of ABAQUS simulations with reproducible, HPC-ready orchestration.

Key Features

  • Two public classes — AbaqusSimulator (standalone driver) and F3DASMAbaqusSimulator (an f3dasm.DataGenerator adapter).
  • Full simulation lifecycle — preprocess → submit → postprocess, or a single combined run.
  • ABAQUS-free development — ABAQUS is invoked via the abaqus CLI, never imported, so the package installs and tests without a solver present.
  • Python-2 ↔ Python-3 bridging — generated scripts and pickle (de)coding transparently handle ABAQUS's Python-2 interpreter.
  • f3dasm integration — run simulations over an ExperimentData with per-sample working directories and HPC/SLURM orchestration.

Dependencies

Abaqus2Py builds on the following packages:

Package Description
f3dasm Framework for data-driven design and analysis of structures and materials
ABAQUS Finite-element solver, driven through its abaqus CLI (not a Python dependency)

Authorship

Authors:

Authors affiliation:

  • Bessa Research Group @ Delft University of Technology

Maintainers:

Maintainers affiliation:

  • Bessa Research Group @ Delft University of Technology

Getting started

Installation instructions for users

The package is available on PyPI:

pip install abaqus2py

Alternatively, install the latest version from source:

git clone https://github.com/bessagroup/abaqus2py.git
cd abaqus2py
pip install -e .

Abaqus2Py drives the solver through the abaqus command-line tool; a working ABAQUS installation is required at runtime, but not to install or test the package.

Installation instructions for developers

To install the package for development (or for building the mkdocs documentation), install the optional dependency groups after cloning:

pip install -e '.[dev,docs,tests]'

This project is uv-managed, so you can equivalently run uv sync. See the Contributing Guide for detailed development instructions, and the Getting Started Guide for a walkthrough of the API.

Studies

studies/fragile_becomes_supercompressible/ is a full worked example reproducing Bessa et al. (2019), wiring F3DASMAbaqusSimulator into a Hydra-configured, HPC-oriented two-stage (linear-buckle → Riks) f3dasm workflow. The accompanying ABAQUS modeling scripts live in scripts/. See studies/fragile_becomes_supercompressible/main.py for the canonical end-to-end usage pattern.

Community Support

  • If you find any issues, bugs or problems within this repository, please use the GitHub issue tracker to report them.
  • If you have questions, feature requests or ideas for this project, please use the GitHub Discussions

Please refer to abaqus2py's Code of Conduct

Citing

If you use Abaqus2Py in your research, please cite it. Citation metadata is provided in CITATION.cff; the corresponding BibTeX entry is:

@software{abaqus2py,
  author  = {Yi, Jiaxiang and van der Schelling, Martin P.},
  title   = {{Abaqus2Py: A Python interface for running ABAQUS simulations}},
  year    = {2026},
  version = {1.1.0},
  url     = {https://github.com/bessagroup/abaqus2py}
}

License

Copyright 2026, Bessa Research Group

All rights reserved.

This project is licensed under the BSD 3-Clause License. See LICENSE for the full license text.

Metadata

Release files for abaqus2py 1.2.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for abaqus2py 1.2.3
File Size Uploaded
abaqus2py-1.2.3.tar.gz 20.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for abaqus2py 1.2.3
File Interpreter ABI Platform
abaqus2py-1.2.3-py3-none-any.whl Python 3 none any Details

Total release size: 34.6 kB

Release files / abaqus2py-1.2.3.tar.gz

Download URL abaqus2py-1.2.3.tar.gz
Size 20.4 kB
Tags Source
SHA-256 checksum
How to use checksums
7276530cac896d331fc5f6f585973599d2b3920d43efdfc6ec2ecc15890ce73f
BLAKE2b-256 checksum
How to use checksums
60c0d2c57a478fb5fa4303d81ad3d4c0520d451bf4e1ff461326ebdacac41ac6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.15

Release files / abaqus2py-1.2.3-py3-none-any.whl

Download URL abaqus2py-1.2.3-py3-none-any.whl
Size 14.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
06f2023f70e0f0b40a11af7684ed2aabcf1aa1773cd33f4ab9708b00acb3831c
BLAKE2b-256 checksum
How to use checksums
0eec1f43ade954f487d0af7751dfca58ef19dd7f7708531e6dee9bbae1294888
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.15

Release history Release notifications | RSS feed

This release

1.2.3 This release

2 release files

1.2.2

2 release files

1.2.1

2 release files

1.2.0

2 release files

1.1.0

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page