C KP SOURCE CHAT 06/08/24 21:48:35 5529 SUBROUTINE KP C_______________________________________________________________________ C C OPERATEUR KP C C Construction de la matrice des pressions associees à la linearisation C des actions de pression sur la géometrie deformée. C C C Nouvelle syntaxe: C _________________ * * 1ere option C C RIG1 =KP MODL1 PRES1 ('FLAM') ('ASYM'); C C MODL1 = objet modele de type MMODEL C C PRES1=MCHAML ou CHPOINT de PRESSION C C 'FLAM' = MOT-CLE N{CESSAIRE SI L'ON VEUT UTILISER LA MATRICE C POUR FAIRE UNE ANALYSE DE FLAMBAGE. C C RIG1=Matrice KP de sous type RIGIDITE * * 2ème option * * RIG1=KP MODL1 RG (VEC1) ('ASYM') * * MOD1 : MODELE DE CALCUL, TYPE MMODEL * RG : COEFFICIENT MULTIPLICATIF DE RIGIDITE * VEC1 : vecteur (type point) qui definit le sens de * la "pesanTeur"(facultatif). S'il n'est pas * fourni vec1 est consideré suivant la normale * à chaque élément. * ASYM : mot clé pour avoir la matrice dissymetrique * * la deuxième version CALCULE LA MATRICE DE RAIDEUR LIEE A LA * VARIATION DE PRESSION DUE AU MOUVEMENT VERTICAL DANS UN CHAMP DE * PESANTEUR (on peut l'utiliser dans d'autres cas aussi, p.ex. plaque * sur sol elastique) C C ces matrices sont en general non symetriques, mais leur combinaison peut c etre symetrique (p.ex. en cas de pression hydrostatique). C'est pourquoi c nous voulons avoir la possibilité de construire les matrices symetriques c ou disymetriques. C C C CODE COMBESCURE JANV 87 C C Passage aux nouveaux CHAMELEMs par P.DOWLATYARI le 5/4/91 C C Ajout de la 2ème option I. Politopoulos Aout 1995 C_______________________________________________________________________ C IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) C -INC CCOPTIO C C C IPMODL=0 IPCHP=0 IPRIG=0 IFLAM=0 ICHA=0 IDISS=0 C CALL LIRMOT('FLAM',1,IFLAM,0) IF (IERR.NE.0) CALL ERREUR(7) C CALL LIRMOT('ASYM',1,IDISS,0) IF (IERR.NE.0) CALL ERREUR(7) C CALL LIROBJ('MMODEL',IPMODL,1,IRT1) IF (IERR.NE.0) RETURN CALL LIROBJ('MCHAML',IPCHP,0,IRT2) IF (IERR.NE.0) RETURN IF(IRT2.EQ.1) THEN ICHA=1 ELSE CALL LIROBJ('CHPOINT ',IPCHP,0,IRT3) IF (IERR.NE.0) RETURN IF(IRT3.EQ.0) GO TO 10 ENDIF C CALL KPRES(IPMODL,IPCHP,ICHA,ICONV,IFLAM,IDISS,IPRIG,IRET) GOTO 20 C *** matrice associee à un gradient de pression imposée 10 CONTINUE CALL LIRREE(XRG,1,IRET) IF (IRET.EQ.0) GOTO 666 CALL LIROBJ('POINT',IPOIN1,0,IRET2) CALL KGRAV1 (IPMODL,XRG,IPOIN1,IPRIG,IRET,IDISS,IFLAM) * * ecriture de la rigidite 20 CONTINUE IF (IRET.EQ.1) THEN CALL ECROBJ('RIGIDITE',IPRIG) ENDIF 666 CONTINUE RETURN END