Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Need support for area in solid section #36

Open
jtveiten opened this issue Mar 19, 2018 · 1 comment
Open

Need support for area in solid section #36

jtveiten opened this issue Mar 19, 2018 · 1 comment

Comments

@jtveiten
Copy link
Contributor

jtveiten commented Mar 19, 2018

keyword *solid section isn't parsed correctly if used for t2d2 elements when given area of truss in line below keyword

The input snippet is:

*MATERIAL,NAME=ALUM
*ELASTIC
1E7,.3
*SOLID SECTION,ELSET=EAll,MATERIAL=ALUM
.0625

When parsed, it doesn't fail when you read the model, but no area is defined

If the input is like this:

*SOLID SECTION,MATERIAL=ALUM, ELSET=EALL
.0625, 
*MATERIAL,NAME=ALUM
*ELASTIC
1E7, 
*DENSITY
7.5E-4, 

the parsing of the model will fail.

Without being too well versed in the code, it may look like the solid section needs to be closed in the second case and support that nu isn't given in the material definition.

Here is the full input file tried

**
**   Structure: truss, two elements
**   Test objective: T3D2 elements.
**
*NODE,NSET=Nall
1, 0, 0
2, 5, 5
3, 0, 10
*ELEMENT,TYPE=T2D2,ELSET=EAll
1,1,2
2,2,3
*BOUNDARY
1,1,2
3,1,2
*MATERIAL,NAME=ALUM
*ELASTIC
1E7,.3
*SOLID SECTION,ELSET=EAll,MATERIAL=ALUM
.0625
*STEP
*STATIC
*CLOAD
2,1,1.
*EL PRINT,ELSET=Eall,FREQUENCY=100
S
*NODE FILE,OUTPUT=3D
U
*EL FILE
S
*END STEP
@ahojukka5
Copy link
Member

Basically, there are two implementations of how to read ABAQUS input files. The first one is just reading the mesh, looks that it is triggering for *NODE, *ELEMENT, *NSET, *SURFACE, and writing data to dictionary where it later on goes to Mesh struct:

mutable struct Mesh
    nodes :: Dict{Int, Vector{Float64}}
    node_sets :: Dict{Symbol, Set{Int}}
    elements :: Dict{Int, Vector{Int}}
    element_types :: Dict{Int, Symbol}
    element_codes :: Dict{Int, Symbol}
    element_sets :: Dict{Symbol, Set{Int}}
    surface_sets :: Dict{Symbol, Vector{Tuple{Int, Symbol}}}
    surface_types :: Dict{Symbol, Symbol}
end

In this first implementation, things are kept simple and only topological information is parsed from the file. The other implementation is parsing the whole file and fetching additional information from the model. It looks that in that implementation, sort of parsing the *SOLID SECTION is done in some level, but it looks that this is going to be a huge work of parsing all of the data from the input file correctly.

The Model struct is following:

mutable struct Model
    path :: String
    name :: String
    mesh :: Mesh
    materials :: Dict{Symbol, AbstractMaterial}
    properties :: Vector{AbstractProperty}
    boundary_conditions :: Vector{AbstractBoundaryCondition}
    steps :: Vector{AbstractStep}
end

Here, solid section is parsed to properties field.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants