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
Last revisionBoth sides next revision
doc:user:elements:specials:spring [2013/07/09 15:27] jorisdoc:user:elements:specials:spring [2023/06/20 18:59] 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 \\ Not applicable, only the numerical one exists ! |  -  |
 +| ''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.| 
doc/user/elements/specials/spring.txt · Last modified: 2023/06/20 19:00 by papeleux

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki