* Source script in Gibiane language for the FE code Cast3M * generating the data set for the 3D peeling problem of the * non-smooth post-it with frictionnal contact, as described * in the article * David Dureisseix, Paul Larousse, Anthony Gravouil, Jean Di Stasio, * An explicit dynamics framework suited to highly non-smooth interface behaviors, * to appear in Journal of Theoretical, Computational and Applied Mechanics, 2024 * https://hal.science/hal-04146784 * https://doi.org/10.46298/jtcam.11611 * * It generates the data set in an ASCII AVS UCD file named 'Peeling3Dv7.inp' * This file contains 3 successive data sets: * the first one contains * the 3D mesh, the nodal field with prescribed generalized force values * (with components FX,FY,FZ), the prescribed displacement dofs (tagged with * value 1, components UX,UY,UZ), the contact normal vector (with components * NX,NY,NZ) and the nodal contact weights (with component SCAL) * the second one contains * the first interface surfacic mesh * the third one contains * the second interface surfacic mesh * * D. Dureisseix, cleaned up on may 31 2024 * This script has been used on a MacBook Pro, macOS Monterey 12.5.1 * with Cast3M version 21.0.1 * If plotting is required ISPLOT1 = 1; ISPLOT1 = 0; * Geometry * """""""" * Surface meshing OPTI DIME 2 ELEM QUA4; * Sizes RAY1 = 1.; EPAI1 = 0.5; LONG1 = 0.5; * discretization c = 4 N1 = 48; N2 = 136; N3 = 56; * discretization c = 3 N1 = 36; N2 = 102; N3 = 42; * discretization c = 1 N1 = 12; N2 = 34; N3 = 14; P0 = 0. 0.; P1 = RAY1 0.; P2 = (RAY1 + EPAI1) 0.; LI1 = P1 D N1 P2; SURF1 = ROTA N2 LI1 90 P0; CO1 CO2 LI2 CO4 = COTE SURF1; * 3D meshing OPTI DIME 3 ELEM CUB8; P4 = 0. 0. LONG1; MAIL1 = VOLU SURF1 TRAN N3 P4; SURF2 = SURF1 PLUS P4; INTE1 = LI1 TRAN N3 P4; INTE2 = LI2 TRAN N3 P4; INTET1 = INTE1 ET INTE2; ELIM (MAIL1 ET SURF2 ET INTET1) 0.00001; MESS 'Number of elements = ' (NBEL MAIL1); MESS 'Number of dofs = ' (3 * (NBNO MAIL1)); MESS 'Number of interface nodes = ' (NBNO INTET1); SI (ISPLOT1 EGA 1); * Depiction of the meshes TITRE 'INTERFACES'; TRAC INTET1 CACH; TITRE 'MESH'; Q1 = (2*RAY1) 0. 0.000001; Q2 = (2*RAY1) (2*RAY1) 0.; Q3 = 0. (2*RAY1) 0.; R1 = 0. (2*RAY1) 0.000001; R2 = 0. (2*RAY1) (1*RAY1); R3 = 0.000001 0. (1*RAY1); S1 = (2*RAY1) 0. 0.; S2 = (2*RAY1) 0. (1*RAY1); S3 = 0. 0. (1*RAY1); XX1 = (MANU QUA4 P0 Q1 Q2 Q3) ET (MANU QUA4 P0 R1 R2 R3) ET (MANU QUA4 P0 S1 S2 S3); OEIL1 = (4*RAY1) (4*RAY1) (4*RAY1); TMAIL1 = MAIL1 ET XX1; TRAC TMAIL1 OEIL1 CACH; FINSI; * Model and material * """""""""""""""""" MODL1 = MODE MAIL1 MECANIQUE ELASTIQUE; * Material parameters YOUN1 = 1.; YNU1 = 0.3; RHO1 = 1.; MATR1 = MATE MODL1 YOUNG YOUN1 NU YNU1 RHO RHO1; * Critical time step, characteristic time * """"""""""""""""""""""""""""""""""""""" TOTO1 = INTG 'ELEM' MODL1 (MANU CHML MODL1 SCAL 1.); LL1 = (MAXI TOTO1) ** (1. / 3.); TC1 = LL1 * ((YOUN1 / RHO1) ** 0.5); TH1 = LONG1 * ((YOUN1 / RHO1) ** 0.5); MESS 'Critical time step = ' TC1; MESS 'Characteristic time = ' TH1; * Boundary conditions * """"""""""""""""""" * Generalized external forces (FX,FY,FZ) * quadratic shear repartition X2 Y2 Z2 = COOR SURF2; R2 = ((X2 ** 2) + (Y2 ** 2)) ** 0.5; PRES2 = (R2 - RAY1) * (RAY1 + EPAI1 - R2); FEXT2 = PRES MASS MODL1 PRES2; * normalization for a unit resultant force FF2 = RESU FEXT2; FF2 = EXTR FF2 FZ ((EXTR FF2 MAIL) POINT 1); AA2 = MESURE SURF2; PM2 = (ABS FF2) / AA2; FEXT2 = (1 / PM2) * FEXT2; * rotation FEXT2 = (EXCO FX FEXT2 FX) ET (EXCO FZ FEXT2 FY) ET (EXCO FX FEXT2 FZ) ; SI (ISPLOT1 EGA 1); TITRE 'EXTERNAL GENERALIZED FORCES'; AX1 = MANU SEG2 (0. 0. 0.) (0.2 0. 0.) COUL BLAN; AX1 = AX1 ET (MANU SEG2 (0. 0. 0.) (0. 0. 0.2) COUL VERT); VECT2 = VECT FEXT2 (MOTS FX FY FZ) JAUN; TRAC VECT2 (MAIL1 ET AX1) CACH; FINSI; * Clamped dofs tagged with value 1 * (symmetry condition) CHPO1 = MANU CHPO SURF1 3 'UX' 0. 'UY' 0. 'UZ' 1. NATURE DISCRET; CHPOT1 = CHPO1 ET FEXT2; * Averaged normals on the interface (NX,NY,NZ), * and integration weight (SCAL) PRES2 = PRESS MASS MODL1 1. INTET1; PRES2 = REDU PRES2 INTET1; POIDS2 = ((EXCO FX PRES2 SCAL) ** 2) + ((EXCO FY PRES2 SCAL) ** 2) + ((EXCO FZ PRES2 SCAL) ** 2); POIDS2 = POIDS2 ** 0.5; NORM2 = (EXCO FX PRES2 NX) ET (EXCO FY PRES2 NY) ET (EXCO FZ PRES2 NZ); NORM2 = NORM2 * (POIDS2 ** -1); CHPOT2 = NORM2 ET POIDS2; SI (ISPLOT1 EGA 1); VECT2 = VECT NORM2 (MOTS NX NY NZ); TITRE 'NORMALS'; TRAC VECT2 (ENVE MAIL1); TITRE 'WEIGHT'; TRAC POIDS2 MAIL1; FINSI; * Data export in ASCII AVS UCD file * """"""""""""""""""""""""""""""""" OPTI SORT 'Peeling3Dv7'; CHPOT3 = CHPOT1 ET CHPOT2; * export 3D mesh, nodal field with prescribed * generalized force values, prescribed displacement * dofs, contact normals and nodal weights SORT 'AVS' MAIL1 CHPOT3 MATR1 'SUIT'; * export first interface surfacic mesh SORT 'AVS' INTE1 'SUIT'; * export second interface surfacic mesh SORT 'AVS' INTE2 'SUIT'; OPTI SORT 'poub'; FIN;