====== DG shell interactions ====== Once [[doc:user:elements:shells:shell|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'' | [[doc:user:general:locks|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 [[#Materials|material]], it must be associated to an ''[[doc:user:elements:general:def_element_properties|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''| [[doc:user:general:locks|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 [[doc:user:elements:shells:interface#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 ===== [[doc:user:elements:shells:interface#Eléments|DG shell interface elements]] are generated at the start of the simulation by a ''DgShellInteraction'' [[doc:user:general:glossaire#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'' | [[doc:user:elements:general:def_element_properties|Properties]] of[[doc:user:elements:shells:interface#Elements|DG interface elements]] to generate | Careful, for now if two entities have common nodes, to many elements will be generated.