Import mesh from Abaqus input (.inp
) files into Ferrite.jl
's Grid
type. User-defined cell types are supported.
Pull requests that add Julia code to parse other mesh formats are very welcome! Note that for Gmsh
, the package FerriteGmsh.jl
already provides a versatile interface.
A very brief intro is given here, please see the docs for further details and examples
]add FerriteMeshParser
using FerriteMeshParser
Let filename
be the path to your Abaqus input file and do
grid = get_ferrite_grid(filename)
grid = get_ferrite_grid(filename; user_elements::Dict{String,DataType}=Dict{String,DataType}())
Supply a dictionary with keys being element codes in the mesh file filename
and the value being the corresponding concrete subtype of Ferrite.AbstractCell
.
Additionally, you may have to overload the function
FerriteMeshParser.create_cell(::Type{CellType}, node_numbers, format::FerriteMeshParser.AbaqusMeshFormat) where{CellType<:Ferrite.AbstractCell}
Overloading is required if the constructor of your CellType
needs different constructor input arguments than a tuple of node indices in the order given in the input file.
create_cell
should return an instance of your subtype of Ferrite.AbstractCell
with the given node_numbers.
- Only one part and one instance can exist in the input file
- Node and element numbers must start at 1 and not have any gaps (e.g if there are 10 nodes, no node number higher than 10 can be given)
The code was originally written by KristofferC and kimauth