* @CIRCONS PROCEDUR PASCAL 12/10/18 21:15:01 7532 *---------------------------------------------------------------------* * NOM : @CIRCONS * * * * DESCRIPTION : Procedure calculant le centre et le rayon du cercle * * (sphere) circonscrit(e) a un element de type TRI3 * * (TET4) en 2D (3D). * * * * SYNTAXE : PT1 R1 = @CIRCONS ELT1 ; * * * * - ELT1 = MAILLAGE, 1 element de type TRI3 ou TET4 ; * * - PT1 = POINT, centre du cercle (sphere) circonscrit(e) ; * * - R1 = FLOTTANT, rayon du cercle (sphere) circonscrit(e) ; * * * * LANGAGE : GIBIANE-CAST3M * * AUTEUR : S. PASCAL (CEA/DEN/DM2S/SEMT/LM2S) * * COURRIEL : serge.pascal@cea.fr * *---------------------------------------------------------------------* * VERSION : v1, 22/09/2006, version initiale * * HISTORIQUE : v1, 22/09/2006, creation * * HISTORIQUE : * * HISTORIQUE : * *---------------------------------------------------------------------* * Priere de PRENDRE LE TEMPS de completer les commentaires * * en cas de modification de ce sous-programme afin de faciliter * * la maintenance ! * *---------------------------------------------------------------------* 'SI' (DIM1 'EGA' 2) ; 'SI' (('ABS' DET1) '<' 1.E-8) ; 'SI' (('ABS' DET1) '<' 1.E-8) ; PTX = PT1 ; PT1 = PT3 ; PT3 = PT2 ; PT2 = PTX ; VP2 = VP1 ; VP1 = VP3 ; 'SINO' ; PTX = PT1 ; PT1 = PT2 ; PT2 = PT3 ; PT3 = PTX ; VP1 = VP2 ; VP2 = VP3 ; 'FINS' ; 'FINS' ; CELT1 = XCELT1 YCELT1 ; CELT1 = CELT1 / DET1 ; 'SINO' ; 'SI' (DIM1 'EGA' 3) ; W1 = (A22 * A33) - (A32 * A23) ; W2 = (A31 * A23) - (A21 * A33) ; W3 = (A21 * A32) - (A31 * A22) ; FF1 = 0.5 / ((A11 * W1) + (A12 * W2) + (A13 * W3)) ; B11 = W1 ; B21 = W2 ; B31 = W3 ; B12 = (A32 * A13) - (A12 * A33) ; B22 = (A11 * A33) - (A31 * A13) ; B32 = (A31 * A12) - (A11 * A32) ; B13 = (A12 * A23) - (A22 * A13) ; B23 = (A21 * A13) - (A11 * A23) ; B33 = (A11 * A22) - (A21 * A12) ; FX1 = N2PT4 - N2PT1 ; FY1 = N2PT4 - N2PT2 ; FZ1 = N2PT4 - N2PT3 ; CELT1 = ((B11 * FX1) + (B12 * FY1) + (B13 * FZ1)) ((B21 * FX1) + (B22 * FY1) + (B23 * FZ1)) ((B31 * FX1) + (B32 * FY1) + (B33 * FZ1)) ; CELT1 = FF1 * CELT1 ; 'FINS' ; 'FINS' ; 'RESP' CELT1 RELT1 ; 'FINP' ; *---------------------------------------------------------------------* * FIN PROCEDURE @CIRCONS
© Cast3M 2003 - Tous droits réservés.
Mentions légales