Download simpl2.dgibi

Back to the list

* fichier :  simpl2.dgibi
graph='N';
saut page;
mess 'test de SIMPLE : resistance limite d"un treillis de 3 barres';
opti dime 2 elem seg2;
*****************************************************************
* test du simplex sur un treillis de 3 barres (avec utilisation 
* de la procedure ANLIMTRE)
*
* on considere 3 barres pouvant suportees une contrainte limite
* egale a condlim. L'arrangement des trois barres est le suivant:
*
*            p3                            1           2
*             +                   
*            ***                           ^
*           * * *                          |
*          *  *  *                         |
*         *   *   *                        |         ---->
*        *    *    *
*       +     +     +          
*      p1    p4    p2                direction de sollicitation           
*
* on cherche l'intensite de la charge limite suportee par ce
* treillis, pour les 2 directions de sollicitation indiquees
* dessus. Le resultat attendu est evidemment:
*
* cas 1: intensite=(1+2*sqrt(2))*conlim
* cas 2: intensite=   2*sqrt(2) *conlim
*
* lire les commentaires associes a ANLIMTRE
*
* PP 1/9/92
*****************************************************************
conlim=1.;
reacmax=5.;
*
* 1) preparation du maillage
*
p1=0 0; p2=2 0; p3=1 1; p4=1 0;
mesh=(p1 d 1 p3) et (p3 d 1 p2) et (p3 d 1 p4);
*
* WARNING: on tasse pour avoir les noeuds du maillage
*          avec une numerotation ABSOLUE correcte
tass mesh;
*
* 2) point(s) bloque(s) (du maillage)
*
pbloq=p1 et p2 et p4;
si (ega (type pbloq) 'POINT   ');
  pbloq=pbloq et pbloq;
  pbloq=pbloq elem 1;
finsi;
*
* 3) point/composante sollicite (du maillage)
*
psoll=p3; vsoll1=0. 1.; vsoll2=1. 0.;
*
* 4) preparation de la table d'entree de ANLIMTRE
*
tt=table;
tt.'MESH'=mesh;
tt.'PBLOQ'=pbloq;
tt.'PSOLL'=psoll;
tt.'CONLIM'=conlim;
tt.'REACMAX'=reacmax;
*
* 5) premier cas - impression et erreur -
*
tt.'VSOLL'=vsoll1;
iok=ANLIMTRE tt;
si (iok ega 0);
  solut=tt.'CHARLIM';
  theorie=conlim * (1 + (2. ** .5));
  mess 'premiere direction de sollicitation';
  mess '--->theorie=' theorie ' calcul=' solut;
  si (abs (theorie - solut) > 1.d-6); erre 5;
  sinon;                               erre 0;  finsi;
finsi;
*
* 6) deuxieme cas - impression et erreur -
*
tt.'VSOLL'=vsoll2;
iok=ANLIMTRE tt;
si (iok ega 0);
  solut=tt.'CHARLIM';        
  theorie=conlim * (2. ** .5);
  mess 'deuxieme direction de sollicitation';
  mess '--->theorie=' theorie ' calcul=' solut;
  si (abs (theorie - solut) > 1.d-6); erre 5;
  sinon;                               erre 0;  finsi;
finsi;
*
fin;

© Cast3M 2003 - All rights reserved.
Disclaimer