C KP SOURCE CB215821 23/07/12 21:15:07 11704 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 PPARAM -INC CCOPTIO -INC SMCOORD C CHARACTER*4 MOFLAM(1) CHARACTER*4 MOASYM(1) DATA MOFLAM/'FLAM'/ DATA MOASYM/'ASYM'/ C C IPMODL=0 IPCHP=0 IPRIG=0 IFLAM=0 ICHA=0 IDISS=0 segact mcoord C CALL LIRMOT(MOFLAM,1,IFLAM,0) IF (IERR.NE.0) RETURN C CALL LIRMOT(MOASYM,1,IDISS,0) IF (IERR.NE.0) RETURN C CALL LIROBJ('MMODEL',IPMODL,1,IRT1) IF (IERR.NE.0) RETURN CALL ACTOBJ('MMODEL ',IPMODL,1) CALL LIROBJ('MCHAML',IPIN,0,IRT2) IF (IERR.NE.0) RETURN IF(IRT2.EQ.1) THEN CALL ACTOBJ('MCHAML ',IPIN,1) CALL REDUAF(IPIN,IPMODL,IPCHP,0,IR,KER) IF(IR .NE. 1) CALL ERREUR(KER) IF(IERR .NE. 0) RETURN ICHA=1 ELSE CALL LIROBJ('CHPOINT ',IPCHP,0,IRT3) IF (IERR.NE.0) RETURN IF(IRT3.EQ.0) GO TO 10 CALL ACTOBJ('CHPOINT ',IPCHP,1) 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 END