intval
C INTVAL SOURCE PB245956 20/12/21 21:15:07 10747 c SUBROUTINE INTVAL(IPMASS,IPSOLU,FREINF,FRESUP,IBASS,IHAUT C $ ,LIMAGE,IPRIG1,IPRIG2,LMULT) ************************************************************************ * * I N T V A L * ----------- * * SOUS-PROGRAMME ASSOCIE A L'OPTION "INTERVALLE" DE L'OPERATEUR * "VIBRATION". * * FONCTION: * --------- * * DETERMINER TOUS LES MODES PROPRES DE FREQUENCES CONTENUES DANS UN * INTERVALLE DONNE. * * PHRASE D'APPEL (EN GIBIANE): * ---------------------------- * * |BASSE| * MODES = VIBRATION INTERVALLE INF SUP (| | NBRE) RIGID MASSE ; * |HAUTE| * * LES PARENTHESES INDIQUANT DES ARGUMENTS FACULTATIFS. * * OPERANDES ET RESULTATS: * ----------------------- * * INF 'FLOTTANT' BORNE INFERIEURE DE L'INTERVALLE DE * FREQUENCES. * SUP 'FLOTTANT' BORNE SUPERIEURE DE L'INTERVALLE DE * FREQUENCES. * BASSE 'MOT ' MOT-CLE INDIQUANT QUE L'ON NE VEUT QUE LES * "NBRE" PLUS BASSES FREQUENCES DANS * L'INTERVALLE. * HAUTE 'MOT ' MOT-CLE INDIQUANT QUE L'ON NE VEUT QUE LES * "NBRE" PLUS HAUTES FREQUENCES DANS * L'INTERVALLE. * NBRE 'ENTIER ' NOMBRE LIMITE DE FREQUENCES DEMANDEES DANS * L'INTERVALLE. * RIGID 'RIGIDITE' MATRICE DE RIGIDITE (SOUS-TYPE 'RIGIDITE'). * MASSE 'RIGIDITE' MATRICE MASSE (SOUS-TYPE 'MASSE'). * MODES 'SOLUTION' ENSEMBLE DES MODES PROPRES CALCULES. * * LEXIQUE: (ORDRE ALPHABETIQUE) * -------- * * FREINF REEL DP BORNE INFERIEURE DE L'INTERVALLE DE FREQUENCES. * FRESUP REEL DP BORNE SUPERIEURE DE L'INTERVALLE DE FREQUENCES. * IPMASS ENTIER POINTEUR DE L'OBJET "MASSE". * IPRIGI ENTIER POINTEUR DE L'OBJET "RIGID". * IPSOLU ENTIER POINTEUR DE L'OBJET "MODES". * JEVEUX ENTIER NOMBRE DE 'FLOTTANT' QUE JE VEUX LIRE. * MOPTIO ENTIER CONTIENT LA CHAINE DE CARACTERES 'BASS' OU * 'HAUT'. * NBFREQ ENTIER NOMBRE MAXIMUM DE FREQUENCES PROPRES A TROUVER. * * AUTEUR, DATE DE CREATION: * ------------------------- * * PASCAL MANIGOT 24 DECEMBRE 1984 * PASCAL BOUDA DECEMBRE 2020 : sortie du pretraitement * (analyse des matrices) * LANGAGE: * -------- * * FORTRAN77 + EXTENSION: DECLARATION REAL*8 * ************************************************************************ $ LIMAGE,IPMASS,IPRIGI,LMULT) * IMPLICIT INTEGER(I-N) -INC PPARAM -INC CCOPTIO * PARAMETER (INFINI = 9999) REAL*8 XMINIM PARAMETER (XMINIM = 0.D0) * REAL*8 FREINF,FRESUP * CHARACTER*(4) MOPTIO LOGICAL LIMAGE, LMULT IF(IBASS.NE.0) THEN MOPTIO = 'BASS' NBFREQ = IBASS ELSE IF(IHAUT.NE.0) THEN MOPTIO = 'HAUT' NBFREQ = IHAUT ELSE MOPTIO = 'BASS' NBFREQ = INFINI ENDIF IF(NBFREQ.LT.1) NBFREQ=1 IF(.NOT.LIMAGE)THEN IF(FREINF.LT.XMINIM)THEN REAERR(1) = XMINIM REAERR(2) = FREINF NUMERR = 191 ENDIF IF(FRESUP.LT.XMINIM)THEN REAERR(1) = XMINIM REAERR(2) = FRESUP NUMERR = 191 ENDIF IF (IERR .NE. 0) RETURN ENDIF *pb dec20: le travail est desormais fait en amont (cf vibrat.eso) ** VERIFICATION DES SOUS-TYPES DES 'RIGIDITE': * CALL WHICH1 (IPRIG1,IPRIG2,IPRIGI,IPMASS) * IF (IERR .NE. 0) RETURN * * -- DETERMINATION DES MODES PROPRES -- * . LIMAGE,LMULT) * * END
© Cast3M 2003 - Tous droits réservés.
Mentions légales