[updated 6.May.2001]
SUBROUTINE ITRTAY (NUINTG,NDIM,NDMDOM,NBDLXC,NBDFXC,NBDLXL,NBDFXL
& ,NBDLXG,NBDFXG,NDOM,LGTABB,KELFCC,KELFCL,TAYINT)
Auteur : D.Martin (Mars 1992)
Derniere modification (D.Martin) le 24 Avril 1998
Calcul de la taille d'un terme interpole et des indicateurs de
calcul des fonctions de base et de leurs derivees pour cette terme
-- Argument d'entree --
NUINTG numero de terme
NDIM dimension d'espace
NDMDOM dimension du domaine de calcul
NBDLXC nombre max. de d.l. en colonne par element 'volumique'
NBDFXC nombre max. de d.l. en colonne par face d'element
NBDLXL nombre max. de d.l. en ligne par element 'volumique'
NBDFXL nombre max. de d.l. en ligne par face d'element
NBDLXG nombre max. de points par element 'volumique'
NBDFXG nombre max. de points par face d'element
-- Argument de sortie --
NDOM dimension des tableaux de derivees des fonctions de base
LGTABB( 3) LGJACO, longueur de la matrice jacobienne
( 4) LGJAJA, longueur de la matrice jacobienne inverse
multipliee par sa transposee
( 5) LGFCTC, longueur du tableau des fonctions de base pour
l'interpolation en colonne
( 6) LGFCTL, idem pour l'interpolation en ligne
( 8) LGDFCC, longueur du tableau des derivees des fonctions
de base pour l'interpolation en colonne
( 9) LGDFCL, idem pour l'interpolation en ligne
(10) LGDFCG, idem pour l'interpolation geometrique
KECFCC Indice de calcul des fonctions de base pour l'interp. en colonne
(1:1)='Y' ==> calcul des fonctions de base
(2:2)='Y' ==> calcul des derivees des fonctions de base
(3:3)='Y' ==> calcul des derivees secondes des fct. de base
(4:4)='C' ==> calculs selon l'interpolation en 'colonne'
'G' ==> calculs selon l'interpolation geometrique
(5:5)='Y' ==> on conserve les calculs en tous les points
de quadrature pour l'element suivant
(6:6)='Y' ==> implique le calcul de la matrice jacobienne dans
tout l'element(integrands contenant une derivee)
inutilise pour les calculs en dimension d'espace
KELFCL Indice de calcul des fonctions de base pour l'interp. en ligne
(i:i) , i=1,2,3 ==> cf. KELFCC
(4:4)='L' ==> calculs selon l'interpolation en 'ligne'
'G' ==> calculs selon l'interpolation geometrique
'C' ==> calculs selon l'interpolation 'colonne'
(j:j) , j=5,6 ==> cf. KELFCC
TAYINT taille de l'integrand comptee pour des inconnues scalaires
CHARACTER*(*) KELFCC,KELFCL
INTEGER NUINTG,NDIM,NDMDOM,NBDLXC,NBDFXC,NBDLXL,NBDFXL
& ,NBDLXG,NBDFXG,NDOM,LGTABB(*),TAYINT
Variables locales
INTEGER KC,INDEXC,KL,INDEXL
CALL ITRATR (NUINTG,NDIM,KC,INDEXC,KL,INDEXL)
NDOM = NDMDOM
IF (KL.EQ.-1) THEN
Cas d'un interpolant uni-ligne (terme interpole)
IF (KC.EQ.0) THEN
TAYINT = NBDFXC
LGTABB( 5) = NBDFXC
KELFCC(1:1)='Y'
ELSEIF (KC.EQ.1) THEN
KELFCC(2:2)='Y'
LGTABB( 3) = NDIM*NDIM
IF (INDEXC.EQ.0) THEN
TAYINT = NBDFXC
LGTABB( 8) = NBDFXC
LGTABB(10) = NBDFXG
ELSEIF (INDEXC.EQ.1) THEN
Derivees des fonctions de base dans tout l'element
NDOM = NDIM
KELFCC(6:6)='Y'
TAYINT = NBDLXC
LGTABB( 8) = NBDLXC
LGTABB(10) = NBDLXG
ENDIF
ENDIF
ENDIF
END !ItrTay