************************************************************ ** raff04.dgibi ************************************************************ * * * Calcul elasitique 3D des facteurs d'intencité de * * contraintes pour une fissure circulaire sous un * * chargempent de traction à l'infini incliné de 45 deg * * par rapport au pla de fissure (mode mixte) * * * * Test De RAFF avec X-FEM et GTHETA * * * * Comparaison de la simulations avec une solution de * * reference pour k1, k2 et k3 donne par : * * [TADA, STRESS ANALYSIS HANDBOOK,1973] * * * * AUTEUR : GG, modifie par JB251061 * * VERSION : V1, le 15.03.2017 * * V2, le 30.04.2021 ************************************************************ * I - INIT DES DONNÉES CAS_TEST * ----------------------------- * OPTIONS ET BOOLEEN POUR LES TRACERS OPTI 'DIME' 3 'ELEM' 'CUB8' ; BTRAC = FAUX ; * DONNEES GEOMETRIQUES * L1 = DEMI-COTE DU CUBE * A0 = RAYON DE LA FISSURE * BETA0 = INCLINAISON DE LA FISSURE L1 = 0.2 ; A0 = L1 / 10. ; BETA0 = 45. ; * PROPRIÉTÉS MATÉRIAU MYOU = 2.E11 ; POI = 0.3 ; * II - MAILLAGE * ------------- * CREATION DU VOLUME INITIAL DENS1 = L1 / 4.5 ; DENS DENS1 ; ML1 = 0. - L1 ; D1 = DROI (ML1 ML1 ML1) (L1 ML1 ML1) ; D2 = D1 PLUS (0. (2.*L1) 0.) ; S1 = D1 REGL D2 ; V1 = S1 VOLU 'TRAN' (0. 0. (2.*L1)) ; * TRAC 'CACH' V1 ;FIN ; * CREATION DE LA FISSURE DENS2 = A0 / 18. ; DENS DENS2 ; PREC1 = DENS2 * 1.E-10 ; A3 = A0 / 3. ; D3 = DROI ((0.-A3) (0.-A3) 0.) (A3 (0.-A3) 0.) ; D4 = DROI ((0.-A3) A3 0.) (A3 A3 0.) ; S2 = D3 REGL D4 ; DS2 = CONT S2 ; * ON CONSTRUIT LE CERCLE A PARTIR DU POINT INITIAL DU CARRE POUR QUE LES * DEUX CONTOURS SOIENT BIEN ALIGNES POUR REGL PINI1 = DS2 POIN 'INIT' ; PINI2 = PINI1 * A0 / (NORM PINI1) ; C1 = CERC (NBEL DS2) 'ROTA' 360. PINI2 (0. 0. 0.) (0. 0. 1.) ; ELIM C1 PREC1 ; S3 = DS2 REGL C1 ; SCRACK0 = S2 ET S3 ; SCRACK0 = ORIE SCRACK0 (0. 0. 1.) ; DEPL SCRACK0 'TOUR' BETA0 (0. 0. 0.) (1. 0. 0.) ; * TRAC SCRACK0 ;FIN ; * ON RAFFINE LE CUBE AU VOISINAGE DE LA FISSURE CHP1 = ABS (PSIP V1 SCRACK0) ; CHP1 = BORN CHP1 'MAXIMUM' ((3.4*A0) + 1.E-10) ; LAMB1 = CHP1 / (MAXI CHP1) ; DMAX = DENS1 + 1.E-10 ; DMIN = DENS1 / 6. ; PUIS = 50. ; * CETTE COMBINAISON LINEAIRE PERMET D'AVOIR UNE DENSITE QUI VARIE * DE DMIN AU NIVEAU DE LA FISSURE A DMAX A ENVIRON 3.4*A0 DE LA FISSURE CHP2 = ((LAMB1**PUIS) * DMAX) + ((1. - (LAMB1**PUIS)) * DMIN) ; CHP2 = BORN CHP2 'MAXIMUM' DMAX ; V2 = RAFF CHP2 V1 ; * PREMIERS TRACERS SI BTRAC ; * POINT DE VUE UTILISE POUR LES FIGURES EYE1 = -100. -70. 30. ; P0 = 0. 0. 0. ; P1 = 1. 0. 0. ; P2 = 0. 1. 0. ; P3 = 0. 0. 1. ; P4 = P2 TOUR BETA0 (0. 0. 0.) (1. 0. 0.) ; TIT1 = CHAI 'VOLUME AVANT RAFF' ; TRAC 'CACH' (V1 ET SCRACK0) EYE1 'COUP' P0 P1 P4 'TITR' TIT1 ; TRAC 'CACH' (V1 ET SCRACK0) EYE1 'COUP' P0 P2 P3 'TITR' TIT1 ; TIT1 = CHAI 'DENSITE DONNEE A RAFF' ; TRAC CHP2 (V1 ET SCRACK0) EYE1 'COUP' P0 P1 P4 'TITR' TIT1 ; TRAC CHP2 (V1 ET SCRACK0) EYE1 'COUP' P0 P2 P3 'TITR' TIT1 ; TIT1 = CHAI 'VOLUME APRES RAFF' ; TRAC 'CACH' (V2 ET SCRACK0) EYE1 'COUP' P0 P1 P4 'TITR' TIT1 ; TRAC 'CACH' (V2 ET SCRACK0) EYE1 'COUP' P0 P2 P3 'TITR' TIT1 ; FINSI ; * EXTRACTION D'UNE SOUS-PARTIE DU CUBE POUR LES XFEM * LE RESTE EST EN ELEMENTS STANDARDS CHP3 = ABS (PSIP V2 SCRACK0) ; PXFEM = CHP3 POIN 'EGINFE' ((MINI CHP3) + (0.8 * A0)) ; VXFEM = V2 ELEM 'APPUYE' PXFEM ; VFEM = DIFF V2 VXFEM ; ARE1 = (ARET VXFEM) COUL 'BLEU' ; ARE2 = ARET VFEM ; ARE3 = (CONT SCRACK0) COUL 'ROUG' ; SI BTRAC ; TIT1 = CHAI 'VOLUME D''ELEMENTS XFEM' ; TRAC 'CACH' (VXFEM ET SCRACK0) EYE1 'TITR' TIT1 ; TIT1 = CHAI 'ARETES DES DIFFERENTS VOLUMES' ; TRAC (ARE1 ET ARE2 ET ARE3) EYE1 'TITR' TIT1 ; FINSI ; * III - MODELE ET MATERIAU * ------------------------ * MODELE ET MATERIAU DANS LA ZONE XFEM MOD1 = MODE VXFEM 'MECANIQUE' 'ELASTIQUE' 'XC8R'; MAT1 = MATE MOD1 'YOUN' MYOU 'NU' POI ; FROFIS = CONT SCRACK0 ; * IL FAUT QUE LE BON POINT SOIT LE POINT INITIAL DU FRONT DE FISSURE * POUR QUE L'ANGLE SOIT CORRECT DANS LA SOLUTION ANALYTIQUE P1 = ((COOR 2 FROFIS) POIN 'MINI') POIN 1 ; FROFIS = ORDO (FROFIS ELEM 'COMPRIS' P1 P1) ; PSI1 PHI1 = PSIP V2 SCRACK0 'DEUX' FROFIS; SI BTRAC ; TIT1 = CHAI 'CHAMP PHI' ; TRAC 'CACH' PHI1 (V2 ET SCRACK0) EYE1 'COUP' P0 P1 P4 'TITR' TIT1 ; TRAC 'CACH' PHI1 (V2 ET SCRACK0) EYE1 'COUP' P0 P2 P3 'TITR' TIT1 ; FINSI ; CHE1X = TRIE MOD1 PSI1 PHI1 ; * RELATION NECESSAIRE QUAND ON UTILISE RAFF REL1 = RELA MOD1 ; MOD2 = MODE VFEM 'MECANIQUE' 'ELASTIQUE' ; MAT2 = MATE MOD2 'YOUN' MYOU 'NU' POI ; * RELATION NECESSAIRE QUAND ON UTILISE RAFF REL2 = RELA MOD2 ; MODTOT = MOD1 ET MOD2 ; MATTOT = MAT1 ET MAT2 ; RIGTOT = RIGI MODTOT MATTOT; RELTOT = REL1 ET REL2 ; * IV - CONDITIONS AUX LIMITES ET RESOLUTION * ----------------------------------------- * BLOCAQUE DES DEPLACEMENTS PX = V2 POIN 'PROC' (L1 0. 0.) ; PY = V2 POIN 'PROC' (0. L1 0.) ; PZ = V2 POIN 'PROC' (0. 0. L1) ; CLX = BLOQ PX 'UY' 'UZ'; CLY = BLOQ PY 'UX' 'UZ'; CLZ = BLOQ PZ 'UX' 'UY'; CLTOT = (CLX ET CLY ET CLZ ) ; KTOT = RIGTOT ET CLTOT ET RELTOT ; * CHARGEMENT EN MODE MIXTE SZZ0 = -100.E6 ; PSUP = V2 POIN 'PLAN' (0. 0. L1) (1. 0. L1) (0. 1. L1) ; FACZ2 = (ENVE V2) ELEM 'APPUYE' PSUP ; PINF = V2 POIN 'PLAN' (0. 0. ML1) (1. 0. ML1) (0. 1. ML1) ; FACZ0 = (ENVE V2) ELEM 'APPUYE' PINF ; FORTOT = PRES 'MASS' MODTOT (FACZ0 ET FACZ2) SZZ0 ; SI BTRAC ; TIT1 = CHAI 'CHARGEMENT ET CONDITIONS AUX LIMITES' ; VEC1 = VECT FORTOT 'FORC' 'BLEU' ; POINS1 = (PX ET PY ET PZ ) COUL 'VERT' ; TRAC VEC1 (POINS1 ET ARE2 ET SCRACK0 ET FROFIS) 'TITR' TIT1 ; FINSI ; * CALCUL U1 = RESO KTOT FORTOT ; * V - APPEL A G_THETA ET POST-TRAITEMENT * -------------------------------------- * CREATION DE LA TABLE SUPTAB = TABL ; SUPTAB.'OBJECTIF' = MOT 'DECOUPLAGE' ; SUPTAB.'PSI' = PSI1 ; SUPTAB.'PHI' = PHI1 ; SUPTAB.'FRONT_FISSURE' = FROFIS ; SUPTAB.'MODELE' = MODTOT ; SUPTAB.'CARACTERISTIQUES' = MATTOT ; SUPTAB.'SOLUTION_RESO' = U1 ; SUPTAB.'CHARGEMENTS_MECANIQUES' = FORTOT ; SUPTAB.'COUCHE' = 2 ; * APPEL A G_THETA G_THETA SUPTAB ; * SOLUTION ANALYTIQUE K1EV = EVOL 'CHPO' SUPTAB.'CHPO_RESULTATS' 'KI' FROFIS ; SFRO = EXTR K1EV 'ABSC' ; K1A = (SFRO*0.) - (2.*SZZ0*((SIN BETA0)**2) * ((A0/PI)**0.5)) ; CA = (4.*SZZ0*(SIN BETA0)*(COS BETA0) * ((A0/PI)**0.5)) / (2.-POI) ; OMEG1 = SFRO / A0 * 180. / PI ; K2A = CA * (COS OMEG1); K3A = CA * (1.-POI)* (SIN OMEG1) ; KANA = EVOL 'MANU' SFRO K1A ; KANA = KANA ET (EVOL 'MANU' SFRO K2A) ; KANA = KANA ET (EVOL 'MANU' SFRO K3A) ; * POST-TRAITEMENT * PRECISIONS UTILISEES POUR LES 3 MODES L_PREC = PROG 0.06 0.11 0.15 ; TAB1 = TABL ; TAB1.(1) = CHAI 'MARQ CARR' ; NPDEL = 10 ; I1 I2 = (1 + NPDEL) ((DIME K1A) - NPDEL) ; * BOUCLE SUR LES MODES REPE IMOD 3 ; SAUT 'LIGNE' ; MMOD = EXTR 'III' 1 &IMOD ; KNUM1 = EVOL 'CHPO' SUPTAB.'CHPO_RESULTATS' (CHAI 'K' &IMOD) FROFIS ; KANA1 = (EXTR KANA 'COUR' &IMOD) COUL 'ROUG' ; SI BTRAC ; DESS (KNUM1 ET KANA1) TAB1 'TITR' (CHAI 'K' &IMOD) ; FINSI ; ERR1 = (INTG ((KNUM1 - KANA1)**2) 'INDI' I1 I2)**0.5 ; PRE1 = EXTR L_PREC &IMOD ; CRI1 = ((INTG (KANA1**2) 'INDI' I1 I2)**0.5) * PRE1 ; MESS 'ERREUR SUR LE CALCUL DE K' MMOD ' :'*30 ERR1 ; MESS 'CRITERE' ' :'*30 CRI1 ; SI (ERR1 >EG CRI1) ; MESS 'ERREUR : L''ERREUR SUR K' MMOD ' DEPASSE LE CRITERE' ; ERRE 5 ; FINSI ; FIN IMOD ; FIN ;