C LEKDIV SOURCE CB215821 20/11/25 13:33:32 10792 SUBROUTINE LEKDIV(MTABD,NU,MTABX,KINC,MCHELM,KPOIND) IMPLICIT INTEGER(I-N) IMPLICIT REAL*8 (A-H,O-Z) C*********************************************************************** C C Ce sous programme lit le NUième coefficient d'un opérateur, stocké C à l'indice ARGnu de la table KIZX de pointeur MTABX associée à C l'opérateur en cours de traitement. C Le coefficient est de type ENTIER, FLOTTANT, POINT, CHPOINT ou MOT. C Dans le cas MOT, on récupère la donnée se trouvant à l'indice MOT C de la table INCO. C Ce Sp lit lit le coefficient et rend un MCHAML quoi qu'il arrive C Le MCHAML en retour est jetable il est calcule aux pts d'integrations C---------------------------------------------------------------------- C HISTORIQUE : 20/10/01 : Création C C HISTORIQUE : C C C--------------------------- C Paramètres Entrée/Sortie : C--------------------------- C C E/ MTABD : Objet model de la zone C E/ NU : Rang du coefficient à aller chercher (ENTIER) C E/ MTABX : Pointeur de la table contenant le coefficient C E/ KINC : Pointeur de la table INCO dans laquelle on va chercher C les valeurs des indices lorsque ceux-ci sont des MOTS. C /S MCHELM : Chamelem pts d'intégration pour le COEF C E/ KPOIND : ENTIER type du support GÉométrique DUAL du shéma C d'intégration => pour la création du Chamelem C---------------------------------------------------------------------- C KPOIN = 0->SOMMET 1-> FACE 2-> CENTRE 3-> CENTREP0 4-> CENTREP1 5-> MSOMMET C---------------------------------------------------------------------- C************************************************************************ -INC SMCHAML -INC SMCHPOI -INC SMELEME -INC SMCOORD -INC PPARAM -INC CCOPTIO -INC CCGEOME CHARACTER*8 TYPE,NOM,NARG LOGICAL LOGI DIMENSION XPOI(3) C***************************************************************************** CLEKDIV C C- Récupération du TYPE du NUième argument de l'opérateur C c write(6,*)' DEBUT LEKDIV NU=',NU IF (NU.LE.0 .OR. NU.GE.100) THEN INTERR(1) = NU INTERR(2) = 1 INTERR(3) = 99 CALL ERREUR(789) RETURN ENDIF IF (NU.LE.9) THEN WRITE(NARG,FMT='(A3,I1)')'ARG',Nu ELSE WRITE(NARG,FMT='(A3,I2)')'ARG',Nu ENDIF TYPE = ' ' CALL LENCHA(NARG,LC) CALL ACCTAB(MTABX,'MOT', 0,0.D0,NARG(1:LC),LOGI, 0, & TYPE ,IVAL,COEF, NOM,LOGI,MCHPOI) c write(6,*)' TYPE ,MCHPOI =',TYPE ,MCHPOI IF(TYPE.EQ.'MOT')THEN TYPE=' ' CALL ACMO(KINC,NOM,TYPE,MCHPOI) ENDIF IF(TYPE.NE.'CHPOINT ')THEN C On ne veut pas d'objet de type %m1:8 MOTERR(1: 8) = TYPE CALL ERREUR(39) RETURN ENDIF CALL MELDIV(MTABD,MCHPOI,MCHELM,KPOIND) c write(6,*)' FIN LEKDIV ' RETURN 1001 FORMAT(20(1X,I5)) 1002 FORMAT(10(1X,1PE11.4)) END