hbmdpp
C HBMDPP SOURCE FANDEUR 22/05/02 21:15:22 11359 C======================================================================= * Calcule la derivee du terme DPsiPsi = (Psi*Psi')/(Psi'*Psi) * ou: Psi = (L(o)In)*X = Psix*X C======================================================================= IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) REAL*8 X(NT),PHI(NT),PSI(NT),LV(NT),DPsiPsi(NT,NT) REAL*8 PsiV,PsiPsi,BB REAL*8 PSIX(NT,NT),PEXSI(NT,NT),PEXV(NT,NT),Ax(NT,NT),MUX(NT,NT) C Fonctions BLAS/LAPACK c Nombre d'harmoniques NHBM = (NT/NDDL - 1)/2 c Initialisation DO I = 1,NT DO J = 1,NT DPsiPsi(I,J) = 0.D0 PSIX(I,J) = 0.D0 ENDDO ENDDO c Calcul des vecteurs PSI,LV c Produits scalaires c Produits externes c Construction de Psix*psiv DO J=2,2*NHBM,2 DO I=1,NDDL BB = PsiV*J/2.D0 PSIX(NDDL*(1+(J-2))+I,NDDL*(1+(J-1))+I) = BB PSIX(NDDL*(1+(J-1))+I,NDDL*(1+(J-2))+I) = -BB ENDDO ENDDO * Construction de Ax = I-(2/psipsi)*PEXSI DO I = 1,NT DO J = 1,NT Ax(I,J) = (-2.D0/PsiPsi)*PEXSI(I,J) IF (I.EQ.J) THEN AX(I,J) = AX(I,J) + 1.D0 ENDIF ENDDO ENDDO c Produit MUX = Ax*Psix*psiv c Construction de DPsiPsi DO I = 1,NT DO J = 1,NT DPsiPsi(I,J) = (MUX(I,J)-PEXV(I,J))/PsiPsi ENDDO ENDDO c return END
© Cast3M 2003 - Tous droits réservés.
Mentions légales