* fichier : produit.dgibi ************************************************************************ * Section : Mathematiques Fonctions ************************************************************************ ************************************************************************ * SI GRAPH = N PAS DE GRAPHIQUE AFFICHE * SINON SI GRAPH DIFFERENT DE N TOUS * LES GRAPHIQUES SONT AFFICHES GRAPH = 'N' ; OPTI ECHO 1 ; SAUT PAGE ; SI (NEG GRAPH 'N'); OPTI TRAC X ; SINO ; OPTI TRAC PSC ; FINSI ; SAUT PAGE ; ************************************************************************ * NOM : PRODUIT * DESCRIPTION : Teste l'operateur '*' entre objets de type CHPOINT * * * LANGAGE : GIBIANE-CAST3M * AUTEUR : Clément BERTHINIER (CEA/DEN/DM2S/SEMT/LM2S) * mél : clement.berthinier@cea.fr ********************************************************************** * VERSION : v1, 04/02/2015, version initiale * HISTORIQUE : v1, 04/02/2015, création * HISTORIQUE : * HISTORIQUE : ************************************************************************ * Prière de PRENDRE LE TEMPS de compléter les commentaires * en cas de modification de ce sous-programme afin de faciliter * la maintenance ! ************************************************************************ ************************************************************************ * Création d'un maillage ************************************************************************ OPTI DIME 3 ; OPTI ELEM SEG2; P1= 0. 0. 0. ; P2= 1. 0. 0. ; L1= DROI 10 P1 P2 ; L2= L1 PLUS (0. 1. 0.); OPTI ELEM QUA4 ; S1= REGL L1 10 L2 ; OPTI ELEM CUB8 ; V1= VOLU S1 TRAN 10 (0. 0. 1.); SI(NEG GRAPH 'N'); TRAC CACH V1 ; FINSI ; ************************************************************************ * Création d'un CHPOINT ************************************************************************ X Y Z = COOR V1 ; ************************************************************************ * Multiplication de CHPOINT de meme NATURE ************************************************************************ * Création de CHPO1 et CHPO2 : NATURE DIFFUS CHPO1 = X + (Y**2) + (Z**3) ; CHPO2 = CHPO1 * 2. ; CHPO3 = CHPO1 * CHPO2 ; NATU = EXTR CHPO3 'NATU' ; SI ('NEG' NATU 'DIFFUS') ; MESS 'La nature du CHPOINT resultat n"est pas bonne'; ERRE 5; FINSI; * Création de CHPO4 et CHPO5 : NATURE DISCRET CHPO4 = CHAN CHPO1 'ATTRIBUT' 'NATURE' 'DISCRET'; CHPO5 = CHAN CHPO2 'ATTRIBUT' 'NATURE' 'DISCRET'; CHPO6 = CHPO4 * CHPO5 ; NATU = EXTR CHPO6 'NATU' ; SI ('NEG' NATU 'DISCRET') ; MESS 'La nature du CHPOINT resultat n"est pas bonne'; ERRE 5; FINSI; * Création de CHPO7 et CHPO8 : NATURE INDETER CHPO7 = CHAN CHPO1 'ATTRIBUT' 'NATURE' 'INDETER'; CHPO8 = CHAN CHPO2 'ATTRIBUT' 'NATURE' 'INDETER'; CHPO9 = CHPO7 * CHPO8 ; NATU = EXTR CHPO9 'NATU' ; SI ('NEG' NATU 'INDETERMINE'); MESS 'La nature du CHPOINT resultat n"est pas bonne'; ERRE 5; FINSI; ************************************************************************ * Multiplication de CHPOINT de NATURE différente ************************************************************************ CHPO10 = CHPO1 * CHPO4 ; NATU = EXTR CHPO10 'NATU' ; SI ('NEG' NATU 'DISCRET'); MESS 'La nature du CHPOINT resultat n"est pas bonne'; ERRE 5; FINSI; CHPO11 = CHPO1 * CHPO7 ; NATU = EXTR CHPO11 'NATU' ; SI ('NEG' NATU 'INDETERMINE'); MESS 'La nature du CHPOINT resultat n"est pas bonne'; ERRE 5; FINSI; CHPO12 = CHPO4 * CHPO7 ; NATU = EXTR CHPO12 'NATU' ; SI ('NEG' NATU 'INDETERMINE'); MESS 'La nature du CHPOINT resultat n"est pas bonne'; ERRE 5; FINSI; ************************************************************************ * Multiplication de CHPOINT en changeant la NATURE du resultat ************************************************************************ CHPO13 = CHPO1 * CHPO2 'NATURE' 'DISCRET' ; NATU = EXTR CHPO13 'NATU' ; SI ('NEG' NATU 'DISCRET'); MESS 'La nature du CHPOINT resultat n"est pas bonne'; ERRE 5; FINSI; CHPO14 = CHPO1 * CHPO2 'NATURE' 'DIFFUS' ; NATU = EXTR CHPO14 'NATU' ; SI ('NEG' NATU 'DIFFUS'); MESS 'La nature du CHPOINT resultat n"est pas bonne'; ERRE 5; FINSI; CHPO15 = CHPO1 * CHPO2 'NATURE' 'INDETERMINE' ; NATU = EXTR CHPO15 'NATU' ; SI ('NEG' NATU 'INDETERMINE'); MESS 'La nature du CHPOINT resultat n"est pas bonne'; ERRE 5; FINSI; ************************************************************************ * Création d'un CHPOINT avec plusieurs composantes ************************************************************************ CHPO101 = CHAN 'COMP' 'X1' CHPO1 ; CHPO102 = CHAN 'COMP' 'Y1' CHPO2 ; CHPO103 = CHAN 'COMP' 'Z1' CHPO3 ; LISMO1 = MOTS 'X1' 'Y1' 'Z1' ; LISMO2 = MOTS 'X2' 'Y2' 'Z2' ; ************************************************************************ * Multiplication de CHPOINT de memem NATURE avec 3 composantes ************************************************************************ * Création de CHPO104 et CHPO105 : NATURE DIFFUS CHPO104 = CHPO101 ET CHPO102 ET CHPO103 ; CHPO105 = COS CHPO104 ; CHPO106 = CHPO104 * CHPO105 LISMO1 LISMO1 LISMO2; NATU = EXTR CHPO106 'NATU' ; SI ('NEG' NATU 'DIFFUS'); MESS 'La nature du CHPOINT resultat n"est pas bonne'; ERRE 5; FINSI; * Création de CHPO107 et CHPO108 : NATURE DISCRET CHPO107 = CHAN CHPO104 'ATTRIBUT' 'NATURE' 'DISCRET'; CHPO108 = CHAN CHPO105 'ATTRIBUT' 'NATURE' 'DISCRET'; CHPO109 = CHPO107 * CHPO108 LISMO1 LISMO1 LISMO2 ; NATU = EXTR CHPO109 'NATU' ; SI ('NEG' NATU 'DISCRET'); MESS 'La nature du CHPOINT resultat n"est pas bonne'; ERRE 5; FINSI; * Création de CHPO110 et CHPO111 : NATURE INDETER CHPO110 = CHAN CHPO104 'ATTRIBUT' 'NATURE' 'INDETER'; CHPO111 = CHAN CHPO105 'ATTRIBUT' 'NATURE' 'INDETER'; CHPO112 = CHPO110 * CHPO111 LISMO1 LISMO1 LISMO2 ; NATU = EXTR CHPO112 'NATU' ; SI ('NEG' NATU 'INDETERMINE'); MESS 'La nature du CHPOINT resultat n"est pas bonne'; ERRE 5; FINSI; ************************************************************************ * Multiplication de CHPOINT de NATURE differente avec 3 composantes ************************************************************************ CHPO113 = CHPO104 * CHPO107 LISMO1 LISMO1 LISMO2; NATU = EXTR CHPO113 'NATU' ; SI ('NEG' NATU 'DISCRET'); MESS 'La nature du CHPOINT resultat n"est pas bonne'; ERRE 5; FINSI; CHPO114 = CHPO104 * CHPO110 LISMO1 LISMO1 LISMO2; NATU = EXTR CHPO114 'NATU' ; SI ('NEG' NATU 'INDETERMINE'); MESS 'La nature du CHPOINT resultat n"est pas bonne'; ERRE 5; FINSI; CHPO115 = CHPO107 * CHPO110 LISMO1 LISMO1 LISMO2; NATU = EXTR CHPO115 'NATU' ; SI ('NEG' NATU 'INDETERMINE'); MESS 'La nature du CHPOINT resultat n"est pas bonne'; ERRE 5; FINSI; ************************************************************************ * Multiplication de CHPOINT avec 3 composante en changeant la NATURE ************************************************************************ CHPO116 = CHPO104 * CHPO107 LISMO1 LISMO1 LISMO2 'NATURE' 'DISCRET'; NATU = EXTR CHPO116 'NATU' ; SI ('NEG' NATU 'DISCRET'); MESS 'La nature du CHPOINT resultat n"est pas bonne'; OPTI DONN 5; ERRE 5; FINSI; CHPO117 = CHPO104 * CHPO110 LISMO1 LISMO1 LISMO2 'NATURE' 'DIFFUS '; NATU = EXTR CHPO117 'NATU' ; SI ('NEG' NATU 'DIFFUS'); MESS 'La nature du CHPOINT resultat n"est pas bonne'; ERRE 5; FINSI; CHPO118 = CHPO107 * CHPO110 LISMO1 LISMO1 LISMO2 'NATURE' 'INDETER'; NATU = EXTR CHPO118 'NATU' ; SI ('NEG' NATU 'INDETERMINE'); MESS 'La nature du CHPOINT resultat n"est pas bonne'; ERRE 5; FINSI; FIN;