Once shell interactions are defined, they must be completed with (Discontinuous Galerkin) interface interactions, following the well-known material-element-interaction pattern.
First, the material is defined as:
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 DgShellMaterial ) |
param | name of the shell parameter (for example STABILIZATION_PARAMETER ) |
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) |
DG law for shell interface elements.
Name | Metafor Code | Dependency |
---|---|---|
Stabilization parameter (>1) | STABILIZATION_PARAMETER |
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
type | desired type of element (for example DgShellFirstDegreeElement ) |
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) |
DG interface element to insert between shells. These are 2-nodes linear lines, but they are interfering over all neighboring dofs.
By default, stresses are integrated over dim*2
integration points. The material used is dgShellMaterial.
Same as DgShellFirstDegreeElement
, but 8-nodes second order shell element.
Same as DgShellSecondDegreeElement
, but 9-nodes second order shell element.
Same as DgShellNineNodeSecondDegreeElement
, but 16-nodes third order shell element.
Name | Metafor Code | Dependency |
---|---|---|
MATERIAL | Number of the material to consider | - |
STIFFMETHOD | Method used to compute the stiffness matrix = STIFF_ANALYTIC : analytic matrix (default) = STIFF_NUMERIC : numerical matrix | - |
BENDING_NPG | Number of integration points along one direction for bending 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) | - |
DG shell interface elements are generated at the start of the simulation by a DgShellInteraction
Interaction, defined over desired entities.
dg = DgShellInteraction(number) dg.push(gObject1) dg.push(gObject2) ... dg.addProperty(prp) interactionset.add(dg) # the interaction is added in InteractionSet
or
dg = interactionset.add( DgShellInteraction(number) ) dg.push(gObject1) dg.push(gObject2) ... dg.addProperty(prp)
number | User number of the interaction |
gObject1 , gObject2 | mesh geometric entities where the finite elements are applied |
prp | Properties ofDG interface elements to generate |
Careful, for now if two entities have common nodes, to many elements will be generated.