Download grota-coq2.dgibi

Back to the list

* 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