Modification ZMesh
Elément de ressort amorti (spring)
Désormais, l 'élément de ressort est entré par la commande:
. spr [groupe ou nœud ] [att ]
Le groupe entré doit contenir les deux nœuds que le ressort reliera. On peut aussi entrer 2 nœuds manuellement ou deux groupe de 1 noeud. Et cet élément est bien stocké dans la structure mesh !!!!!!!!
L'attribut permet d'associer au ressort une loi matérielle par une commande:
.att [no ] [mat ]
La loi matérielle du ressort s'entre de manière suivante:
.mat [no ] nom spring_nl (Eh oui je l ai fait)
[no ] [fk] [nf]
[no ] [fc] [nf]
[no] [lini]
fk donne l'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).
fc donne l'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.
La raideur et l'amortissement interviennent en parallèle. Une des deux amplitude peut alors être nulle.
lini donne la longueur initiale du ressort. Si il est négatif, cette longueur est calculée en fonction des positions initiales.
Mise en rotation de la structure
La commande de mise en rotation a été réécrite pour être plus générale. L'ancienne subsiste toujours. La nouvelle s'écrit:
.ro2 [no] [pt1] [pt2] [dx1] [lx1] [dy1] [ly1] [dz1] [lz1] [dx2] [lx2] [dy2] [ly2] [dz2] [lz2]
Cette loi de rotation est associée a un axe pointant du point 1 au point 2. Ces points évoluent chacun selon x,y,z avec les amplitudes dij et les lois lij (i=x,y,z et j=1,2).
La mise en rotation initiale d'éléments s'effectue via l'attribut.
.att [no] [mat] [omega] [rot2]
La vitesse de rotation en degré par seconde est donnée par omega et la loi de rotation associée est rot2.
La rotation imposée de nœuds s'effectue par la commande fnn.
.fnn [groupe] [comp] [rot2] [ampl] [loi] omega ou angle
Si omega est entré, on a une vitesse imposée et si c'est angle, on a un angle impose. Cette valeur a l'amplitude ampl qui évolue selon la fonction loi. A noter que le chois de la comp permet une excitation sinusoïdale ou elliptique.
Réecriture de Oofelie.c
C'est mieux j'espère
Modification Lib
Modifications correspondantes au nouvelles fonctions ZMesh.
Modification Meta
Néant
Modification Oofelie
Ajout élément de ressort (fichiers Spring)
Calcul de l'équilibre en t=0 et des vitesses/accélérations correspondantes (ajout d'une fonction mis_rot dans les .e et fonction de mise en rotation dans les éléments)
Rotation imposée de ddl (ajout de la classe Exitarot et de la fonction intégration dans func)
Exemples
Spring
.del.*
abre '/l1' '1.27'
abre '/l2' '0.889'
abre '/eps' '1.0e-8' ! pour selections
! geometrie
! ---------
! **** POINTS ****
! points - face inf
.noe i 1 x (-2*/eps) y 0.0
i 2 x (-2*/eps) y (/l2)
.sel groupe 4 noeud
boite struct xi (-3*/eps) yi (-/eps) $
xs (-/eps) ys (/l2+/eps)
.poi
i 1 x 0.0 y 0.0
i 2 x (/l1) y 0.0
i 3 x (/l1) y (/l2)
i 4 x 0.0 y (/l2)
! **** COURBES ****
! courbes - face inf
.dro
i 1 points 1 2
i 2 points 2 3
i 3 points 3 4
i 4 points 4 1
! **** CONTOURS ****
! contours face inf
.con
i 1 lignes 1 2 3 4
.dom
contour 1
! maillage
! --------
.gen degre 1
! maillage 1D
modifie lignes 1 2 3 4 elem 1
maille 1 transfini
domaine 1 attribut 1
.REN NOEUD EXECUTER
MAILLE EXECUTER
.ael mat 1 attribut 1
.SEL GROUPE 1 NOEUDS
BOITE STRUC 1 XI (-/eps) YI (-/eps) $
XS (/l1+/eps) YS (+/eps)
GROUPE 2 NOEUDS
BOITE STRUC 1 XI (-/eps) YI (/l2-/eps) $
XS (/l1+/eps) YS (/l2+/eps)
GROUPE 3 NOEUDS
BOITE STRUC 1 XI (/l1-/eps) YI (-/eps) $
XS (/l1+/eps) YS (/l2+/eps)
GROUPE 5 NOEUDS
BOITE STRUC 1 XI (-3.*/eps) YI (-/eps) $
XS (/eps) YS (/eps)
GROUPE 6 NOEUDS
BOITE STRUC 1 XI (-3.*/eps) YI (/l2-/eps) $
XS (/eps) YS (/l2+/eps)
.HYP QUADRANGLE 1
.fin 1
!
!
!
.sdb n
.mde ndyn 0
itma 10
itan 0
irep 1
iplan 1
ndef 1
icri 0
.mdr
muli 1.E-1
prec 1.E-6
.mat no 1 nom elasplasnl
no 1 mass 8930
no 1 yt 2.069E+05
no 1 nt 0.29
no 1 p1 1000000.
no 1 p2 1000000.
no 1 p3 16.73
no 1 p4 0.
no 1 p5 1.
no 1 p6 0.
no 1 p7 1.
no 1 p8 0. !129.4
no 2 nom spring_nl
no 2 lini 0.
no 2 fk 1. nf 2
.cat npas 10 t1 0. t2 1. MULM 1.
.fnn
groupe 2 comp 2 ampl 0.
groupe 1 comp 2 ampl 0.
groupe 4 comp 1 ampl 0.
groupe 4 comp 2 ampl 0.
.cha
groupe 3 comp 1 ampl 1000.
.spr groupe 5 att 2
groupe 6 att 2
.att no 2 mat 2
.fct n 1 np 2 abs 0.0 1.0 ord 0.0 1.0
n 2 np 5 abs -5. -1. 0. 1. 5. ord -40000100. -100. 0. 100. 40000100.
.sai
tot_en_pot
!.fi1
Aube (Mise en rotation)
.del.*
.TIT "POUTRE VRILLEE"
.3POI I 1 X 0.10 Y -0.055 Z -0.016
I 2 X 0.10 Y 0.055 Z -0.016
I 3 X 0.10 Y 0.055 Z 0.016
I 4 X 0.10 Y -0.055 Z 0.016
I 5 X 0. Y 0. Z 0.
I 6 X 0. Y 0. Z 1.
.3DRO I 1 Points 1 2
I 2 Points 2 3
I 3 Points 3 4
I 4 Points 4 1
I 5 CPoints 0.10 0.0 0.0,1.30 0.0 0.0
.CONT I 1 Lignes 1 2 3 4
.PLAN I1 point 1 2 3
.DOM I 1 Contour 1 surface 1
.GEN Degre 1
modifie ligne 1 3 elements 4
modifie ligne 2 4 elements 1
C1 1 C2 2 C3 3 C4 4
maille 1 transfini att 1
genere
.FCT
Cree Fonction I 2
Cree Valeur Y U Analytique "$u*90." Bornes 0. 1.
.EXTR Att 1
Ligne 5 Parallele CAx1 0.1 1.0 0.0 CAx2 0.1 0.0 1.0 FRotation 2 Elem 24
Exec
.REN Noeuds Exec
MAILLE EXECUTER
.ael mat 3 attribut 1
.SEL Groupe 1 Noeuds
Boite Struct XI 0.09 XS 0.11 YI -0.56 YS 0.56 ZI -0.02 ZS 0.02
.HYP Volume
.FIN 1
.sdb n
.att
no 1 mat 3 omega 22918.3 rot2 1
.mat no 3 nom elasplasnl
no 3 mass 4.45E3
no 3 yt 1.1E11
no 3 nt 0.31
no 3 p1 1.1E9
no 3 p2 1.1E9
no 3 p3 16.73
no 3 p4 0.
no 3 p5 1.
no 3 p6 0.
no 3 p7 1.
no 3 p8 0.
.MDE ndyn 2
icri 1
.MDR muli 1.0E-4
mulm 1.0E-4
prec 1.E-6
prcu 6.E-3
alpm -0.97
alpf 0.01
.cat npas 20 T1 0.0E0 T2 0.03142
.ro2
no 1 pt1 5 pt2 6 dx1 0 dy1 0. dz1 0. $
dx2 0. dy2 0. dz2 0.
.fnn
groupe 1 comp 1 rot2 1 ampl 22918.3 loi 3 omega
groupe 1 comp 2 rot2 1 ampl 22918.3 loi 3 omega
groupe 1 comp 3 rot2 1 ampl 22918.3 loi 3 omega
!.vii
! groupe 2 omega 22918.3 rot2 1
.fct n 1 np 2 abs 0.0 1.0 ord 0.0 1.0
n 3 np 2 abs 0.0 1.0 ord 1.0 1.0
.sai
tot_en_pot
.fi1