Skip to main content

A Python library for the visualization and post-processing of Abaqus ASCII result files

Project description

Pybaqus

Pybaqus is a python library to import the output files generated by Abaqus in the ASCII *.fil format, and create a VTK object from the data. The results can then be analyzed in pure python (i.e. no Abaqus licence needed) with the great tools provided by PyVista.

Features

Pybaqus is in a very early development stage. Therefore, there are still many unimplemented functionalities. However, basic operations like importing the mesh and the nodal and element results is implemented and can be used for some analysis.

The following features are either already implemented or planned:

  • Import 2D meshes
  • Import 3D meshes
  • Import nodal results
  • Import element results
  • Element and node sets
  • Extrapolate element results from Gaussian points to nodes (implemented for some elements)
  • Import history output
  • Compute stresses along paths
  • Compute section forces and moments
  • Documentation

Installation

pip install pybaqus

Quick-start

The first thing you need is to tell Abaqus that you want an ASCII *.fil result file. To get that you need to write the following lines in your *.inp file, within the step definition (before the *End Step command) e.g.:

...
*FILE FORMAT, ASCII
*EL FILE, DIRECTIONS=YES
S, E, COORD
*NODE FILE
COORD, U

*End Step
...

You can specify different output variables (as long as they are available for the elements you are using, of course). After submitting your model you will get a *.fil file. This is the file you need, as it can be imported with Pybaqus.

Import the *.fil file like this:

from pybaqus import open_fil

res = open_fil("your_result.fil")

Great! That was it. :)

Now you have your results as a VTK object, wrapped by PyVista, and there's nothing that can get in your way to analyze your results with pure python.

Plot the mesh

import pyvista as pv

mesh = res.get_mesh()


plot = pv.Plotter()
plot.add_mesh(mesh, show_edges=True, color="white")
plot.view_xy()
plot.show()

Mesh

Cool! But something's missing there. Colors! We can plot some of our results like this:

mesh = res.get_deformed_mesh(step=1, inc=1, scale=3)
s2 = res.get_nodal_result(var="S2", step=1, inc=1)
mesh.point_data["S2"] = s2

plot = pv.Plotter()
plot.add_mesh(mesh, show_edges=True, color="white",
           scalars="S2", show_scalar_bar=True)
plot.view_xy()
plot.show()

Mesh

That's it! Since the API is still under development, some of these functions might change.

And now you can de whatever you want with your results in python. Have fun!

Acknowledgments

This project has benefited from funding from the Deutsche Forschungsgemeinschaft (DFG, German Research Foundation) under Germany's Excellence Strategy – EXC 2120/1 – 390831618 IntCDC

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pybaqus-0.2.17.tar.gz (299.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pybaqus-0.2.17-py3-none-any.whl (24.4 kB view details)

Uploaded Python 3

File details

Details for the file pybaqus-0.2.17.tar.gz.

File metadata

  • Download URL: pybaqus-0.2.17.tar.gz
  • Upload date:
  • Size: 299.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pybaqus-0.2.17.tar.gz
Algorithm Hash digest
SHA256 dd0e9b7fe86dc8904f7a6f82625d24aba6d14852564081291824963d4ada507d
MD5 32306e069840bee18b74fdeda56072f8
BLAKE2b-256 e9171d5b778ac923bce63383da86ed276314a3a469ffad271e2a306c665b49a7

See more details on using hashes here.

Provenance

The following attestation bundles were made for pybaqus-0.2.17.tar.gz:

Publisher: python-publish.yml on cristobaltapia/pybaqus

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pybaqus-0.2.17-py3-none-any.whl.

File metadata

  • Download URL: pybaqus-0.2.17-py3-none-any.whl
  • Upload date:
  • Size: 24.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pybaqus-0.2.17-py3-none-any.whl
Algorithm Hash digest
SHA256 9523a1dc5193b6a859dd5338b4415141b90b676788c7ace49d20692b8cc21265
MD5 1cd1037bb2e5c64bad104e103b8ee0db
BLAKE2b-256 bfabbdb8617267c07aa08b638b4d366165b5592491cc883219770be80db1016a

See more details on using hashes here.

Provenance

The following attestation bundles were made for pybaqus-0.2.17-py3-none-any.whl:

Publisher: python-publish.yml on cristobaltapia/pybaqus

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page