The definition of shell finite elements follows the same logic as volume elements. First, a material is defined:
materialno = materialset.define (number, type) materialno = materialset(number) materialno.put(param, value) materialno.depend(param, fct, Key(Lock))) ...
number | material number (must be unique with respect to all elements in materialset , not to shells) |
type | shell type (for example LinearShellMaterial ) |
param | name of the shell parameter (for example ELASTIC_MODULUS ) |
value | value of the corresponding parameter param |
fct | function which characterizes the dependency of the property (optional: no fct if no dependency) |
Lock | Lock which defines the dependency variable of the property (compulsory if there is a dependency) |
Simple linear elastic law (small strains and displacements).
Name | Metafor Code | Dependency |
---|---|---|
Density | MASS_DENSITY | |
Young modulus | ELASTIC_MODULUS | |
Poisson ratio | POISSON_RATIO |
After defining the material, it must be associated to an ElementProperties
:
prp = ElementProperties(typeEl) prp.put(param1, value1) prp.depend(param1, fct1, Lock1)) #facultatif ...
where
typeEl | desired element (for example LinearShellFirstDegreeElement ) |
param1 | name of the property associated to the element (for example MATERIAL to associate the desired material) |
value1 | value of the corresponding property |
fct1 | function which characterizes the dependency of the property (optional: no fct if no dependency) |
Lock1 | Lock which defines the dependency variable of the property (compulsory if there is a dependency) |
Linear shell elements (small strains small displacements). 4-nodes linear quadrangles.
By default, stresses are integrated of dim*2
integration points.
A thickness must be defined, see table below.
Same as LinearShellFirstDegreeElement
but based on a second order mesh (2D Meshers (Surfaces)).
The membrane part can be integrated over dim*3
integration points, considering EAS modes, see table below.
The bending part can be integrated over dim*3
integration points, considering EAS modes, see table below.
Same as LinearShellSecondDegreeElement
but based on a 9-nodes second order mesh (2D Meshers (Surfaces)).
The membrane part can be integrated over dim*3
integration points, considering EAS modes, see table below.
The bending part can be integrated over dim*3
integration points, considering EAS modes, see table below.
Same as LinearShellNineNodeSecondDegreeElement
but based on a 16-nodes third order mesh (2D Meshers (Surfaces)).
The membrane part can be integrated over dim*4
integration points, without EAS modes (no locking), see table below.
The bending part can be integrated over dim*4
integration points, without EAS modes (no locking), see table below.
Name | Metafor Code | Dependency |
---|---|---|
MATERIAL | Number of the shell material to consider | - |
STIFFMETHOD | Method used to compute the stiffness matrix = STIFF_ANALYTIC : analytic matrix (default) = STIFF_NUMERIC : numerical matrix | - |
GRAVITY_X / GRAVITY_Y / GRAVITY_Z | gravity | time |
THICKNESS | initial thickness | - |
MEMBRANE_NPG | Number of integration points along one direction for membrane solving = 2 classical solving (second order) = 3 EAS solving with 11 or 13 added modes (8 or 9-nodes second order) = 4 solving without EAS (16-nodes third order) | - |
BENDING_NPG | Number of integration points along one direction for membrane solving = 2 classical solving (second order) = 3 EAS solving with 22 or 7 added modes (8 or 9-nodes second order) = 4 solving without EAS (16-nodes third order) | - |
Shell elements are then generated as volume elements, using a FieldApplicator
interaction. Then, they must be completed with a DG interface element to be consistent.
app = FieldApplicator(no) app.push(gObject1) app.push(gObject2) ... app.addProperty(prp) # association of an ElementProperties interactionset.add(app) # the interaction is added in InteractionSet
or
app = interactionset.add(FieldApplicator(no)) #add returns a reference app.push(gObject1) app.push(gObject2) ... app.addProperty(prp) # association of an ElementProperties
where
no | number of the Interaction (which is to say the FieldApplicator ) |
gObject1 | mesh geometric entity where the finite elements are applied |
prp | Properties of shell elements to generate. |