* @CLPC PROCEDUR PV 19/01/24 21:15:01 10083 *23456789123456789123456789123456789123456789123456789123456789123456789 **************************************************** **************************************************** * * PROCEDURE POUR CONDITIONS AUX LIMITES * * PERIODIQUE EN CONTRAINTE IMPOSE * * L.GELEBART, G. TREGO 10/06 **************************************************** ***************************************************** SXX = CONT0 . 1; SYY = CONT0 . 2; SZZ = CONT0 . 3; SXY = CONT0 . 4; SXZ = CONT0 . 5; SYZ = CONT0 . 6; * * Identification des points et surfaces exterieures * pour application des CL *===================================================== elim0 = 1.e-4; ENVE_PT0 = CHANGE ENVE0 POI1; LX0 = XMAX - XMIN; LY0 = YMAX - YMIN; LZ0 = ZMAX - ZMIN; PXMIN = ENVE_PT0 POIN 'PLAN' (XMIN 0. 0.) (XMIN 1. 0.) (XMIN 0. 1.) (LX0 * elim0); PYMIN = ENVE_PT0 POIN 'PLAN' (0. YMIN 0.) (1. YMIN 0.) (0. YMIN 1.) (LY0 * elim0); PZMIN = ENVE_PT0 POIN 'PLAN' (0. 0. ZMIN) (1. 0. ZMIN) (0. 1. ZMIN) (LZ0 * elim0); * * * SX00 = LY0 * LZ0; SY00 = LX0 * LZ0; SZ00 = LX0 * LY0; * * Application des contraintes *================================ test = 0; SI ((SXZ NEG 0.) OU (SYZ NEG 0.) OU (SZZ NEG 0.)); ((0. - SXZ) (0. - SYZ) (0. - SZZ)); FZ0 = FZ0 * (SZ00 / SZ0); FZ1 = FZ1 * (SZ00 / SZ1); FCLP0 = FZ0 ET FZ1; test=1; FINSI; * SI ((SXY NEG 0.) OU (SYY NEG 0.) OU (SYZ NEG 0.)); ((0. - SXY) (0. - SYY) (0. - SYZ)); FY0 = FY0 * (SY00 / SY0); FY1 = FY1 * (SY00 / SY1); SI (test EGA 1); FCLP0 = FCLP0 ET (FY0 ET FY1); SINON; FCLP0 = FY0 ET FY1; test=1; FINSI; FINSI; * SI ((SXX NEG 0.) OU (SXY NEG 0.) OU (SXZ NEG 0.)); ((0. - SXX) (0. - SXY) (0. - SXZ)); FX0 = FX0 * (SX00 / SX0); FX1 = FX1 * (SX00 / SX1); SI (test EGA 1); FCLP0 = FCLP0 ET (FX0 ET FX1); SINON; FCLP0 = FX0 ET FX1; FINSI; FINSI; * * Blocage du mvt de corps rigide *=========================================== BL1 = BLOQUE UX UY UZ A1; BL2 = BLOQUE UY UZ A2; BL3 = BLOQUE UZ A4; BL0 = BL1 ET (BL2 ET BL3); *BL0 = @CORIGI ENVE0; * * Application des conditions de periodicite *=========================================== RIGCLP = BL0; *surfaces z=cte RIGCLP = RIGCLP ET (RIGIX ET RIGIY ET RIGIZ); *surfaces x=cte * enlever les points deja traites RIGCLP = RIGCLP ET (RIGIX ET RIGIY ET RIGIZ); *surfaces y=cte * enlever les points deja traites RIGCLP = RIGCLP ET (RIGIX ET RIGIY ET RIGIZ); FINPROC RIGCLP FCLP0; ********************************************* * FIN DE LA PROCEDURE CLPC *********************************************
© Cast3M 2003 - Tous droits réservés.
Mentions légales