C SIMUL0 SOURCE PV 11/02/18 21:15:21 6875 SUBROUTINE SIMUL0 ************************************************************************ * * S I M U L 0 * ----------- * * FONCTION: * --------- * * INITIALISATION D'OBJETS * (CALCUL DE VIBRATIONS - METHODE "SIMULTANE") * * MODE D'APPEL: * ------------- * * CALL SIMUL0 * * PARAMETRES: (E)=ENTREE (S)=SORTIE * ----------- * * IPTTA ENTIER (S) ) * IPTTB ENTIER (S) ) * IPTABV ENTIER (S) ) * IPVV ENTIER (S) )) VOIR LES DEFINITIONS DES COMMUNS. * IPVTKV ENTIER (S) ) * IPKVV ENTIER (S) ) * * COMMUN "CLANCZ": * ---------------- * * NB: LES NOMBRES "0", "1" ET "2" REPRESENTENT LES NUMEROS DE TROIS * ITERATIONS CONSECUTIVES: * "1" INDICE COURANT, "0" INDICE PRECEDENT, "2" INDICE SUIVANT". * * CI-DESSOUS, |K| DESIGNE LA MATRICE DE RIGIDITE, |M| LA MATRICE * MASSE, ET "V" UN VECTEUR DE LANCZOS. * * A1 REEL DP 1ER COEFFICIENT DE LA FORMULE DE LANCZOS * (SOUVENT APPELE "ALPHA") * = V1.|M|.V1 * B1 REEL DP 2EME COEFFICIENT DE LA FORMULE DE LANCZOS * (SOUVENT APPELE "BETA") * = V0.|M|.V1 * IPKVV ENTIER POINTEUR SUR LA LISTE DES PRODUITS "|K|.V" * (OBJET 'LISTCHPO'). * IPMV1 ENTIER POINTEUR SUR LE 'CHPOINT' |M|.V1 * IPV1 ENTIER POINTEUR SUR LE VECTEUR DE LANCZOS "V1" * D'INDICE "NUMV" (OBJET 'CHPOINT'). * IPV0 ENTIER POINTEUR SUR LE VECTEUR DE LANCZOS "V0" * CALCULE JUSTE AVANT "V1" (OBJET 'CHPOINT'). * IPVTKV ENTIER POINTEUR SUR LA LISTE DES PRODUITS "V.|K|.V" * (OBJET 'LISTREEL'). * IPVV ENTIER POINTEUR SUR LA LISTE DES VECTEURS DE LANCZOS * CREES (OBJET 'LISTCHPO'). * NOMBRV ENTIER NOMBRE DE VECTEURS DE LANCZOS "V" QUE L'ON VEUT * CALCULER, EN FONCTION DU NOMBRE DE MODES PROPRES * DEMANDES PAR L'UTILISATEUR. * NUMV ENTIER NUMERO DU VECTEUR DE LANCZOS "V" QUE L'ON EST * EN TRAIN DE CALCULER. * NUMV1 ENTIER = NUMV - 1 * S1 REEL DP SIGNE DE "V1.|K|.V1". * S0 REEL DP SIGNE DE "V0.|K|.V0". * * COMMUN "CSIMUL": * ---------------- * * IPDIAG ENTIER POINTEUR SUR LA 'RIGIDITE' REPRESENTANT LA * MATRICE DIAGONALE DES SIGNES. * IPTABV ENTIER POINTEUR SUR LA TABLE DES VECTEURS DE LANCZOS * INDICES PAR DES POINTS. * IPTRID ENTIER POINTEUR SUR LA 'RIGIDITE' REPRESENTANT LA * MATRICE TRIDIAGONALE SYMETRISEE. * IPTTA ENTIER POINTEUR DU 'LISTREEL' CONTENANT LA DIAGONALE * DE LA MATRICE TRIDIAGONALE NON SYMETRIQUE ISSUE * DE L'ALGORITHME DE LANCZOS. * IPTTB ENTIER POINTEUR DU 'LISTREEL' CONTENANT LA * SOUS-DIAGONALE DE LA MATRICE TRIDIAGONALE NON * SYMETRIQUE. * W2SHIF REEL DP PULSATION AU CARRE DE DECALAGE DE LA MATRICE DE * RIGIDITE DANS TOUT LE DEROULEMENT DE LA METHODE * "SIMULTANE". * * AUTEUR, DATE DE CREATION: * ------------------------- * * PASCAL MANIGOT 19 AVRIL 1985 * * LANGAGE: * -------- * * ESOPE + FORTRAN77 * ************************************************************************ * IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) -INC SMLREEL -INC SMLCHPO -INC SMTABLE * * REGOUPEMENT DE RENSEIGNEMENTS POUR LES SOUS-PROGRAMMES "LANCZ.": COMMON/CLANCZ/ A1,B1,S0,S1,NOMBRV,NUMV,NUMV1,IPV0,IPV1 & ,IPMV1,IPVV,IPKVV,IPVTKV,IPLMOX,IPLMOY, & IVEV1, IVEMV1,ivev0,ipla,iplb,iplc REAL*8 A1,B1,S0,S1 * * REGROUPEMENT D'INFORMATIONS POUR LES SOUS-PROGRAMMES "SIMUL.": COMMON/CSIMUL/ W2SHIF,IPTTA,IPTTB,IPTABV,IPTRID,IPDIAG REAL*8 W2SHIF * * SUITE DES "V": N1 = 0 SEGINI,MLCHPO IPVV = MLCHPO SEGDES,MLCHPO * SUITE DES "VT.K.V": JG=0 SEGINI,MLREEL IPVTKV = MLREEL SEGDES,MLREEL * SUITE DES "K.V": N1 = 0 SEGINI,MLCHPO IPKVV = MLCHPO SEGDES,MLCHPO * * DIAGONALE DE LA MATRICE TRIDIAGONALE NON SYMETRIQUE: JG=0 SEGINI,MLREEL IPTTA = MLREEL SEGDES,MLREEL * SOUS-DIAGONALE DE LA MATRICE TRIDIAGONALE NON SYMETRIQUE: JG=0 SEGINI,MLREEL IPTTB = MLREEL SEGDES,MLREEL * * TABLE DES "V" INDICES PAR DES POINTS: CALL CRTABL(MTABLE) IPTABV = MTABLE SEGDES,MTABLE * END