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
abaqus_read_mesh("cube_tet4.inp")
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.
- C3D4
- C3D8
- C3D10
- C3D20
- C3D20E
- S3
- STRI65
- CPS4
- T2D2
- T3D2