Metafor

ULiege - Aerospace & Mechanical Engineering

User Tools

Site Tools


doc:user:elements:specials:spring

This is an old revision of the document!


Spring

Matériaux

Le comportement d'un ressort (linéaire ou non, avec ou sans critère de rupture) se définit de la même façon que les matériaux, c'est-à-dire selon

materialno = materialset.define (number, type)
materialno = materialset(number)
materialno.put(param, valeur)
materialno.depend(param, fct, Key(Lock)))
...
number numéro du ressort (doit être unique, parmi tous les éléments dans materialset et pas seulement parmi les ressorts)
type type de ressort (p.expl. ConstantSpringMaterial)
param nom du paramètre du ressort (p.expl. SPRING_FK)
valeur valeur du paramètre param correspondant
fct numéro de la fonction dont la propriété dépend (facultatif: si aucune dépendance pas de fct)
Lock Lock définissant la variable de dépendance de la propriété (obligatoire si on a une dépendance)

ConstantSpringMaterial

Description

Ressort linéaire.

Paramètres

Nom Code Metafor Type de dépendance
Raideur SPRING_FK -
Coefficient d'amortissement SPRING_FC -

NonLinearSpringMaterial

Description

Ressort non linéaire.

Paramètres

Nom Code Metafor Type de dépendance
Amplitude de la force de raideur en fonction de l'allongement. Cette force est décrite par la fonction nf associée. Attention, cette fonction doit être décrite aussi pour les allongements négatifs (compression) SPRING_FK GD
Amplitude de la force d'amortissement en fonction de la vitesse d'allongement. Cette force est décrite par la fonction nf associée. Attention, cette fonction doit être décrite aussi pour les vitesses d'allongement négatives SPRING_FC GV

Remarques :

  • SPRING_FK et SPRING_FC sont ici les forces et non raideur/coef amortissement (à la différence de ConstantSpringMaterial)
  • pour rappel, la dépendance se fait via :

materialset(no).depend(SPRING_FK,fct1,Field1D(TX,RE))
materialset(no).depend(SPRING_FC,fct2,Field1D(TX,GV))

BreakingSpringMaterial

Description

Ressort non-linéaire avec possibilité de rupture.

Paramètres

Nom Code Metafor Type de dépendance
Raideur SPRING_FK -
Coefficient d'amortissement SPRING_FC -
Longueur maximale admissible par le ressort. Au-delà il y a rupture et les forces sont nulles. Cette longueur peut dépendre du temps via nf SPRING_LMAX TM

Elément

Une fois la matériau défini, il faut l'associer à un ElementProperties, selon

prp = ElementProperties(typeEl)
prp.put(param1, valeur1)
prp.depend(param1, fct1, Lock1)) #facultatif
...

typeEl type d'élément souhaité (Spring[2|3]DElement pour des ressorts)
param1 nom de la propriété relative à l'élément (p.expl. MATERIAL pour associer le matériau souhaitée)
valeur1 “valeur” de la propriété
fct1 numéro de la fonction dont la propriété dépend (facultatif: si aucune dépendance pas de fct)
Lock1 Lock définissant la variable de dépendance de la propriété (obligatoire si on a une dépendance)

Spring[2|3]DElement

Eléments de ressort non linéaire . Relie deux noeuds par une raideur. Aucune correction axisymétrique n'est programmée. Ils doivent être reliés à une interaction de type FieldApplicator.

Paramètres

Code Metafor Description Type de dépendance permise
MATERIAL Numéro du matériau de ressort à considérer -
STIFFMETHOD Méthode pour calculer la matrice de raideur
= STIFF_ANALYTIC : matrice analytique (défaut)
= STIFF_NUMERIC : matrice numérique
Pas applicable, seule la matrice numérique existe !!!
-
SPRING_LI Paramètre double définissant la longueur “au repos” du ressort (selon valeur SPRING_CLI)
SPRING_CLI Paramètre entier définissant la méthode de calcul de la longueur “au repos” du ressort (lengthIni dans le code)
soit L0 longueur du ressort mesurée en fin de prépro (longueur géométrique)
= 0 : lengthIni = L0 (defaut - ne nécessite pas SPRING_LI)
= 1 : lengthIni = SPRING_LI
= 2 : lengthIni = L0 * SPRING_LI
= 3 : lengthIni = L0 + SPRING_LI
-

Interaction

Enfin, lorsque l' ElementProperties de type Spring[2|3]DElement est défini, on génère l'interaction correspondante à l'aide du FieldApplicator. Pour ce faire, il faut d'abord créer la géométrie de l'élément correspondant (maille) au moyen du 1D Meshers (Curves). Ceci fait, on peut alors définir l'interaction et l'inclure dans interactionset, selon

app = FieldApplicator(no)
app.push(gObject1)
app.push(gObject2)
...
app.addProperty(prp)        # association d'un ElementProperties
interactionset.add(app)     # ajout dans l'InteractionSet

ou selon

app = interactionset.add(FieldApplicator(no)) #add renvoie une référence
app.push(gObject1)
app.push(gObject2)
...
app.addProperty(prp)        # association d'un ElementProperties

no Numéro de l' Interaction (c-à-d du FieldApplicator)
gObject1, gObject2 Entité géométrique maillée sur laquelle on applique des éléments finis
prp Propriétés des éléments de ressort à générer.
doc/user/elements/specials/spring.1373650080.txt.gz · Last modified: 2016/03/30 15:22 (external edit)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki