jpmm
C JPMM SOURCE CB215821 24/04/12 21:16:28 11897 SUBROUTINE JPMM * --------------------------------------------------------------------- * * ROUTINE JPMT * * --------------------------------------------------------------------- * Auteur : Nikola JERANCE * * Historique : * * 20/09/2022 - Première écriture (N. Jerance) * * * Descriptif : * * Le produit d'un MCHAML à une seule composante et des LIGNES d'une matrice, * la matrice est une LISTREEL normalement obtenue par MPMAGV. * Le résultat est une matrice représentée par une LISTREEL * * * ENTREES/SORTIES : * * (E) ILREE1 = Pointeur sur la liste de réels (matrice obtenue par MPMA) * (E) ICHAMJ = Pointeur sur J(x,y) en tant que MCHAML * (E) IMOD1 = Pointeur sur le modèle * (S) ILREE2 = Pointeur sur la nouvelle matrice * * --------------------------------------------------------------------- * ---------------------------------------------------------------------- * * 0 - DECLARATIONS ET IMPORTS * * ---------------------------------------------------------------------- IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) -INC PPARAM -INC CCOPTIO -INC CCGEOME -INC CCREEL -INC SMCOORD -INC SMELEME -INC SMLREEL -INC SMCHAML -INC SMMODEL -INC SMINTE SEGMENT INFO INTEGER INFELL(JG) ENDSEGMENT * WRITE(IOIMP,*) ' PARTIE 00 : LECTURE' IF (IERR.NE.0) RETURN IF (IERR.NE.0) RETURN * Ouverture du segment MMODEL MMODE1 = IPMODL SEGACT,MMODE1 * Contrôle du nombre de IMODEL : MODELE ELEMENTAIRE. On veut un modèle * simple, i.e. avec un seul IMODEL NBMOD = MMODE1.KMODEL(/1) IF (NBMOD .GT. 1) THEN SEGDES,MMODE1 RETURN ENDIF * Ouverture du segment IMODEL : MODELE ELEMENTAIRE IMODE1 = MMODE1.KMODEL(1) SEGACT,IMODE1 * Ouverture du segment MELEME IPT1 = IMODE1.IMAMOD SEGACT,IPT1 * Vérification que le maillage est un maillage simple, c-à-d avec un * seul type d'éléments IF (IPT1.LISOUS(/1) .NE. 0) THEN SEGDES,IPT1 SEGDES,IMODE1,MMODE1 RETURN ENDIF NBNN = IPT1.NUM(/1) NBELEM = IPT1.NUM(/2) * Récupération du segment SMINTE pour un MCHAML aux centres de * gravité et constants par éléments sur le type TRI3 IELTYP = IPT1.ITYPEL IF (IERR .NE. 0) THEN SEGDES,IPT1 SEGDES,IMODE1,MMODE1 RETURN ENDIF INFO = IPINF MINTE1 = INFO.INFELL(11) SEGACT,MINTE1 SEGSUP,INFO IF (IERR.NE.0) RETURN ICHAMA = 0 CALL JPMM1(ILREE,ICHAMJ,ILREE2,IMODE1,MINTE1,NBELEM) * On calcule les valeurs du champ par élément * WRITE(IOIMP,*) ' PARTIE FF : ECRITURE' RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales