* fichier : lire_med_02.dgibi ************************************************************************ ************************************************************************ * Presentation : Ce cas-test permet de : * SORTIR des MAILLAGES, CHPOINT, MCHAML et TABLE PASAPAS * au format MED * LIRE les fichiers MED generes * VERIFIE et VALIDE les echanges au format MED * - Les valeurs lues sont identiques aux valeurs * attendues (Champs de coordonnees facile a comparer) * * Ameliorations a prevoir : * - Sortir et lire les MCHAML en d'autres points supports * - Sortir et lire les CONSTITUANTS dans les MCHAML * - Sortir et lire les NATURES dans les CHPOINT * * Creation : 17/02/2017 * Createur : C. BERTHINIER * * Modifications : * CB215821 01/02/2018 : Sortie, Relecture & Validation des MAILLAGES * : Sortie, Relecture & Validation des CHPOINTS * : Sortie, Relecture & Validation des MCHAML * - Aux GRAVITE * - Aux NOEUDS * CB215821 13/03/2019 : Sortie, Relecture & Validation des TABLES PASAPAS ************************************************************************ * repertoire des fichiers "divers" * Test si 64 bits. Sortie sinon * ************************************************************************ * PROCEDURE POUR VERIFIER UN MAILLAGE ************************************************************************ * TRACE des MAILLAGES * Nombre d''elements * Nombre de noeuds * Verification Nombre d''elements 'SI' (NE_CAS 'NEG' NE_MED); 'MESS' '############################################################'; 'MESS' '# LE MAILLAGES MED RELUS N EST PAS CONFORME #'; 'MESS' '# ERREUR NOMBRE ELEMENTS #'; 'MESS' '############################################################'; 'FINS'; * Verification Nombre de Noeuds 'SI' (NN_CAS 'NEG' NN_MED); 'MESS' '############################################################'; 'MESS' '# LE MAILLAGES MED RELUS N EST PAS CONFORME #'; 'MESS' '# ERREUR NOMBRE DE NOEUDS #'; 'MESS' '############################################################'; 'FINS'; * Verification coordonnees identiques 'SI' (NE_DIF 'NEG' 0); 'MESS' CHAI2; 'MESS' '############################################################'; 'MESS' '# LE MAILLAGES MED RELUS N EST PAS CONFORME #'; 'MESS' '# ERREUR CONNECTIVITE #'; 'MESS' '############################################################'; 'FINS'; 'FINP'; ************************************************************************ * PROCEDURE POUR VERIFIER UN CHPOINT ************************************************************************ * A FAIRE !!! 'FINP'; ************************************************************************ * PROCEDURE POUR VERIFIER UN MCHAML ************************************************************************ * Verification : Le champ lu est un champ de coordonnees, on le recree 'FIN' SURI; 'SI' (XDIFF 'NEG' 0.D0); 'MESS' CHAI2; 'MESS' '############################################################'; 'MESS' '# LE MCHAML MED RELUS N EST PAS CONFORME #'; 'MESS' '# ERREUR DE VALEURS #'; 'MESS' '############################################################'; 'FINS'; 'FINP'; *********************************************************************** * Lecture d'un MAILLAGE 'NASTRAN' avec plusieurs types d'elements *********************************************************************** *********************************************************************** * Fabrication des MAILLAGES avant d'exporter au format MED * *********************************************************************** MAILTOT = MAILTOT 'ET' (TAB2.'MAILLAGES' . (TAB21 . &SURI)); 'FIN' SURI; * Le MAILLAGE MAILTOT contient 11 types d'elements : * - 29 element(S) de type SEG2 * - 93 element(S) de type TRI3 * - 164 element(S) de type QUA4 * - 271 element(S) de type TET4 * - 36 element(S) de type PRI6 * - 84 element(S) de type CUB8 * * - 29 element(S) de type TRI6 * - 27 element(S) de type QUA8 * - 271 element(S) de type TE10 * - 24 element(S) de type PR15 * - 12 element(S) de type CU20 *********************************************************************** * Sortie MED des MAILLAGES (SIMPLES & COMPLEXES) *********************************************************************** 'SORT' 'MED' MTRI3 ; 'SORT' 'MED' MAILTOT ; *********************************************************************** * Sortie MED des CHPOINTS *********************************************************************** CHPTOT= CHPX1 'ET' CHPY1 ; 'SORT' 'MED' CHPX1; 'SORT' 'MED' CHPTOT; 'SORT' 'MED' CHPX1 CHPY1 CHPTOT; *********************************************************************** * Sortie MED des MCHAML *********************************************************************** * MCHAML au GRAVITE (1 SOUS-ZONE et 11 SOUS-ZONES) 'SORT' 'MED' CHAX1 ; 'SORT' 'MED' CHAY1 ; * MCHAML au NOEUD (1 SOUS-ZONE et 11 SOUS-ZONES) 'SORT' 'MED' CHAZ1 ; 'SORT' 'MED' CHAZ2; * MCHAML melange (NOEUD & GRAVITE, 1 SOUS-ZONE et 11 SOUS-ZONES) 'SORT' 'MED' CHAX1 CHAY1 CHAZ1 CHAZ2; *********************************************************************** * Sortie MED d'une TABLE de SOUS-TYPE PASAPAS *********************************************************************** COOCHP = COO1 'ET' COO2 'ET' COO3 ; COOCHMG = COO1 'ET' COO2 'ET' COO3 ; COOCHMN = COO1 'ET' COO2 'ET' COO3 ; TPASAP.'MODELE' = MOD1b ; 'REPE' SURI NBTPS; II =&SURI; TPASAP.'TEMPS' . (II - 1) = Xtps ; TPASAP.'COORDONNEES_CHPOINT1'. (II - 1) =(COOCHP + 1.D0) * ( 1.D0 + Xtps) ; TPASAP.'MCHAML_GRAVI1' . (II - 1) =(COOCHMG + 1.D0) * ( 1.D0 + Xtps) ; TPASAP.'MCHAML_NOEUD1' . (II - 1) =(COOCHMN + 1.D0) * ( 1.D0 + Xtps) ; 'FIN' SURI; * TABLE de SOUSTYPE 'PASAPAS' avec CHPOINT, MCHAML (GRAVITE & NOEUDS) 'SORT' 'MED' TPASAP ; *#####################################################################* * Verification relecture des MAILLAGES *#####################################################################* *#####################################################################* * Validation relecture des MAILLAGES *#####################################################################* 'LIST' TAB1; MTRI3a = TAB1.'MTRI3' ; VERMAI MTRI3 MTRI3a 'MTRI3'; 'LIST' TAB2; MAILTOTa= TAB2.'MAILTOT'; MSEG2a = TAB2.'MSEG2' ; MCU20a = TAB2.'MCU20' ; MPR15a = TAB2.'MPR15' ; MTE10a = TAB2.'MTE10' ; MQUA8a = TAB2.'MQUA8' ; MTRI6a = TAB2.'MTRI6' ; MCUB8a = TAB2.'MCUB8' ; MPRI6a = TAB2.'MPRI6' ; MTET4a = TAB2.'MTET4' ; MQUA4a = TAB2.'MQUA4' ; MTRI3a = TAB2.'MTRI3' ; VERMAI MAILTOT MAILTOTa 'MAILTOT'; VERMAI MSEG2 MSEG2a 'MSEG2' ; VERMAI MCU20 MCU20a 'MCU20' ; VERMAI MPR15 MPR15a 'MPR15' ; VERMAI MTE10 MTE10a 'MTE10' ; VERMAI MQUA8 MQUA8a 'MQUA8' ; VERMAI MTRI6 MTRI6a 'MTRI6' ; VERMAI MCUB8 MCUB8a 'MCUB8' ; VERMAI MPRI6 MPRI6a 'MPRI6' ; VERMAI MTET4 MTET4a 'MTET4' ; VERMAI MQUA4 MQUA4a 'MQUA4' ; VERMAI MTRI3 MTRI3a 'MTRI3' ; *#####################################################################* * Verification relecture des CHPOINT *#####################################################################* *#####################################################################* * Validation relecture des CHPOINT *#####################################################################* * CONTROLE VISUEL POUR LE MOMENT, COMPARER LES VALEURS !!! A FAIRE !!! 'LIST' TAB3; CHPX2 = TAB3.'CHPX1'; *Verification : Le champ lu est un champ de coordonnees, on le recree 'SI' ('NEG' NBMED NBORI); 'MESS' '############################################################'; 'MESS' '# CHPOINT EXPORTE : NOMBRE ELEMENTS INCORRECT #'; 'MESS' CHA1 ; 'MESS' '############################################################'; 'FINS'; 'SI' ('NEG' ValX2 0.D0); 'MESS' '############################################################'; 'MESS' '# CHPOINT EXPORTE : VALEURS INCORRECTES #'; 'MESS' '############################################################'; 'FINS'; 'LIST' TAB4; CHPTO2 = TAB4.'CHPTOT_1' 'ET' TAB4.'CHPTOT_2'; *Verification : Le champ lu est un champ de coordonnees, on le recree 'SI' ('NEG' ValX2 0.D0); 'MESS' '############################################################'; 'MESS' '# CHPOINT EXPORTE : VALEURS INCORRECTES #'; 'MESS' '############################################################'; 'FINS'; 'SI' ('NEG' ValY2 0.D0); 'MESS' '############################################################'; 'MESS' '# CHPOINT EXPORTE : VALEURS INCORRECTES #'; 'MESS' '############################################################'; FINS ; 'LIST' TAB5; CHPX2 = TAB5.'CHPX1'; CHPY2 = TAB5.'CHPY1'; *#####################################################################* * Verification relecture des MCHAML *#####################################################################* *#####################################################################* * Validation relecture des MCHAML *#####################################################################* 'LIST' TAB6; CHAX1a = TAB6.'CHAX1'; 'LIST' TAB7; CHAY1a = TAB7.'CHAY1'; 'LIST' TAB8; CHAZ1a = TAB8.'CHAZ1'; 'LIST' TAB9; CHAZ2a = TAB9.'CHAZ2'; 'LIST' TAB10; CHAX1a = TAB10.'CHAX1'; CHAY1a = TAB10.'CHAY1'; CHAZ1a = TAB10.'CHAZ1'; CHAZ2a = TAB10.'CHAZ2'; *#####################################################################* * Verification relecture des TABLES de SOUSTYPE 'PASAPAS' *#####################################################################* 'LIST' TAB11; *#####################################################################* * Validation relecture des TABLES de SOUSTYPE 'PASAPAS' *#####################################################################* FIN;
© Cast3M 2003 - Tous droits réservés.
Mentions légales