Télécharger sif.procedur

Retour à la liste

Numérotation des lignes :

  1. * SIF PROCEDUR JC220346 12/09/12 21:15:08 7501
  2. DEBPROC SIF SUPTAB*TABLE MAT*MCHAML U*CHPOINT;
  3. **********************************************
  4. * PROCEDURE POUR LA DETERMINATION DE K *
  5. * PAR LA METHODE DES DEPLACEMENTS *
  6. ***************************************************************
  7. *SUPTAB.'MAILLAGE' : MAILLAGE ENTIER (UTILE UNIQUEMENT EN 3D) *
  8. * *
  9. *SUPTAB.'MODMIXTE' : BOOLEEN VALANT VRAI SI ON EST EN MODE MIXTE *
  10. * *
  11. * *
  12. *SUPTAB.'LIFIS1' : OBJETS DE TYPE MAILLAGE REPRESENTANT LES LIGNES *
  13. *SUPTAB.'LIFIS2' DE FISSURES EN 2D *
  14. * SUPTAB.'LIFIS1': LIGNE DE FISSURE SUPERIEURE EN CAS DE MODE MIXTE *
  15. * ET LIGNE DE FISSURE EN MODE 1 PUR *
  16. * SUPTAB.'LIFIS2': LIGNE DE FISSURE INFERIEURE EN CAS DE MODE MIXTE *
  17. * *
  18. * *
  19. * *
  20. * SUPTAB.'FRTFISS' : LIGNE DE FRONT DE FISSURE EN 3 D DE TYPE MAILLAGE *
  21. * POINTE DE FISSURE EN 2D DE TYPE POINT *
  22. * *
  23. *SUPTAB.'PSF1',SUPTAB.'PSF2' : POINTS DE LA SURFACE DE FISSURE *
  24. * N'APPARTENANT PAS AU FRONT DE FISSURE EN 3D *
  25. * SUPTAB.'PSF1' : POINT DE LA SURFACE DE FISSURE EN MODE 1 PUR *
  26. * POINT DE LA SURFACE SUPERIEURE EN MODE MIXTE *
  27. * SUPTAB.'PSF2' : POINT DE LA SURFACE INFERIEURE EN MODE MIXTE *
  28. * (INEXISTANT EN MODE 1 PUR) *
  29. * *
  30. *SUPTAB.'DEBOUCH' : BOOLEEN VALANT VRAI SI LA FISSURE EST DEBOUCHANTE *
  31. * ET FAUX SINON (EN 3D) *
  32. *SUPTAB.'PDEBOUCH' : EXISTE EN CAS DE FISSURE DEBOUCHANTE EN 3D *
  33. * * EN CAS DE FISSURE SYMETRIQUE :POINT INTERSECTION ENTRE LA *
  34. * LIGNE DEBOUCHANTE ET FRTFISS (TYPE POINT) *
  35. * * EN CAS DE FISSURE NON SYMETRIQUE : LES 2 POINTS INTERSECTION *
  36. * ENTRE LA LIGNE DEBOUCHANTE ET LE FRONT DE FISSURE *
  37. * (TYPE MAILLAGE) *
  38. * *
  39. * *
  40. *SUPTAB.'EPAI' : CHPOINT OU REEL DES EPAISSEURS AUX NOEUDS (POUR LES *
  41. * ELEMENTS COQUES) *
  42. *SUPTAB.'MEMBRANE' : BOOLEEN VALANT VRAI SI LES K1 ET EVENTUELLEMENT *
  43. * K2 DOIVENT ETRE EVALUES A PARTIR DES DEFORMATIONS *
  44. * MEMBRANAIRES (POUR LES ELEMENTS COQUES) *
  45. *SUPTAB.'FLEXION' : BOOLEEN VALANT VRAI SI LES K1 ET K2 DE FLEXION *
  46. * DOIVENT ETRE EVALUES (POUR LES ELEMENTS COQUES) *
  47. * *
  48. *SUPTAB.'GRANDS_DEPLACEMENTS' : BOOLEEN VALANT VRAI POUR UN CALCUL EN *
  49. * GRANDS DEPLACEMENTS *
  50. * *
  51. * MAT : CHAMP DE MATERIAU *
  52. * *
  53. * U : CHAMP DE DEPLACEMENT *
  54. ************************************************************************
  55. ************************************************************************
  56. * ARGUMENTS DE SORTIE *
  57. * TABLE SUPTAB *
  58. ************************************************************************
  59. * *
  60. *SUPTAB.'K1' :* EN 2D, CONTIENT LE REEL K1 : SUPTAB.K1 = K1 *
  61. * * EN 3D, CONTIENT UNE TABLE DE REELS QUI REPRESENTENT LES*
  62. * K1 A CHAQUE NOEUD DU FRONT DE FISSURE ; CETTE TABLE DE *
  63. * REELS A POUR INDICES DES OBJETS DE TYPE POINT : *
  64. * EXEMPLE : SUPTAB.K1.P = K1 TROUVE AU NOEUD DU FRONT *
  65. * DONT LES COORDONNEES SONT CELLES DE P *
  66. * * POUR LES COQUES, CONTIENT UNE TABLE DE 3 REELS : *
  67. * SUPTAB.K1.TOTAL : K1(flexion) + K1(membrane) *
  68. * SUPTAB.K1.MEMBRANE : K1(membrane) *
  69. * SUPTAB.K1.FLEXION : K1(flexion) *
  70. * *
  71. * *
  72. *SUPTAB.'K2' :* EN 2D, CONTIENT LE REEL K2 : SUPTAB.K2 = K2 *
  73. * * EN 3D, CONTIENT UNE TABLE DE REELS QUI REPRESENTENT LES*
  74. * KII A CHAQUE NOEUD DU FRONT DE FISSURE ;CETTE TABLE DE *
  75. * REELS A POUR INDICES DES OBJETS DE TYPE POINT : *
  76. * EXEMPLE : SUPTAB.K2.P = K2 TROUVE AU NOEUD DU FRONT *
  77. * DONT LES COORDONNEES SONT CELLES DE P *
  78. * * POUR LES COQUES, CONTIENT UNE TABLE DE 3 REELS : *
  79. * SUPTAB.K2.TOTAL : K2(flexion) + K2(membrane) *
  80. * SUPTAB.K2.MEMBRANE : K2(membrane) *
  81. * SUPTAB.K2.FLEXION : K2(flexion) *
  82. * *
  83. ************************************************************************
  84.  
  85. ************************************************************************
  86. ***************** QUELQUES INITIALISATIONS **************************
  87. ************************************************************************
  88. &DIM = 'VALEUR' DIME;
  89. &IMP = 'VALEUR' IMPI;
  90. &ELEM = 'VALEUR' ELEM;
  91. IELEM2 = (EGA &ELEM 'TRI3') 'OU' (EGA &ELEM 'QUA4');
  92. IELEM3 = (EGA &ELEM 'CUB8') 'OU' (EGA &ELEM 'PRI6');
  93. IEL2Q = (EGA &ELEM 'TRI6') 'OU' (EGA &ELEM 'QUA8');
  94. IEL3Q = (EGA &ELEM 'PR15') 'OU' (EGA &ELEM 'CU20');
  95. IELEMLIN = IELEM2 'OU' IELEM3;
  96. ICOQ = (EGA &DIM 3) ET ((IELEM2) 'OU' (IEL2Q));
  97. IMASS = (EGA &DIM 3) ET ((IELEM3) 'OU' (IEL3Q));
  98.  
  99. SI (EXISTE SUPTAB 'MODMIXTE');
  100. MODMIXT = SUPTAB.'MODMIXTE';
  101. SINON;
  102. MODMIXT = FAUX;
  103. FINSI;
  104.  
  105. SI (EXISTE SUPTAB 'EPAI');
  106. CHEP = SUPTAB.'EPAI';
  107. FINSI;
  108. SI (EXISTE SUPTAB 'MEMBRANE');
  109. MEMB = SUPTAB.'MEMBRANE';
  110. SINON;
  111. MEMB = FAUX;
  112. FINSI;
  113. SI (EXISTE SUPTAB 'FLEXION');
  114. FLEX = SUPTAB.'FLEXION';
  115. SINON;
  116. FLEX = FAUX;
  117. FINSI;
  118.  
  119. SI (EXISTE SUPTAB 'DEBOUCH');
  120. DEBOUCH = SUPTAB.'DEBOUCH';
  121. SINON;
  122. DEBOUCH = FAUX;
  123. FINSI;
  124.  
  125. SI (EXISTE SUPTAB 'GRANDS_DEPLACEMENTS');
  126. IGDDEP = SUPTAB.'GRANDS_DEPLACEMENTS';
  127. SINON;
  128. IGDDEP = FAUX;
  129. FINSI;
  130.  
  131. SI (IGDDEP);
  132. CONF0 = FORM;
  133. FORM U;
  134. FINSI;
  135.  
  136. SI (IMASS);
  137. **------------cas où l'on est en dimension 3----------**
  138. FRTFISS = SUPTAB.'FRTFISS';
  139. PSF = SUPTAB.'PSF1';
  140. **--cas où l'on est en mode mixte--**
  141. SI (EGA MODMIXT VRAI);
  142. PSF2 = SUPTAB.'PSF2';
  143. FINSI;
  144. **--cas où l'on est en fissure débouchante--**
  145. SI (EGA DEBOUCH VRAI);
  146. SI (EGA (TYPE SUPTAB.'PDEBOUCH') 'POINT ');
  147. PDBOUCH1 = SUPTAB.'PDEBOUCH';
  148. SINON;
  149. PDBOUCH1 = SUPTAB.'PDEBOUCH' POIN 1;
  150. PDBOUCH2 = SUPTAB.'PDEBOUCH' POIN 2;
  151. FINSI;
  152. FINSI;
  153. MAILLAGE = SUPTAB.'MAILLAGE';
  154. SINON;
  155. **-----------cas où l'on est en dimension 2-----------**
  156. LIFIS1 = SUPTAB.'LIFIS1';
  157. PF = SUPTAB.'FRTFISS';
  158. **--cas où l'on est en mode mixte--**
  159. SI (EGA MODMIXT VRAI);
  160. LIFIS2 = SUPTAB.'LIFIS2';
  161. FINSI;
  162. FINSI;
  163.  
  164.  
  165. ***************************************************************
  166. ************** CALCULS EN DIMENSION 3 ******************
  167. *******RECUPERATION DES LIGNES PERPENDICULAIRES AU FRONT*******
  168. *******DE FISSURE SUR LESQUELLES SERONT EFFECTUES LES CALCULS**
  169. ***************************************************************
  170. *&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&*
  171. SI (IMASS);
  172. *&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&*
  173. *------determination de cas de fissure debouchante ou non-----*
  174.  
  175. TMAIL = TABLE;
  176. TRANCHE = TABLE;
  177. P = (NBNO FRTFISS);
  178. *-----recuperation des points extremites du front de fissure----*
  179.  
  180. FRTFISS = ORDO FRTFISS;
  181. PINIT = FRTFISS POIN 'INIT';
  182. PFIN = FRTFISS POIN 'FINAL';
  183.  
  184. *-----determination du volume de travail MAILVOL----------------*
  185. MAILVOL = FRTFISS;
  186. REPETER BVOL 3;
  187. MAILVOL = MAILLAGE ELEM APPU LARG MAILVOL;
  188. FIN BVOL;
  189.  
  190. *--récupération de la surface initiale de MAILVOL : SURINIT-----*
  191. SURINIT = PINIT;
  192. REPETER BSURINIT 3;
  193. VCUB = MAILLAGE ELEM APPU LARG SURINIT;
  194. SCUB = ENVE VCUB;
  195. SURINIT = SCUB ELEM APPU LARG SURINIT;
  196. FIN BSURINIT;
  197. POINTFIS = SURINIT POIN 'PLAN' PINIT PFIN PSF 0.01;
  198. ELEMSFIS = SURINIT ELEM APPU STRI POINTFIS;
  199. SURINIT = SURINIT DIFF ELEMSFIS;
  200. SURINIT1 = SURINIT;
  201. SURINIT = PINIT;
  202. REPETER BSURI 7;
  203. SURINIT = SURINIT1 ELEM APPU LARG SURINIT ;
  204. FIN BSURI ;
  205. *--récupération de la surface finale de MAILVOL : SURFIN-------*
  206. SURFIN = PFIN;
  207. REPETER BSURFIN 3;
  208. VCUB = MAILLAGE ELEM APPU LARG SURFIN;
  209. SCUB = ENVE VCUB;
  210. SURFIN = SCUB ELEM APPU LARG SURFIN;
  211. FIN BSURFIN;
  212. POINTFIS = SURFIN POIN 'PLAN' PINIT PFIN PSF 0.01;
  213. ELEMSFIS = SURFIN ELEM APPU STRI POINTFIS;
  214. SURFIN = SURFIN DIFF ELEMSFIS;
  215. SURFIN1 = SURFIN;
  216. SURFIN = PFIN ;
  217. REPETER BSURF 7 ;
  218. SURFIN = SURFIN1 ELEM APPU LARG SURFIN;
  219. FIN BSURF ;
  220.  
  221. *--remplissage de la table des plans orthogonaux à la fissure--*
  222. *--------------------- TMAIL ----------------------------*
  223. TMAIL.1 = SURINIT CHAN POI1;
  224. TRANCHE.1 = MAILVOL ELEM APPU LARG SURINIT;
  225. I = 0; TRANCHET = TRANCHE.1;
  226. SI ((NBEL FRTFISS ) > 1 );
  227. REPETER BRECU ((NBEL FRTFISS ) - 1);
  228. I = I + 1;
  229. **--récuperation des tranches--**
  230. TRANCHE.(I + 1) = (MAILVOL ELEM APPU LARG TRANCHET) DIFF TRANCHET;
  231. TRANCHET = TRANCHET ET TRANCHE.(I + 1);
  232. SI IELEMLIN;
  233.  
  234. **--surfaces aux noeuds sommets en cas d'éléments linéaires--**
  235. ENVEBI = DIFF (ENVE TRANCHE.(I + 1)) (ENVE TRANCHE.I);
  236. TMAIL.(I + 1) = DIFF ENVEBI
  237. ((ENVE TRANCHE.(I + 1)) ET (ENVE TRANCHE.I));
  238. TMAIL.(I + 1) = TMAIL.(I + 1) CHAN POI1;
  239. SINON;
  240.  
  241. **--surfaces aux noeuds sommets en cas d'éléments quadratiques--**
  242. ENVEBI = DIFF (ENVE TRANCHE.(I + 1)) (ENVE TRANCHE.I);
  243. TMAIL.((2 * I) + 1) = DIFF ENVEBI
  244. ((ENVE TRANCHE.(I+1)) ET (ENVE TRANCHE.I));
  245. TMAIL.((2 * I) + 1) = TMAIL.((2 * I) + 1) CHAN POI1;
  246.  
  247. **--récupération des noeuds milieux--**
  248. POINTRAN = TRANCHE.I CHAN POI1;
  249. POINBORD = (TMAIL.((2 * I) - 1) ET TMAIL.((2 * I) + 1)) CHAN POI1;
  250. TMAIL.(2 * I) = POINTRAN DIFF POINBORD;
  251. FINSI;
  252. FIN BRECU;
  253. FINSI;
  254. TMAIL.P = SURFIN CHAN POI1;
  255. SI (EGA IELEMLIN FAUX);
  256. POINTRAN = TRANCHE.(NBEL FRTFISS) CHAN POI1;
  257. POINBORD = (TMAIL.P ET TMAIL.(P - 2)) CHAN POI1;
  258. TMAIL.(P - 1) = POINTRAN DIFF POINBORD;
  259. FINSI;
  260.  
  261. *-------récupération des lignes supports de calcul----------*
  262. *------intersections entre les plans de TMAIL et la---------*
  263. *---------------------surface de fissure--------------------*
  264.  
  265. **--récupération de la surface de fissure : SURFIS--**
  266.  
  267. ENVMAIL = ENVE MAILLAGE;
  268. PLANFIS = ENVMAIL POINT 'PLAN' PINIT PFIN PSF 0.001;
  269. PLANFIS = ENVMAIL ELEM APPU STRICT PLANFIS;
  270. CO = CONT PLANFIS ;
  271. CO1 = (CO 'ELEM' 'COMP' PINIT PFIN);
  272. COSURFIS = CO1 et FRTFISS ;
  273. ELPSF = PLANFIS ELEM APPU LARG PSF;
  274. SURFIS = PLANFIS INCLU COSURFIS;
  275. SS = ELPSF DIFF SURFIS;
  276. **--cas où on n'a pas pris la bonne partie du plan pour SURFIS--**
  277. SI (EGA (NBEL SS) ((NBEL ELPSF) + (NBEL SURFIS)));
  278. SURFIS = PLANFIS DIFF SURFIS;
  279. FINSI;
  280.  
  281.  
  282. **--récupération des lignes et des points du front de fissure--**
  283. TLIG = TABLE;TPF = TABLE;
  284. I = 0;
  285. CHSURFIS = SURFIS CHAN POI1;
  286. CHFRTFIS = CHAN FRTFISS POI1;
  287. REPETER BLIG P;
  288. I = I + 1;
  289. **--récupération des lignes--**
  290.  
  291. TOT = TMAIL.I ET CHSURFIS; DIFSYM = TMAIL.I DIFF CHSURFIS;
  292. TLIG.I = DIFF TOT DIFSYM;
  293. TLIG.I = TMAIL.I ELEM APPU STRI TLIG.I;
  294.  
  295. **--récupération des points du front de fissure--**
  296.  
  297. TOT = TLIG.I ET CHFRTFIS;
  298. DIFSYM = TLIG.I DIFF CHFRTFIS;
  299. TPF.I = DIFF TOT DIFSYM;
  300. TPF.I = TLIG.I ELEM APPU STRI TPF.I;
  301. TPF.I = TPF.I POIN 1;
  302. FIN BLIG;
  303.  
  304.  
  305.  
  306. *&&&&&&*
  307. FINSI;
  308. *&&&&&&*
  309.  
  310. * ATTENTION! Pas de prise en compte de delaminages en coques. *
  311. ***************************************************************
  312. ************** DIMENSION 2 ET 3 ******************
  313. ***************************************************************
  314. *&&&&&&&&&&&&&&&*
  315. SI (EGA &DIM 2);
  316. *&&&&&&&&&&&&&&&*
  317. P = 1;
  318. *&&&&&&&*
  319. FINSI;
  320. SI (ICOQ);
  321. SI (MEMB);
  322. P = 1;
  323. SINON;
  324. P = 0;
  325. FINSI;
  326. SI (FLEX);
  327. P = P + 1;
  328. FINSI;
  329. FINSI;
  330. *&&&&&&&*
  331. TABK1 = TABLE; TABK2 = TABLE;
  332. J = 0;
  333. REPETER BKTOTALE P;
  334. J = J + 1;
  335. SI (IMASS);
  336. PF = TPF.J;
  337. LIFIS1 = TLIG.J;
  338. SI (EGA MODMIXT VRAI); LIFIS2 = TLIG2.J; FINSI;
  339. MESS '********************************************************';
  340. MESS '* NOEUD 'J' DU FRONT DE FISSURE DE COORDONNEES : *';
  341. MESS '* ('(coor 1 PF) (coor 2 PF) (coor 3 PF)' ) *';
  342. SINON;
  343. LIFIS1 = LIFIS1 CHAN POI1;
  344. SI (EGA MODMIXT VRAI); LIFIS2 = CHAN LIFIS2 POI1; FINSI;
  345. FINSI;
  346.  
  347. *-------DETERMINATION DES POINTS DE CALCUL DE LA LIGNE------*
  348. *------- DE FISSURE LIFIS1 (ET LIFIS2 EN MIXTE) : ------*
  349. *-------3 PREMIERS NOEUDS DE LA LIGNE APRES PF--------------*
  350. *------- NOEUDS MILIEUX Y COMPRIS --------------*
  351.  
  352. SI (('NON' ICOQ) 'OU' (EGA J 1));
  353.  
  354. LIGP1 = LIFIS1;
  355. LIGP1 = LIGP1 DIFF (LIGP1 ELEM APPU LARG PF);
  356. PINT11 = LIGP1 POIN PROC PF;
  357. LIGP1 = LIGP1 DIFF (LIGP1 ELEM APPU LARG PINT11);
  358. PINTER1 = LIGP1 POIN PROC PINT11;
  359. LIGP1 = LIGP1 DIFF (LIGP1 ELEM APPU LARG PINTER1);
  360. PINT12 = LIGP1 POIN PROC PINTER1;
  361. LIGP1 = PINT11 ET PINTER1 ET PINT12;
  362. N = NBNO LIGP1;
  363. SI (EGA MODMIXT VRAI);
  364. LIGP2 = LIFIS2;
  365. LIGP2 = LIGP2 DIFF (LIGP2 ELEM APPU LARG PF);
  366. PINT21 = LIGP2 POIN PROC PF;
  367. LIGP2 = LIGP2 DIFF (LIGP2 ELEM APPU LARG PINT21);
  368. PINTER2 = LIGP2 POIN PROC PINT21;
  369. LIGP2 = LIGP2 DIFF (LIGP2 ELEM APPU LARG PINTER2);
  370. PINT22 = LIGP2 POIN PROC PINTER2;
  371. LIGP2 = PINT21 ET PINTER2 ET PINT22;
  372. FINSI;
  373.  
  374.  
  375.  
  376. *-----------CALCUL DU COEFFICIENT DE K -----------------------*
  377. *--ON RECUPERE LE MODULE D'YOUNG ET COEFFICIENT DE POISSON----*
  378. *--DU PREMIER POINT DE LA SERIE DONNEE -----------------------*
  379.  
  380. MAIL = EXTR MAT 'MAIL';
  381. P1 = PINT11;
  382. PN = PINT12;
  383. EL1 = MAIL ELEM APPUY LARG P1;
  384. MATEL1 = REDU MAT EL1;
  385. YOUNG = EXTR MATEL1 'YOUN' 1 1 1;
  386. NU = EXTR MATEL1 'NU' 1 1 1;
  387.  
  388. **----------cas où l'on est en 2 D------------**
  389. TYPMOD = VALE MODE;
  390. SI ((EGA TYPMOD 'AXIS') OU (EGA TYPMOD 'PLANDEFO'));
  391. YOUNGB = YOUNG / (1 -(NU**2));
  392. FINSI;
  393. SI ((EGA TYPMOD 'PLANCONT') 'OU' (ICOQ));
  394. YOUNGB = YOUNG;
  395. FINSI;
  396.  
  397. **----------cas où l'on est en 3 D -----------**
  398. SI (IMASS);
  399. **----cas de fissure débouchante----**
  400. **************************************
  401. SI (EGA DEBOUCH VRAI);
  402. SI (EGA (TYPE SUPTAB.'PDEBOUCH') 'POINT ');
  403. **--cas de fissure symétrique--**
  404. BOOLINIT = FAUX; BOOLFIN = FAUX;
  405. SI (EGA PINIT PDBOUCH1);
  406. BOOLINIT = VRAI;
  407. SINON;
  408. BOOLFIN = VRAI;
  409. FINSI;
  410. SINON;
  411. **--cas de fissure non symétrique--**
  412. BOOLINIT = VRAI;
  413. BOOLFIN = VRAI;
  414. FINSI;
  415. **--déterminations de young--**
  416. BOOL1 = FAUX; BOOL2 = FAUX;
  417. SI ((EGA J 1) ET (EGA BOOLINIT VRAI));
  418. BOOL1 = VRAI;
  419. FINSI;
  420. SI ((EGA J P) ET (EGA BOOLFIN VRAI));
  421. BOOL2 = VRAI;
  422. FINSI;
  423. **--cas où l'on se trouve en partie débouchante : contraintes planes--**
  424. SI ((EGA BOOL1 VRAI) OU (EGA BOOL2 VRAI));
  425. YOUNGB = YOUNG;
  426. **--cas où l'on se trouve en partie non débouchante : déf planes--**
  427. SINON;
  428. YOUNGB = YOUNG / (1 - (NU**2));
  429. FINSI;
  430.  
  431. **----cas de la fissure non débouchante : def planes----**
  432. **********************************************************
  433. SINON;
  434. YOUNGB = YOUNG / (1 - (NU**2));
  435. FINSI;
  436. FINSI;
  437.  
  438. **----calcul du coef----**
  439. **************************
  440. COEF = (YOUNGB / 4.) * ((PI * 2.) ** 0.5);
  441. * COEF = YOUNGB * .6266570687;
  442.  
  443.  
  444. *-----PASSAGE DANS LE REPERE LOCAL DE FISSURE---------------*
  445.  
  446. * TRANSLATION DES CHPS DE DEPL : NOUVELLE ORIGINE PF
  447. **--récupération des composantes du déplacement--**
  448. SI ((EGA TYPMOD 'PLANDEFO') OU (EGA TYPMOD 'PLANCONT')
  449. OU (EGA TYPMOD 'TRID'));
  450. CHVX = EXCO U 'UX';
  451. CHVY = EXCO U 'UY';
  452. FINSI;
  453. SI (EGA TYPMOD 'AXIS');
  454. CHVX = EXCO U 'UR';
  455. CHVY = EXCO U 'UZ';
  456. FINSI;
  457. VXPF= EXTR CHVX 'SCAL' PF;
  458. VYPF= EXTR CHVY 'SCAL' PF;
  459. PMAIL = EXTR U 'MAIL';
  460. CHVXPF=MANU CHPO PMAIL 1 'SCAL' VXPF;
  461. CHVYPF=MANU CHPO PMAIL 1 'SCAL' VYPF;
  462. CHVX=CHVX - CHVXPF;
  463. CHVY=CHVY - CHVYPF;
  464. SI (EGA TYPMOD 'TRID');
  465. CHVZ = EXCO U 'UZ';
  466. VZPF= EXTR CHVZ 'SCAL' PF;
  467. CHVZPF=MANU CHPO PMAIL 1 'SCAL' VZPF;
  468. CHVZ=CHVZ - CHVZPF;
  469. FINSI;
  470. SI ((ICOQ) ET (FLEX));
  471. CHEP = CHEP/2.;
  472. CHRX = EXCO U 'RX';
  473. CHRY = EXCO U 'RY';
  474. CHRZ = EXCO U 'RZ';
  475. RXPF= EXTR CHRX 'SCAL' PF;
  476. RYPF= EXTR CHRY 'SCAL' PF;
  477. RZPF= EXTR CHRZ 'SCAL' PF;
  478. CHRXPF=MANU CHPO PMAIL 1 'SCAL' RXPF;
  479. CHRYPF=MANU CHPO PMAIL 1 'SCAL' RYPF;
  480. CHRZPF=MANU CHPO PMAIL 1 'SCAL' RZPF;
  481. CHRX=CHRX - CHRXPF;
  482. CHRY=CHRY - CHRYPF;
  483. CHRZ=CHRZ - CHRZPF;
  484. FINSI;
  485.  
  486. * ROTATION DES CHPS DE DEPL : DS REPERE DE LA FISSURE
  487. **----cas du 2 D----**
  488. SI (EGA &DIM 2);
  489. VECU = P1 MOIN PN;
  490. XU = VECU / (NORM VECU);
  491. YV = XU PVECT;
  492. X1 = COOR 1 XU; Y1 = COOR 2 XU;
  493. X2 = COOR 1 YV; Y2 = COOR 2 YV;
  494. CHU = (CHVX * X1) + (CHVY * Y1);
  495. CHV = (CHVX * X2) + (CHVY * Y2);
  496. **----cas du 3 D----**
  497. SINON;
  498. **--récupération du repère local :XU YV ZW--**
  499. VECU = P1 MOIN PN;
  500. XU = VECU / (NORM VECU);
  501. SI (IMASS);
  502. SI ((NBEL FRTFISS) > 1);
  503. FRTFI = FRTFISS DIFF (FRTFISS ELEM APPU LARG PF);
  504. PPRO = FRTFI POIN PROC PF;
  505. SINON;
  506. FRTFI = FRTFISS CHAN POI1;
  507. FRTFI = FRTFI DIFF (FRTFI ELEM APPU LARG PF);
  508. PPRO = FRTFI POIN PROC PF;
  509. FINSI;
  510. VECV = PPRO MOIN PF;
  511. FINSI;
  512. SI (ICOQ);
  513. ELPTE = MAIL ELEM APPU LARG PF;
  514. ELPT1 = ELPTE ELEM APPU LARG P1;
  515. ELPT = CHAN 'POI1' ELPT1;
  516. P1PN = P1 ET PF;
  517. PY = ELPT DIFF P1PN;
  518. NPY = NBEL PY;
  519. KK = 0;
  520. REPETER BKPY NPY;
  521. KK = KK + 1;
  522. PYP = PY POIN KK;
  523. VECX = PYP MOIN P1;
  524. PSUVX = PSCAL XU VECX;
  525. SI (PSUVX < 0);
  526. VECW = XU PVEC VECX;
  527. SINON;
  528. VECW = VECX PVEC XU;
  529. FINSI;
  530. VECV = VECW PVEC XU;
  531. NVECV = NORM VECV;
  532. SI (NVECV > 1.0E-6);
  533. QUITTER BKPY;
  534. FINSI;
  535. FIN BKPY;
  536. FINSI;
  537. YV = VECV / (NORM VECV);
  538. ZW = XU PVEC YV;
  539. ZW = ZW / (NORM ZW);
  540. **--calcul de la matrice de passage --**
  541. X1 = COOR 1 XU; Y1 = COOR 2 XU; Z1 = COOR 3 XU;
  542. X2 = COOR 1 YV; Y2 = COOR 2 YV; Z2 = COOR 3 YV;
  543. X3 = COOR 1 ZW; Y3 = COOR 2 ZW; Z3 = COOR 3 ZW;
  544. **--calcul des déplacements dans le repère local--**
  545. **--mode 1--**
  546. SI (IMASS);
  547. CHV = (X3 * CHVX) + (Y3 * CHVY) + (Z3 * CHVZ);
  548. CHU = (X1 * CHVX) + (Y1 * CHVY) + (Z1 * CHVZ);
  549. FINSI;
  550. FINSI;
  551. FINSI;
  552.  
  553. SI (ICOQ);
  554. SI (EGA J 1);
  555. SI (MEMB);
  556. CHV = (X2 * CHVX) + (Y2 * CHVY) + (Z2 * CHVZ);
  557. CHU = (X1 * CHVX) + (Y1 * CHVY) + (Z1 * CHVZ);
  558. CHW = (X3 * CHVX) + (Y3 * CHVY) + (Z3 * CHVZ);
  559. SINON;
  560. CHU = (X2 * CHRX) + (Y2 * CHRY) + (Z2 * CHRZ);
  561. CHU = CHEP*CHU;
  562. CHV = (X1 * CHRX) + (Y1 * CHRY) + (Z1 * CHRZ);
  563. CHV = CHEP*CHV;
  564. CHV = (-1.)*CHV;
  565. FINSI;
  566. FINSI;
  567. SI (EGA J 2);
  568. CHU = (X2 * CHRX) + (Y2 * CHRY) + (Z2 * CHRZ);
  569. CHU = CHEP*CHU;
  570. CHV = (X1 * CHRX) + (Y1 * CHRY) + (Z1 * CHRZ);
  571. CHV = CHEP*CHV;
  572. CHV = (-1.)*CHV;
  573. FINSI;
  574. FINSI;
  575.  
  576.  
  577. *------------ INITIALISATIONS PRELIMINAIRES --------------*
  578. VECPF = MOIN PF PN;
  579. K1MOY = 0.; K2MOY = 0.;
  580. LIGP = TABLE;
  581. I = 0;CPT = 0;
  582. TR = TABLE;
  583. TK1 = TABLE; TK2 = TABLE;
  584.  
  585. *---DEFINITION DES CONVENTIONS POUR K2
  586. SI (EGA MODMIXT VRAI);
  587. ELPTE = MAIL ELEM APPU LARG PF;
  588. ELPT1 = ELPTE ELEM APPU LARG P1;
  589. ELPT = CHAN 'POI1' ELPT1;
  590. P1PN = P1 ET PF;
  591. PY = ELPT DIFF P1PN;
  592. NPY = NBEL PY;
  593. KK = 0;
  594. REPETER BKPY1 NPY;
  595. KK = KK + 1;
  596. PYP = PY POIN KK;
  597. VECX = PYP MOIN PF;
  598. VCY = PSCA VECX YV;
  599. SI ((ABS(VCY)) > 1.0E-6);
  600. QUITTER BKPY1;
  601. FINSI;
  602. FIN BKPY1;
  603. SI (VCY > 0.);
  604. LIGP.1 = LIGP1;
  605. LIGP.2 = LIGP2;
  606. SINON;
  607. MESS 'ATTENTION! Echange des lignes de fissure!';
  608. LIGP.1 = LIGP2;
  609. LIGP.2 = LIGP1;
  610. FINSI;
  611. NB = 2;
  612. SINON;
  613. NB = 1;
  614. LIGP.1 = LIGP1;
  615. FINSI;
  616.  
  617.  
  618. *-----------BOUCLE DE CALCULS------------------------------*
  619.  
  620. REPETER BOUCLE NB;
  621. CPT = CPT + 1;
  622. CHPF = MANU CHPO LIGP.CPT 1 'SCAL' (NORM VECPF);
  623. SI (EGA &DIM 2);
  624. CHX1 = ((((COOR 1 LIGP.CPT) - (COOR 1 PN))**2) +
  625. (((COOR 2 LIGP.CPT) - (COOR 2 PN))**2))**0.5;
  626. SINON;
  627. CHX1 = ((((COOR 1 LIGP.CPT) - (COOR 1 PN))**2) +
  628. (((COOR 2 LIGP.CPT) - (COOR 2 PN))**2) +
  629. (((COOR 3 LIGP.CPT) - (COOR 3 PN))**2))**0.5;
  630.  
  631. FINSI;
  632. CHX = ABS (CHX1 - CHPF);
  633. CHV1 = REDU CHV LIGP.CPT;
  634. CHU2 = REDU CHU LIGP.CPT;
  635. SI (EGA MODMIXT VRAI);
  636.  
  637.  
  638. *--------- METHODE DES MOINDRES CARRES : MODE 2 ---------*
  639.  
  640. CHY = CHU2**2;
  641. CHXY = CHX * CHY;
  642. CHX2 = CHX**2;
  643. CHY2 = CHY**2;
  644. SOMX = RESU CHX; SOMX = MAXI SOMX;
  645. SOMY = RESU CHY; SOMY = MAXI SOMY;
  646. SOMXY = RESU CHXY; SOMXY = MAXI SOMXY;
  647. SOMX2 = RESU CHX2; SOMX2 = MAXI SOMX2;
  648. SOMY2 = RESU CHY2; SOMY2 = MAXI SOMY2;
  649. DET1 = (N * SOMX2) - (SOMX**2);
  650. ANUM = (N * SOMXY) - (SOMX * SOMY);
  651. VA2 = ANUM / DET1;
  652. BNUM = (SOMY * SOMX2) - (SOMXY * SOMX);
  653. VB2 = BNUM / DET1;
  654. DET2 = (N * SOMY2) - (SOMY**2);
  655. ANUM2 = (N * SOMXY) - (SOMX * SOMY);
  656. A2 = ANUM2 / DET2;
  657. R2 = VA2 * A2;
  658. DELTA = -1 * (VB2 / VA2);
  659. SI (EGA &IMP 1);
  660. mess 'moindres carrés mode 2 : R2 = 'R2;
  661. FINSI;
  662. FINSI;
  663.  
  664.  
  665. *---------- METHODE DES MOINDRES CARRES : MODE 1-------- *
  666.  
  667.  
  668. CHV2 = CHV1**2;
  669. CHY = CHV2;
  670. CHXY = CHX * CHY;
  671. CHX2 = CHX**2;
  672. CHY2 = CHY**2;
  673. SOMX = RESU CHX; SOMX = MAXI SOMX;
  674. SOMY = RESU CHY; SOMY = MAXI SOMY;
  675. SOMXY = RESU CHXY; SOMXY = MAXI SOMXY;
  676. SOMX2 = RESU CHX2; SOMX2 = MAXI SOMX2;
  677. SOMY2 = RESU CHY2; SOMY2 = MAXI SOMY2;
  678. DET1 = (N * SOMX2) - (SOMX**2);
  679. ANUM = (N * SOMXY) - (SOMX * SOMY);
  680. VA1 = ANUM / DET1;
  681. BNUM = (SOMY * SOMX2) - (SOMXY * SOMX);
  682. VB1 = BNUM / DET1;
  683. DET2 = (N * SOMY2) - (SOMY**2);
  684. ANUM2 = (N * SOMXY) - (SOMX * SOMY);
  685. A2 = ANUM2 / DET2;
  686. R1 = VA1 * A2;
  687. BETA = -1. * (VB1 / VA1);
  688. SI (EGA &IMP 1);
  689. mess 'moindres carrés mode 1 :R1 = 'R1;
  690. FINSI;
  691.  
  692.  
  693.  
  694.  
  695. *------ VALEUR DE K1 ET (OU) K2 EN CHAQUE POINT---------*
  696.  
  697. RF = norm VECPF;
  698. VF = EXTR (REDU CHV PF) 'SCAL' PF;
  699. UF = EXTR (REDU CHU PF) 'SCAL' PF;
  700. VNUM=prog (N+1) * 0.;
  701. V2TH=prog (N+1) * 0.;
  702. V2NUM=prog (N+1) * 0.;
  703. DISTR=prog (N+1) * 0.;
  704. remp VNUM 1 VF;
  705. remp V2NUM 1 (VF**2);
  706. remp V2TH 1 VB1;
  707. SI (EGA MODMIXT VRAI);
  708. UNUM=prog (N+1) * 0.;
  709. U2TH=prog (N+1) * 0.;
  710. U2NUM=prog (N+1) * 0.;
  711. remp UNUM 1 UF;
  712. remp U2NUM 1 (UF**2);
  713. remp U2TH 1 VB2;
  714. FINSI;
  715. ITR = 0;
  716. REPETER BK1 N;
  717. ITR = ITR + 1;
  718. I = I + 1;
  719. PTI = LIGP.CPT POIN ITR;
  720. VECPI = MOIN PTI PN;
  721. RI = NORM VECPI;
  722. R = ABS (RI - RF);
  723. TR.I = R;
  724. VI = EXTR (REDU CHV PTI) 'SCAL' PTI;
  725. RRR = R - BETA;
  726. * mess ' R = 'R' BETA = 'BETA' R - BETA = 'RRR;
  727. SGNR = 1.;
  728. SI (< RRR 0.);
  729. SGNR = -1.;
  730. FINSI;
  731. RRR = SGNR*RRR;
  732. K1I = SGNR*(ABS((COEF / ((RRR)**0.5)) * VI));
  733. remp DISTR (ITR+1) R;
  734. remp V2NUM (ITR+1) (VI**2);
  735. remp VNUM (ITR+1) VI;
  736. VI2TH=(VA1 * R) + VB1;
  737. remp V2TH (ITR+1) VI2TH;
  738. TK1.I = K1I;
  739. K1MOY = K1MOY + K1I;
  740.  
  741.  
  742. *-----CAS DU MODE MIXTE ------*
  743.  
  744. SI (EGA MODMIXT VRAI);
  745. UI = EXTR (REDU CHU PTI) 'SCAL' PTI;
  746. RRR = R - DELTA;
  747. SGNR = 1.;
  748. SI (< RRR 0.);
  749. SGNR = -1.;
  750. FINSI;
  751. RRR = SGNR*RRR;
  752. SI (< UI 0.);
  753. SI (EGA CPT 1);
  754. SGNR = (-1.)*SGNR;
  755. FINSI;
  756. FINSI;
  757. SI (> UI 0.);
  758. SI (EGA CPT 2);
  759. SGNR = (-1.)*SGNR;
  760. FINSI;
  761. FINSI;
  762. K2I = SGNR*(ABS((COEF / ((RRR)**0.5)) * UI));
  763. remp U2NUM (ITR+1) (UI**2);
  764. remp UNUM (ITR+1) UI;
  765. UI2TH = (VA2 * R) + VB2;
  766. remp U2TH (ITR+1) UI2TH;
  767. TK2.I = K2I;
  768. K2MOY = K2MOY + K2I;
  769. FINSI;
  770. *-----------------------------*
  771.  
  772. FIN BK1;
  773.  
  774.  
  775. ***----------------TRACES DE COURBES--------------------****
  776.  
  777.  
  778. SI (EGA &IMP 1);
  779. titr 'courbes V=g(r) et U=h(r)';
  780. C1NUM = evol manu abs DISTR ord VNUM;
  781. titr 'droites THEORIQUES ET NUMERIQUES V**2=f(r)';
  782. CNUM1 = evol manu abs DISTR ord V2NUM;
  783. CTH1 = evol manu abs DISTR ord V2TH;
  784. T=TABLE;
  785. T1=TABLE;
  786. T.1='MARQ ETOI ';
  787. T.2='MARQ TRIA ';
  788. T1.1='MARQ CARR ';
  789. T.'TITRE'=TABLE;
  790. T1.'TITRE'=TABLE;
  791. T.'TITRE'. 1 = 'MOT' 'NUM_MODE1';
  792. T.'TITRE'. 2 = 'MOT' 'THEO_MODE1';
  793. T1.'TITRE'. 1 = 'MOT' 'V=g(r)';
  794. CTOT1 = CNUM1 et CTH1;
  795. SI (EGA MODMIXT VRAI);
  796. CNUM2 = evol manu abs DISTR ord U2NUM;
  797. CTH2 = evol manu abs DISTR ord U2TH;
  798. C2NUM = evol manu abs DISTR ord UNUM;
  799. T.3='MARQ CARR ';
  800. T.4='MARQ LOSA ';
  801. T.'TITRE'. 3 = MOT 'NUM_MODE2';
  802. T.'TITRE'. 4 = MOT 'THEO_MODE2';
  803. CTOT2 = CNUM2 ET CTH2;
  804. DESS (CTOT1 ET CTOT2) LOGO LEGE T;
  805. T1.2='MARQ ETOI ';
  806. T1.'TITRE'. 2= 'MOT' 'U=h(r)';
  807. DESS (C1NUM ET C2NUM) LOGO LEGE T1;
  808. SINON;
  809. DESS CTOT1 LOGO LEGE T ;
  810. DESS C1NUM LOGO LEGE T1;
  811. FINSI;
  812. FINSI;
  813.  
  814. FIN BOUCLE;
  815.  
  816.  
  817. SI (EGA MODMIXT VRAI);N = (2 * N);FINSI;
  818.  
  819. *---------------------VALEUR MOYENNE DE K------------------*
  820.  
  821.  
  822. K1MOY = K1MOY / N;
  823. SI (EGA MODMIXT VRAI);
  824. K2MOY = K2MOY / N;
  825. FINSI;
  826.  
  827.  
  828.  
  829.  
  830. ***************************************************************
  831. * IMPRESSIONS *
  832. ***************************************************************
  833.  
  834.  
  835. MESS '********************************************';
  836. MESS '* R * VALEUR DE K1 * (VALEUR DE K2) *';
  837. MESS '********************************************';
  838. IPRES = 0;
  839. REPETER BIMPRESS N;
  840. IPRES = IPRES + 1;
  841. TTR = TR.IPRES;
  842. TTK1 = TK1.IPRES;
  843. SI (EGA MODMIXT VRAI);
  844. SI (EGA IPRES 1); MESS 'LIGNE 1'; FINSI;
  845. SI (EGA IPRES 4); MESS 'LIGNE 2'; FINSI;
  846. TTK2 = TK2.IPRES; MESS TTR TTK1 TTK2 ;
  847. SINON; MESS TTR TTK1;
  848. FINSI;
  849. FIN BIMPRESS;
  850. MESS 'VALEUR MOYENNE : K1MOY = 'K1MOY ;
  851. SI (EGA MODMIXT VRAI);
  852. MESS 'VALEUR MOYENNE : K2MOY = 'K2MOY ;
  853. FINSI;
  854. SI (IMASS);
  855. TABK1.PF = K1MOY;
  856. SI (EGA MODMIXT VRAI);
  857. TABK2.PF = K2MOY;
  858. FINSI;
  859. SINON;
  860. SUPTAB.'K1' = K1MOY;
  861. SI (EGA MODMIXT VRAI);
  862. SUPTAB.'K2' = K2MOY;
  863. FINSI;
  864. FINSI;
  865.  
  866. SI (ICOQ);
  867. SI ((EGA J 1) 'ET' (MEMB));
  868. TABK1.'MEMBRANE' = K1MOY;
  869. SI (EGA MODMIXT VRAI);
  870. TABK2.'MEMBRANE' = K2MOY;
  871. FINSI;
  872. SINON;
  873. TABK1.'FLEXION' = K1MOY;
  874. SI (EGA MODMIXT VRAI);
  875. TABK2.'FLEXION' = K2MOY;
  876. FINSI;
  877. FINSI;
  878. FINSI;
  879.  
  880. FIN BKTOTALE;
  881.  
  882. SI (ICOQ);
  883. TABK1.'TOTAL' = 0.;
  884. SI (EGA MODMIXT VRAI);
  885. TABK2.'TOTAL' = 0.;
  886. FINSI;
  887. SI (MEMB);
  888. TABK1.'TOTAL' = TABK1.'MEMBRANE';
  889. SI (EGA MODMIXT VRAI);
  890. TABK2.'TOTAL' = TABK2.'MEMBRANE';
  891. FINSI;
  892. FINSI;
  893. SI (FLEX);
  894. TABK1.'TOTAL' = TABK1.'TOTAL' + TABK1.'FLEXION';
  895. SI (EGA MODMIXT VRAI);
  896. TABK2.'TOTAL' = TABK2.'TOTAL' + TABK2.'FLEXION';
  897. FINSI;
  898. FINSI;
  899. FINSI;
  900.  
  901. SI ((IMASS) 'OU' (ICOQ));
  902. SUPTAB.'K1'= TABK1;
  903. SI (EGA MODMIXT VRAI);
  904. SUPTAB.'K2'= TABK2;
  905. FINSI;
  906. FINSI;
  907.  
  908. SI (IGDDEP);
  909. FORM CONF0;
  910. FINSI;
  911.  
  912. FINPROC SUPTAB;
  913.  
  914.  
  915.  
  916.  
  917.  
  918.  

© Cast3M 2003 - Tous droits réservés.
Mentions légales