openmm
C OPENMM SOURCE JC220346 16/03/24 21:15:12 8866 C SORMAT SOURCE JC220346 12/06/18 21:15:25 7403 ************************************************************************ * NOM : openmm.eso * DESCRIPTION : Ouverture d'un fichier au format MATRIX MARKET (.mm) * REFERENCES : - The Matrix Market Exchange Formats: Initial Design, * Boisvert R. F., Pozo R., Remington K. A. (Dec 1996) * - The Rutherford-Boeing Sparse Matrix Collection, * Duff I. S., Grimes R. G., Lewis G. L. (Sep 1997) ************************************************************************ * HISTORIQUE : 4/12/2012 : JCARDO : création de la subroutine * HISTORIQUE : * HISTORIQUE : ************************************************************************ * Prière de PRENDRE LE TEMPS DE COMPLÉTER LES COMMENTAIRES * en cas de modification de ce sous-programme afin de faciliter * la maintenance ! ************************************************************************ * APPELÉ PAR : sormat.eso ************************************************************************ & IVA1,IVA2,IVA3, & CVA1) IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) EXTERNAL LONG -INC PPARAM -INC CCOPTIO CHARACTER*(*) CHNOMF,CHTYPE,CHTITR,CVA1 CHARACTER*8 CHA8 * ==================== * OUVERTURE DU FICHIER * ==================== OPEN(UNIT = IOPER , & STATUS = 'UNKNOWN' , & IOSTAT = IOS , & FORM = 'FORMATTED' ) * ==================== * ÉCRITURE DE L'ENTETE * ==================== * Ligne d'entête (OBLIGATOIRE) WRITE(UNIT=IOPER,FMT='(A,A)') .'%%MatrixMarket ',CVA1 * Nom du programme (commentaire facultatif) WRITE(UNIT=IOPER,FMT='("%",/,A,/,A)') .'% PROGRAMME', .'% CASTEM/SORMAT' * Utilisateur (commentaire facultatif) CALL GIBNAM(CHA8) WRITE(UNIT=IOPER,FMT='("%",/,A,/,A)') .'% UTILISATEUR', * Date (commentaire facultatif) CALL GIBDAT(IJOUR,IMOIS,IANNEE) IANNEE=MOD(IANNEE,100)+2000 WRITE(UNIT=IOPER,FMT='("%",/,A,/,A,I2.2,A1,I2.2,A1,I4)') .'% DATE', .'% ',IJOUR,'/',IMOIS,'/',IANNEE * Type de contenu WRITE(UNIT=IOPER,FMT='("%",/,A)') .'% CONTENU' WRITE(UNIT=IOPER,FMT='(A,A)') * Titre (commentaire facultatif) WRITE(UNIT=IOPER,FMT='("%",/,A)') .'% TITRE' IF (LC.GT.0) THEN WRITE(UNIT=IOPER,FMT='(A,A)') . '% ',CHTITR(1:LC) ELSE WRITE(UNIT=IOPER,FMT='(A,A)') ENDIF * Nb de lignes et de colonnes + nb de valeurs non nulles si besoin IF (IVA3.EQ.0) THEN WRITE(IOPER,FMT='(I12,1X,I12)') IVA1,IVA2 ELSE WRITE(IOPER,FMT='(I12,2(1X,I12))') IVA1,IVA2,IVA3 ENDIF RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales