1 : C INTGRA SOURCE PV 09/03/12 21:25:26 6325
2 :
3 : C---------------------------------------------------------------------
4 : C Integration d'une composante d'un MCHAML sur le domaine ou elle est
5 : C definie. Le resultat est soit global, soit local (i.e. sur chaque
6 : C element, option ELEM).
7 : C-------------------------
8 : C Phrase d'appel gibiane :
9 : C-------------------------
10 : C RESU1 = INTG ('ELEM') MODE1 CHAM1 ( MOT2 ) ( CHAM2 )
11 : C-------------------------
12 : C Operandes et resultat :
13 : C-------------------------
14 : C ELEM : Option precisant que le resultat est donne elt par elt (MOT)
15 : C MODE1 : Modele de calcul (MMODEL)
16 : C CHAM1 : Champ par element (MCHAML)
17 : C MOT2 : Nom de la composante a integrer (MOT, facultatif si 1 comp.)
18 : C CHAM2 : Champ par element de CARACTERISTIQUE (MCHAML, facultatif)
19 : C RESU1 : FLOTTANT si l'option 'ELEM' n'est pas precisee,
20 : C Champ par element (objet MCHAML) sinon.
21 : C---------------------------------------------------------------------
22 :
23 : SUBROUTINE INTGRA
24 :
25 : IMPLICIT INTEGER(I-N)
26 : IMPLICIT REAL*8 (A-H,O-Z)
27 :
28 : -INC CCOPTIO
29 : -INC SMCHAML
30 :
31 : CHARACTER*4 MACOMP,MOT1
32 :
33 : C- Lecture eventuelle du mot cle 'ELEM'
33 : CALL LIRMOT('ELEM',1,IELEM,0)
34 : IF (IERR.NE.0) RETURN
35 :
36 : C- Lecture du modele
36 : CALL LIROBJ('MMODEL',IPMODL,1,IRET)
37 : IF (IERR.NE.0) RETURN
38 :
39 : C- Lecture du MCHAML
39 : CALL LIROBJ('MCHAML',IPCHB1,1,IRET)
40 : IF (IERR.NE.0) RETURN
41 :
42 : C- Lecture eventuelle du nom de la composante du MCHAML a considerer
42 : CALL LIRCHA(MACOMP,0,IRT3)
43 : IF (IERR.NE.0) RETURN
44 :
45 : C- Lecture facultative du MCHAML de CARACTERISTIQUES
45 : CALL LIROBJ('MCHAML',IPCHE2,0,IRET)
46 : IF (IERR.NE.0) RETURN
47 :
48 : C- Dans le cas ou le MCHAML a plus d'une composante
49 : C- on impose la donnee du nom de la composante a traiter.
50 : IF (IRT3.EQ.0) THEN
51 : MCHELM=IPCHB1
52 : SEGACT,MCHELM
53 : N1=ICHAML(/1)
54 : DO i=1,N1
55 : MCHAML=ICHAML(I)
56 : SEGACT,MCHAML
57 : N2=IELVAL(/1)
58 : SEGDES,MCHAML
59 : IF (N2.GT.1) THEN
60 : MOTERR(1:8)=' MCHAML '
61 : INTERR(1)=N2
61 : CALL ERREUR(761)
62 : SEGDES,MCHELM
63 : RETURN
64 : ENDIF
65 : ENDDO
66 : SEGDES,MCHELM
67 : ENDIF
68 :
69 : C- Dans le cas ou le nom de la composante du MCHAML
70 : C- a considerer est precise, on l'extrait du MCHAML.
71 : IPCHE1=IPCHB1
72 : IF (IRT3.NE.0) THEN
73 : MOT1='SCAL'
73 : CALL EXCOC1(IPCHB1,MACOMP,IPCHE1,MOT1,0)
74 : IF (IERR.NE.0) RETURN
75 : ENDIF
76 :
77 : C- Calcul de l'integrale
77 : CALL INTGCA(IPMODL,IPCHE1,IPCHE2,IELEM,IRET,XRET,IPINT)
78 : IF (IERR.NE.0) RETURN
79 :
80 : C- Ecriture du resultat et menage
81 : IF (IPINT.EQ.0) THEN
81 : CALL ECRREE(XRET)
82 : ELSE
82 : CALL ECROBJ('MCHAML',IPINT)
83 : ENDIF
83 : IF (IRT3.NE.0) CALL DTCHAM(IPCHE1)
84 :
85 : RETURN
86 : END
87 :
88 :
89 :
90 :
91 :
© Cast3M 2003 - All rights reserved.
Disclaimer