AbaqusReader.jl API Documentation


Exported functions

abaqus_download(model_name; dryrun=false)

Download ABAQUS model from Internet. model_name is the name of the input file.

Given some model name from documentation, e.g., et22sfse, download that file to local file system. This function uses environment variables to determine the download url and place of storage.

In order to use this function, one must set environment variable ABAQUS_DOWNLOAD_URL, which determines a location where to download. For example, if the path to model is https://domain.com/v6.14/books/eif/et22sfse.inp, ABAQUS_DOWNLOAD_URL will be the basename of that path, i.e., https://domain.com/v6.14/books/eif.

By default, the model will be downloaded to current directory. If that is not desired, one can set another environment variable ABAQUS_DOWNLOAD_DIR, and in that case the file will be downloaded to that directory.

Function call will return full path to downloaded file or nothing, if download is failing because of missing environment variable ABAQUS_DOWNLOAD_DIR.


Read ABAQUS mesh from file fn. Returns a dict with elements, nodes, element sets, node sets and other topologically imporant things, but not the actual model with boundary conditions, load steps and so on.


Read ABAQUS model from file. Include also boundary conditions, load steps and so on. If only mesh is needed, it's better to use abaqus_read_mesh insted.

create_surface_elements(mesh, surface_name)

Create surface elements for surface using mesh mesh. Mesh can be obtained by using abaqus_read_mesh.

Internal functions


Parse nodes from the lines

Parse elements from input lines

Reads element ids and their connectivity nodes from input lines. If elset definition exists, also adds the set to model.

Parse node and elementset from input lines

Parse SURFACE keyword


Custom list iterator

Simple iterator for comsuming element list. Depending on the used element, connectivity nodes might be listed in multiple lines, which is why iterator is used to handle this problem.


Add ABAQUS keyword s to register. That is, after registration every time keyword show up in .inp file a new section is started


This mapping table contains information what node ids locally match each side of element.


Given element code, element side and global connectivity, determine boundary element. E.g. for Tet4 we have 4 sides S1..S4 and boundary element is of type Tri3.


Main function for parsing Abaqus input file.

Function parses Abaqus input file and generates a dictionary of all the available keywords.