* @CARENE PROCEDUR CB215821 15/12/02 21:15:01 8719 ************************************************************************ *----------------------------------------------------------------------- * * PROCEDURE CARENE (ECRITE PAR MR MALEYRAN ) MLN/CERN JANVIER 91 * * * CONTRUCTION D'UNE COQUE LISSEE PAR LA METHODE D'ENERGIE MINIMUM DE * DEFORMATION (ECRITE PAR MR MALEYRAN * *----------------------------------------------------------------------- * * ENTREE COU EST UNE TABLE TELLE QUE: * * * * COU.1 MAILLAGE DE TYPE LIGNE SEG2 REPRESENTANT LE COUPLE * INITIAL DE LA COQUE. * (COU_1 EST LE MAITRE_COUPLE DANS UN PLAN DONT LA NORMALE EST * LA DIRECTION PRINCIPALE DES LISSES * * COU.2 MAILLAGE DE TYPE LIGNE SEG2 REPRESENTANT LE COUPLE * FINAL DE LA COQUE. * (COU.2 EST LE COUPLE FINAL QUELCONQUE DANS L'ESPACE 3D) * * COU.N MAILLAGE DE TYPE LIGNE SEG2 REPRESENTANT LE COUPLE * INTERMEDIAIRE DE RANG N DE LA COQUE. * (COU.3 EST UN COUPLE INTERMEDIAIRDE DANS UN PLAN PARALLELE * A YOZ C'EST A DIRE OX = CONSTANT. OX DOIT ETRE UN MULTIPLE * DE N_COU) * (COU.1 COU.2 (COU.3) DOIVENT AVOIR LE MEME NOMBRE DE * POINTS ET ETRE PARCOURUES DANS LE MEME SENS). * * ROT_1 LISTREEL DES ROTATIONS IMPOSEES AU POINT * INITIAL DE COU.1 * (LISTREEL DE DIMENSION 3 DONT LES VALEURS PEUVENT ETRE : * 0. < RX, RY, RZ <= 45. EN DEGRES (ROTATIONS IMPOSEES) * RX, RY, RZ, > 45. (ROTATIONS LIBRES)) * * ROT_2 LISTREEL DES ROTATIONS IMPOSEES AU POINT * FINAL DE COU.2 * (LISTREEL DE DIMENSION 3 DONT LES VALEURS PEUVENT ETRE : * 0. < RX, RY, RZ <= 45. EN DEGRES (ROTATIONS IMPOSEES) * RX, RY, RZ, > 45. (ROTATIONS LIBRES)) * * N_COU FLOTTANT (DISTANCE ENTRE ELEMENTS DE LA COQUE) * * AXE_P ENTIER (DIRECTION DES LISSES) * 1 : SUIVANT OX * 2 : SUIVANT OY * 3 : SUIVANT OZ * *----------------------------------------------------------------------- * * SORTIE * * CARE_1 CARENE LISSEE * LIS TABLE DES LISSES * COUI table des couples * *----------------------------------------------------------------------- ROT_1*'LISTREEL' ROT_2*'LISTREEL' N_COU*'FLOTTANT' AXE_P*'ENTIER' ; O1 = 1E5 1E5 1E5 ; COE_1 = -1. ; 'SINON' ; COE_1 = 1. ; 'FINSI' ; COU_DX = (ABS COU_2X) - (ABS COU_1X) ; NLI = (MAX_DX / N_COU) ; NLIE = 'ENTI' NLI ; 'SI' ((NLI - NLIE) < (N_COU / 1000.)) ; NLIE = NLIE ; 'SINON' ; NLIE = NLIE + 1 ; 'FINSI' ; I = 0 ; LIS = 'TABLE' ; BLO = 'TABLE' ; DIP = 'TABLE' ; 'REPETE' BOU_1 (NCO + 1) ; I = I + 1 ; * * LES LISSES SONT SUR OX * 'SI' ('EGA' AXE_P 1) ; * P12X = (ABS P2X) - (ABS P1X) ; N12 = (P12X / N_COU) ; N12E = 'ENTI' N12 ; 'SI' (N12E > 0) ; 'SI' ((N12 - N12E) < (N_COU / 1000.)) ; N12E = N12E ; 'SINON' ; P2I = N12E * N_COU * COE_1 ; N12E = N12E + 1 ; 'FINSI' ; 'SINON' ; 'FINSI' ; DEI = NLIE - NEI ; 'SI' ('EGA' DEI 0) ; 'SINON' ; INC1 = N_COU / 1000. ; * INC1 = 0. 'FINSI' ; J = 1 ; J = J + 1 ; J = J + 1 ; J = J + 1 ; J = J + 1 ; J = J + 1 ; 'SI' (K > 2) ; CO1 = K - 2 ; L = 2 ; 'REPE' BOU_3 CO1 ; L = L + 1 ; DENS N_COU ; J = J + 1 ; J = J + 1 ; J = J + 1 ; 'FIN' BOU_3 ; 'FINSI' ; * 'FINSI'; * * LES LISSES SONT SUR OY * 'SI' ('EGA' AXE_P 2) ; * P12Y = (ABS P2Y) - (ABS P1Y) ; N12 = (P12Y / N_COU) ; N12E = 'ENTI' N12 ; 'SI' (N12E > 0) ; 'SI' ((N12 - N12E) < (N_COU / 1000.)) ; N12E = N12E ; 'SINON' ; P2I = N12E * N_COU * COE_1 ; N12E = N12E + 1 ; 'FINSI' ; 'SINON' ; 'FINSI' ; DEI = NLIE - NEI ; 'SI' ('EGA' DEI 0) ; 'SINON' ; INC1 = N_COU / 1000. ; 'FINSI' ; J = 1 ; J = J + 1 ; J = J + 1 ; J = J + 1 ; J = J + 1 ; J = J + 1 ; 'SI' (K > 2) ; CO1 = K - 2 ; L = 2 ; 'REPE' BOU_3 CO1 ; L = L + 1 ; DENS N_COU ; J = J + 1 ; J = J + 1 ; J = J + 1 ; 'FIN' BOU_3 ; 'FINSI' ; * 'FINSI' ; * * LES LISSES SONT SUR OZ * 'SI' ('EGA' AXE_P 3) ; * P12Z = (ABS P2Z) - (ABS P1Z) ; N12 = (P12Z / N_COU) ; N12E = 'ENTI' N12 ; 'SI' (N12E > 0) ; 'SI' ((N12 - N12E) < (N_COU / 1000.)) ; N12E = N12E ; 'SINON' ; P2I = N12E * N_COU * COE_1 ; N12E = N12E + 1 ; 'FINSI' ; 'SINON' ; 'FINSI' ; DEI = NLIE - NEI ; 'SI' ('EGA' DEI 0) ; 'SINON' ; INC1 = N_COU / 1000. ; 'FINSI' ; J = 1 ; J = J + 1 ; J = J + 1 ; J = J + 1 ; J = J + 1 ; J = J + 1 ; 'SI' (K > 2) ; CO1 = K - 2 ; L = 2 ; 'REPE' BOU_3 CO1 ; L = L + 1 ; DENS N_COU ; J = J + 1 ; J = J + 1 ; J = J + 1 ; 'FIN' BOU_3 ; 'FINSI' ; * 'FINSI' ; * COE = PI / 180. ; 'SI' (ROT1 '<EG' 45.) ; J = J + 1 ; 'FINSI' ; 'SI' (ROT2 '<EG' 45.) ; J = J + 1 ; 'FINSI' ; 'SI' (ROT3 '<EG' 45.) ; J = J + 1 ; 'FINSI' ; 'SI' (ROT1 '<EG' 45.) ; J = J + 1 ; 'FINSI' ; 'SI' (ROT2 '<EG' 45.) ; J = J + 1 ; 'FINSI' ; 'SI' (ROT3 '<EG' 45.) ; J = J + 1 ; 'FINSI' ; RIGT = RIG1 'ET' BLOT ; 'FIN' BOU_1 ; BOR = 'TABLE' ; I = 0 ; 'REPE' BOU_2 NCO ; I = I + 1 ; 'FIN' BOU_2 ; COUI = 'TABLE' ; I = 0 ; 'REPE' BOU_10 NLIE ; I = I + 1 ; J = 1 ; 'REPE' BOU_11 NCO ; J = J + 1 ; 'SI' ('EGA' J 2) ; 'SINON' ; 'FINSI' ; COUI.I = PCOU ; 'FIN' BOU_11 ; 'FIN' BOU_10 ; 'SI' ('EGA' DLMOT 1) ; CARE_1 = CARE_1Q ; 'FINSI' ; 'SI' ('EGA' DLMOT 2) ; CARE_1 = CARE_1Q 'ET' CARE_1T ; 'FINSI' ; * 'FINPROC' CARE_1 LIS COUI ;
© Cast3M 2003 - Tous droits réservés.
Mentions légales