* fichier : grota-coq2.dgibi
***********************************************************
*
* Le but de ce k-test est de vérifier que les contraintes
* et les déformations ne varient pas dans un élément COQ2
* en grandes rotations.
*
* Auteur : M. Bulik
*
* Date : Janvier '97
*
***********************************************************
*** Options ...
opti dime 2 mode plan defo echo 1 elem seg2 ;
depl0 = 0.01 ;
graph = faux ;
*** Points ...
dens 1.0 ;
p1 = 0 0 ;
p2 = (1 - depl0) 0 ;
*** Trièdre ...
mp1 = manu poi1 p1 ;
chx = manu chpo mp1 2 FX 1 FY 0 ;
chy = manu chpo mp1 2 FX 0 FY 1 ;
axx = vect chx FX FY 0.5 BLEU ;
axy = vect chy FX FY 0.5 BLAN ;
triedre = axx et axy ;
*** Lignes ...
li1 = p1 d 1 p2 ;
*** Modèle etc. ...
mo1 = mode li1 mecanique elastique coq2 ;
mo1lin = mode li1 mecanique elastique epsilon lineaire
coq2;
ma1 = mate mo1 YOUN 2.e+11 NU 0.3 EPAI 1.e-2 ;
ma1lin = mate mo1lin YOUN 2.e+11 NU 0.3 EPAI 1.e-2 ;
*** Chargement ...
nbangl = 45 ;
listt = prog 0 1 pas (1./nbangl) 2 ;
listarg = prog 0 pas (1./nbangl) 1 ;
listsin = prog sinu 0.25 listarg ;
list0 = prog (nbangl + 1) '*' (depl0 - 1) ;
listcos = prog sinu 0.25 phas 90 listarg ;
listx = (prog 0) et (list0 + listcos) ;
listy = (prog 0) et listsin ;
titr 'Deplacement impose en X' ;
evx = evol MANU listt listx ;
titr 'Deplacement impose en Y' ;
evy = evol MANU listt listy ;
si(graph) ;
dess evx ;
dess evy ;
finsi ;
blx = bloq ux p2 ;
bly = bloq uy p2 ;
depix = depi blx 1.0 ;
depiy = depi bly 1.0 ;
charx = char DIMP evx depix ;
chary = char DIMP evy depiy ;
blz = bloq rota li1 ;
moz = depi blz (pi / 2) ;
evz = evol manu (prog 0 1 2) (prog 0 0 1) ;
charz = char DIMP moz evz ;
*** Préparation de la table pour PASAPAS ...
tabnl = table ;
tabnl . MODELE = mo1 ;
tabnl . CARACTERISTIQUES = ma1 ;
tabnl . CHARGEMENT = charx et chary ;
tabnl . BLOCAGES_MECANIQUES = (bloq depl p1) et blx et bly ;
tabnl . GRANDS_DEPLACEMENTS = vrai ;
tabnl . TEMPS_CALCULES = listt ;
tabnl . MTOL = 1.0 ;
*** Appel à PASAPAS ...
pasapas tabnl ;
*** Post-traitement ...
nbpas = dime (tabnl . TEMPS) ;
mess 'On a fait ' (nbpas - 1) ' pas' ;
defotot = defo li1 (tabnl . DEPLACEMENTS . 0) 1.0 ;
list1n11 = prog ;
list1nzz = prog ;
list2n11 = prog ;
list2nzz = prog ;
list3n11 = prog ;
list3nzz = prog ;
listlon = prog (mesu li1) ;
repeter surpas (nbpas - 1) ;
depact = tabnl . DEPLACEMENTS . &surpas ;
defoact = defo li1 depact 1.0 ;
defotot = defotot et defoact ;
tototo = li1 plus depact ;
listlon = listlon et (prog (mesu tototo)) ;
contact = tabnl . CONTRAINTES . &surpas ;
list1n11 = list1n11 et (prog (extr contact N11 1 1 1)) ;
list2n11 = list2n11 et (prog (extr contact N11 1 1 2)) ;
list3n11 = list3n11 et (prog (extr contact N11 1 1 3)) ;
list1nzz = list1nzz et (prog (extr contact NZZ 1 1 1)) ;
list2nzz = list2nzz et (prog (extr contact NZZ 1 1 2)) ;
list3nzz = list3nzz et (prog (extr contact NZZ 1 1 3)) ;
fin surpas ;
titr 'L evolution de la position de la coque' ;
si(graph) ;
trac defotot OSCIL ;
finsi ;
listt2 = enle listt 1 ;
titr 'L evolution de l effort N11 au 1er pt d integration' ;
ev1n11 = evol manu listt2 list1n11 ;
titr 'L evolution de l effort N11 au 2nd pt d integration' ;
ev2n11 = evol manu listt2 list2n11 ;
titr 'L evolution de l effort N11 au 3eme pt d integration' ;
ev3n11 = evol manu listt2 list3n11 ;
titr 'L evolution de l effort NZZ au 1er pt d integration' ;
ev1nzz = evol manu listt2 list1nzz ;
titr 'L evolution de l effort NZZ au 2nd pt d integration' ;
ev2nzz = evol manu listt2 list2nzz ;
titr 'L evolution de l effort NZZ au 3eme pt d integration' ;
ev3nzz = evol manu listt2 list3nzz ;
si(graph) ;
dess ev1n11 ;
dess ev2n11 ;
dess ev3n11 ;
dess ev1nzz ;
dess ev2nzz ;
dess ev3nzz ;
finsi ;
titr 'L evolution de la longueur de la coque' ;
evlon = evol manu listt listlon ;
si(graph) ;
dess evlon ;
finsi ;
*** Tests ...
testtt = vrai ;
cricri = 1.e-10 ;
r1 = maxi list1n11 ;
r2 = mini list1n11 ;
diffr = (r1 - r2) / (abs r2) ;
testtt = testtt et (diffr < cricri) ;
r1 = maxi list2n11 ;
r2 = mini list2n11 ;
diffr = (r1 - r2) / (abs r2) ;
testtt = testtt et (diffr < cricri) ;
r1 = maxi list3n11 ;
r2 = mini list3n11 ;
diffr = (r1 - r2) / (abs r2) ;
testtt = testtt et (diffr < cricri) ;
r1 = maxi list1nzz ;
r2 = mini list1nzz ;
diffr = (r1 - r2) / (abs r2) ;
testtt = testtt et (diffr < cricri) ;
r1 = maxi list2nzz ;
r2 = mini list2nzz ;
diffr = (r1 - r2) / (abs r2) ;
testtt = testtt et (diffr < cricri) ;
r1 = maxi list3nzz ;
r2 = mini list3nzz ;
diffr = (r1 - r2) / (abs r2) ;
testtt = testtt et (diffr < cricri) ;
si(testtt) ;
erre 0 ;
sinon ;
erre 5 ;
finsi ;
*** Test linéaire ...
s_membr0 = tire (charx et chary) 1 ;
s_membr = tire (charx et chary) 2 ;
c_limit = tabnl . BLOCAGES_MECANIQUES ;
m_rigid = rigi mo1 (tabnl . CARACTERISTIQUES) ;
d_elast0 = reso (m_rigid et c_limit) s_membr0 ;
d_elast = reso (m_rigid et c_limit) s_membr ;
defo0 = defo li1 d_elast0 0. triedre ;
defo1 = defo li1 d_elast0 1. VERT ;
defo2 = defo li1 d_elast 1. JAUN ;
si(graph) ;
trac (defo0 et defo1 et defo2) ;
finsi ;
ep_elas1 = epsi mo1lin ma1lin d_elast ;
ep_elas2 = epsi mo1 ma1 d_elast ;
si_elas1 = sigm mo1lin ma1lin d_elast ;
si_elas2 = sigm mo1 ma1 d_elast ;
ho_elas = hook mo1 ma1 ;
holi_ela=hook mo1lin ma1lin ;
test1 = ep_elas1 - ep_elas2 ;
si((maxi (abs test1)) < 1.e-6) ;
mess ' test1 ' ( maxi (abs test1));
mess 'Pas de termes quadratiques prises en compte pour les défo' ;
erre 5 ;
finsi ;
test2 = si_elas1 - si_elas2 ;
si((maxi (abs test2)) < 1.e-6) ;
mess 'Pas de termes quadratiques prises en compte pour les sigma' ;
erre 5 ;
finsi ;
test3 = (mo1lin holi_ela * ep_elas1) - si_elas1 ;
si((maxi (abs test3)) > 1.e-6) ;
mess 'Incompatibilité dans le cas linéaire !!!!!!!' ;
erre 5 ;
finsi ;
test4 = (mo1 ho_elas * ep_elas2) - si_elas2 ;
si((maxi (abs test4)) > 1.e-6) ;
mess 'Incompatibilité dans le cas quadratique !!!!!!!' ;
erre 5 ;
finsi ;
epkk = epsi mo1 ma1 d_elast0 ;
list (epkk - ep_elas2);
si((maxi (abs (epkk - ep_elas2))) > 1.e-14) ;
mess '=> Les déformations fausses !!!' ;
erre 5 ;
finsi ;
sikk = sigm mo1 ma1 d_elast0 ;
si((maxi (abs (sikk - si_elas2))) > 1.e-5) ;
mess '=> Les contraintes fausses !!!' ;
erre 5 ;
finsi ;
*** Bye ...
fin ;
© Cast3M 2003 - All rights reserved.
Disclaimer