Table of Contents
DG shell interactions
Once shell interactions are defined, they must be completed with (Discontinuous Galerkin) interface interactions, following the well-known material-element-interaction pattern.
Materials
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) | 
DgShellMaterial
Description
DG law for shell interface elements.
Parameters
| Name | Metafor Code | Dependency | 
|---|---|---|
| Stabilization parameter (>1) |    STABILIZATION_PARAMETER     | 
Elements
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) | 
DgShellFirstDegreeElement
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.
DgShellSecondDegreeElement
Same as DgShellFirstDegreeElement, but 8-nodes second order shell element.
DgShellNineNodeSecondDegreeElement
Same as DgShellSecondDegreeElement, but 9-nodes second order shell element.
DgShellSixteenNodeThirdDegreeElement
Same as DgShellNineNodeSecondDegreeElement, but 16-nodes third order shell element.
Parameters of shell DG interface elements
| 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)  | - | 
Interactions
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.
