AbaqusReader.jl is a parse for ABAQUS FEM models. It's capable of parsing the geometry accurately, including surface sets, node sets, and other relevant geometrical data used in FEM calculations. Other option is to parse whole model, including boundary conditions, material data and load steps.
Author JuliaFEM
28 Stars
Updated Last
10 Months Ago
Started In
July 2017

AbaqusReader.jl - parse ABAQUS mesh files to Julia

ci codecov docs-stable docs-dev

AbaqusReader.jl can be used to parse ABAQUS .inp file format. Two functions is exported: abaqus_read_mesh(filename::String) can be used to parse mesh to simple Dict-based structure. With function abaqus_read_model(filename::String) it's also possible to parse more information from model, like boundary conditions and steps.

Reading mesh is made simple:

using AbaqusReader
Dict{String,Dict} with 7 entries:
  "nodes"         => Dict(7=>[0.0, 10.0, 10.0],4=>[10.0, 0.0, 0.0],9=>[10.0, 10…
  "element_sets"  => Dict("CUBE"=>[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 1…
  "element_types" => Dict{Integer,Symbol}(Pair{Integer,Symbol}(2, :Tet4),Pair{I…
  "elements"      => Dict{Integer,Array{Integer,1}}(Pair{Integer,Array{Integer,…
  "surface_sets"  => Dict("LOAD"=>Tuple{Int64,Symbol}[(16, :S1), (8, :S1)],"ORD…
  "surface_types" => Dict("LOAD"=>:ELEMENT,"ORDER"=>:ELEMENT)
  "node_sets"     => Dict("SYM23"=>[5, 6, 7, 8],"SYM12"=>[5, 6, 3, 4],"NALL"=>[…

Like said, mesh is a simple dictionary containing other dictionaries like elements, nodes, element_sets and so on. This is a good starting point to construct own finite element implementations based on real models done using ABAQUS.

If boundary conditions are also requested, abaqus_read_model must be used:

model = abaqus_read_model("abaqus_file.inp")

This returns AbaqusReader.Model instance.

Supported elements

  • C3D4
  • C3D8
  • C3D10
  • C3D20
  • C3D20E
  • S3
  • STRI65
  • CPS4
  • T2D2
  • T3D2

Required Packages