Metafor

ULiege - Aerospace & Mechanical Engineering

User Tools

Site Tools


doc:user:elements:specials:spring

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
doc:user:elements:specials:spring [2013/07/09 17:09] jorisdoc:user:elements:specials:spring [2023/06/20 19:00] (current) papeleux
Line 1: Line 1:
 +====== Spring ======
 +===== Materials  =====
  
 +A spring (linear or not, with or without failure criterion) is defined is the same way as volume materials:
 +
 +  materialno = materialset.define (number, type)
 +  materialno = materialset(number)
 +  materialno.put(param, value)
 +  materialno.depend(param, fct, Key(Lock)))
 +  ...
 +
 +|''number'' | spring number (must be unique for all element in ''materialset'', not just for springs) |
 +|''type'' | type of spring (for example ''ConstantSpringMaterial'') |
 +|''param'' | name of the spring parameter (for example ''SPRING_FK'') |
 +|''value'' | value of the corresponding parameter|
 +|''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) |
 +
 +==== ConstantSpringMaterial ====
 +
 +=== Description ===
 +
 +Linear spring
 +
 +=== Parameters ===
 +^   Name                                          ^     Metafor Code      Dependency ^
 +| Stiffness|  ''SPRING_FK''  |  -  |
 +| Damping coefficient    ''SPRING_FC''  |  -  |
 + 
 +==== NonLinearSpringMaterial ====
 +
 +=== Description ===
 +
 +Nonlinear spring.
 +
 +=== Parameters ===
 +^   Name                                          ^     Metafor Code      Dependency ^
 +| Amplitude of the associated **stiffness force** as a function of the elongation. This force is described by the associated ''nf'' function. Careful, this function must also be described for negative elongation (compression)                      |  ''SPRING_FK''  |  ''GD''  |
 +| Amplitude of the associated **damping force** as a function of the elongation rate. This force is described by the associated ''nf'' function. Careful, this function must also be described for negative elongation rates          ''SPRING_FC''  |  ''GV'' 
 +
 +Remarks :  
 +
 +  * ''SPRING_FK'' et ''SPRING_FC'' are forces and not stiffness/damping coefficient (unlike ConstantSpringMaterial)
 +  * the dependency is written as :
 +''materialset(no).depend(SPRING_FK,fct1,Field1D(TX,RE))''\\
 +''materialset(no).depend(SPRING_FC,fct2,Field1D(TX,GV))''
 +
 +      
 +==== BreakingSpringMaterial ====
 +
 +=== Description ===
 +
 +Nonlinear spring with failure criterion.
 +
 +=== Parameters ===
 +^   Name                                          ^     Metafor Code      Dependency ^
 +| Stiffness|  ''SPRING_FK''  |  -  |
 +| Damping coefficient    ''SPRING_FC''  |  -  | 
 +| Maximal length of the spring. Above, failure appears and forces are equal to zero. This length can depend on time though ''nf''    |  ''SPRING_LMAX''  |  ''TM''  |
 +
 +===== Element=====
 +
 +Once the [[#Materials|material]] is defined, 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
 +
 +|''typeEl'' | desired element (for example ''Spring[2|3]DElement'')|
 +|''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) |
 +
 +==== Spring[2|3]DElement ===
 +
 +Nonlinear spring element. Associates two nodes with a stiffness. No axisymmetric correction is implemented. They must be associated with a ''[[#Interaction|FieldApplicator]]'' interaction.
 +
 +=== Parameters ===
 +^   Name                                          ^     Metafor Code      Dependency ^
 +| ''MATERIAL''    | Number of the spring material to consider              -  |
 +| ''STIFFMETHOD'' | Method used to compute the stiffness matrix\\ = ''STIFF_ANALYTIC'' : analytic matrix (default)\\ = ''STIFF_NUMERIC''  : numerical matrix \\ <del>Not applicable, only the numerical one exists !</del> |  -  |
 +| ''SPRING_LI''   | Defines the spring length "at rest" (relevant or not depending on the value of SPRING_CLI) |  |
 +| ''SPRING_CLI''  | Defines the way the "length at rest" (''lengthIni '') will be computed \\ assume L0 is the measured length at the end of the preprocessing (geometrical length)\\ = 0 : lengthIni = L0 (default - do not require SPRING_LI)\\ = 1 : lengthIni = SPRING_LI \\ = 2 : lengthIni = L0 * SPRING_LI \\ = 3 : lengthIni = L0 + SPRING_LI                            -  |
 +
 +===== Interaction =====
 +
 +Finally, once the ''Spring[2|3]DElement'' ''[[#Element|ElementProperties]]'' is defined, the corresponding interaction is generated with the ''FieldApplicator''. To do so, the corresponding geometric mesh element must be generated using [[doc:user:geometry:mesh:1D]]. Once done, the interaction can be defined and included in the ''interactionset'':
 +
 +  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'' | [[doc:user:elements:general:def_element_properties|Properties]] of [[#spring_2_3_delement|spring elements]] to generate.| 

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki