[updated 13.Jul.1997]
Librairie ccalgre > Fichier noyfou.f |
SUBROUTINE NOYFOU (NDIM,NORMAP,NORMAM,LAMBDA,FGREEN,G,GNP
& ,NIVIMP,IMPFCH)
Auteur : D.Martin (Decembre 1987)
Derniere modification (D.Martin) le 12 Fev. 90
Calcul des noyaux des Green pour un couple de point (M,P) dans le cas
du couplage Fourier dans le cas d'une fonction de Green complexe
-- Arguments d'entree --
NDIM dimension d'espace
NORMAP normale en P a la premiere surface (de representation integrale)
NORMAM normale en M a la surface de couplage
LAMBDA Constante de Fourier
FGREEN valeurs de la fct. de green et de ses derivees pour un couple (M,P)
NIVIMP,IMPFCH: niveau et unite logique d'impression
-- Arguments de sortie --
G = dG/dnm + lambda*G au point (M,P)
GNP = d2G/dnmdnp + lambda*dG/dnp au point (M,P)
-- Notation : m point sur la frontiere de couplage sigma
p point sur la frontiere portant la representation integrale
-- Remarque importante : Rangement du tableau FGREEN
(1) : valeur de la fonction de Green
(2) a (1+NDIM) : derivees par rapport a M : dG/dxm,dG/dym,(dG/dzm)
(2+NDIM) a (1+2*NDIM) : derivees par rapport a P : dG/dxp,dG/dyp,(dG/dzp)
(2+2*NDIM) a la fin du tableau : derivees secondes croisees dans l'ordre
d2G/dxmdxp,d2G/dxmdyp,(d2G/dxmdzp)
d2G/dymdxp,d2G/dymdyp,(d2G/dymdzp)
(d2G/dzmdxp,d2G/dzmdyp,(d2G/dzmdzp))
INTEGER NDIM,NIVIMP,IMPFCH
COMPLEX LAMBDA,G,GNP,FGREEN(*)
REAL NORMAP(*),NORMAM(*)
INTEGER INDER,IDIM,JDIM
-- Calcul de (d/dnm+lambda)d/dnp(G(M,P))
Calcul pour les derivees secondes croisees
INDER=2+NDIM+NDIM
GNP=0.
DO 2 IDIM=1,NDIM
G=0.
DO 1 JDIM=1,NDIM
G=G+FGREEN(INDER)*NORMAP(JDIM)
INDER=INDER+1
1 CONTINUE
GNP=GNP+NORMAM(IDIM)*G
2 CONTINUE
Calcul pour les derivees premieres par rapport a P
INDER=2+NDIM
G=0.
DO 3 IDIM=1,NDIM
G=G+FGREEN(INDER)*NORMAP(IDIM)
INDER=INDER+1
3 CONTINUE
GNP=GNP+LAMBDA*G
-- Calcul de (d/dnm+lambda)G(M,P)
Calcul pour les derivees premieres par rapport a M
G=0.
INDER=2
DO 4 IDIM=1,NDIM
G=G+FGREEN(INDER)*NORMAM(IDIM)
INDER=INDER+1
4 CONTINUE
Calcul pour la fonction de Green
G=G+FGREEN(1)*LAMBDA
IF (NIVIMP.LE.2) RETURN
WRITE (IMPFCH,1000) G,GNP,(NORMAM(IDIM),IDIM=1,NDIM)
1000 FORMAT(T6,'*NoyFou* G = ',SS,E9.3,SP,E9.3,'*i , Gn= ',SS,E9.3
*,SP,E9.3,'*i , Normale sigma: ',SS,3E10.4)
END !NoyFou
noyfou est appelé dans (4 procédures)