1 : C IDPAEX SOURCE CHAT 11/03/16 21:25:33 6902 2 : 3 : SUBROUTINE IDPAEX(IPMODL,IPNOMC,NBROBL,NBRFAC) 4 : 5 : IMPLICIT INTEGER(I-N) 6 : IMPLICIT REAL*8(A-H,O-Z) 7 : 8 : C----------------------------------------------------------------------- 9 : C DESCRIPTION FONCTIONNELLE : 10 : C ------------------------- 11 : C Cette routine donne les noms des parametres externes d'un 12 : C modele elementaire 13 : C 14 : C INTERFACE : 15 : C --------- 16 : C ENTREE : IPMODL : INTEGER, pointeur actif sur le segment IMODEL 17 : C attache a la sous-zone elementaire traitee 18 : C SORTIE : IPNOMC : INTEGER, pointeur sur les listes de noms des 19 : C parametres externes obligatoires et facultatifs 20 : C SORTIE : NBROBL : INTEGER, nombre de parametres obligatoires 21 : C SORTIE : NBRFAC : INTEGER, nombre de parametres facultatifs 22 : C 23 : C COMMENTAIRES : 24 : C ------------ 25 : C En pratique, si le modele elementaire contient une liste de 26 : C parametres externes non vide, tous les parametres de cette 27 : C liste sont obligatoires. Il n'y a pas de parametre facultatif. 28 : C La distinction obligatoires/facultatifs est artificiellement 29 : C conservee, pour que les informations concernant les parametres 30 : C externes soient restituees de maniere coherente avec celles 31 : C concernant les composantes des autres types de MCHAML 32 : C (informations restituees par un segment NOMID). 33 : C ATTENTION : si la temperature 'T ' fait partie des parametres, 34 : C elle en est separee car elle fait l'objet de variables dediees. 35 : C----------------------------------------------------------------------- 36 : -INC SMMODEL 37 : POINTEUR NOMID1.NOMID 38 : C----------------------------------------------------------------------- 39 : NBROBL=0 40 : NBRFAC=0 41 : SEGINI,NOMID 42 : IPNOMC=NOMID 43 : C 44 : IMODEL=IPMODL 45 : if(lnomid(14).eq.0) then 46 : return 47 : endif 48 : nomid1= lnomid(14) 49 : segact nomid1 50 : C 51 : NPARA=nomid1.lesobl(/2) 52 : IF (NPARA.GT.0) THEN 53 : C 54 : C Si la temperature 'T ' fait partie des parametres, elle est 55 : C declaree en tete de liste. 56 : C Cette condition est assuree par l'operateur MODE. 57 : C 58 : IF (NOMID1.LESOBL(1).EQ.'T ') THEN 59 : IF (NPARA.GT.1) THEN 60 : NBROBL=NPARA-1 61 : SEGADJ,NOMID 62 : DO 10 IP=1,NBROBL 63 : LESOBL(IP)=NOMID1.lesobl(IP+1) 64 : 10 CONTINUE 65 : ENDIF 66 : ELSE 67 : NBROBL=NPARA 68 : SEGADJ,NOMID 69 : DO 20 IP=1,NBROBL 70 : LESOBL(IP)=NOMID1.lesobl(IP) 71 : 20 CONTINUE 72 : ENDIF 73 : ENDIF 74 : C 75 : SEGDES NOMID1 76 : C 77 : RETURN 78 : END 79 : 80 : 81 :
© Cast3M 2003 - All rights reserved.
Disclaimer