Download calp.eso

Back to the list

   1 : C CALP      SOURCE    PV        09/03/12    21:16:14     6325           
   2 :       SUBROUTINE CALP
   3 : *
   4 : *
   5 : *     AUTEUR : J.BRUN (AVRIL 90)
   6 : *
   7 : *-----------------------------------------------------------
   8 : *     BUT :
   9 : *        ENTETE DE L'OPERATEUR SERVANT A CALCULER LES CONTRAINTES
  10 : *        OU LES DEFORMATIONS EN PEAU OU AU PLAN MOYEN
  11 : *
  12 : *
  13 : *----------------------------------------------------------
  14 :       IMPLICIT INTEGER(I-N)
  15 :       IMPLICIT REAL*8 (A-H,O-Z)
  16 : *
  17 : -INC SMCHAML
  18 : -INC CCOPTIO
  19 : *
  20 :       CHARACTER*4 LMOT(3),LOC
  21 :       DATA        LMOT/'INFE','MOYE','SUPE'/
  22 :       NBMOT=3
  23 : *----------------------------------------------------------
  24 : *
  25 : *        LECTURE DES PARAMETRES EN ENTREE
  26 : *
  27 : *----------------------------------------------------------
  28 : *
  29 : *        LECTURE DE 2 CHAMELEMS QUELCONQUES
  30 : *
  30 :       CALL LIROBJ('MCHAML',IPTS1,1,IOK)
  31 :       IF (IOK.EQ.0) RETURN
  31 :       CALL LIROBJ('MCHAML',IPTS2,1,IOK)
  32 :       IF (IOK.EQ.0) RETURN
  33 : *
  34 : *        DETECTION DE LA PRESENCE D'UN MCHAML  SCALAIRE  (T)
  35 : *               pour option  T  --->  TINF T TSUP  
  36 :       ITEMP=0
  37 :       MCHELM=IPTS1
  38 :       SEGACT MCHELM
  39 :       IF (TITCHE(1:12).EQ.'SCALAIRE    ') THEN
  40 :         ITEMP=IPTS1
  41 :             SEGDES MCHELM
  42 :         GOTO 1000
  43 :       ENDIF
  44 :       SEGDES MCHELM
  45 :       MCHELM=IPTS2
  46 :       SEGACT MCHELM
  47 :       IF (TITCHE(1:12).EQ.'SCALAIRE    ') THEN
  48 :         ITEMP=IPTS2
  49 :             SEGDES MCHELM       
  50 :         GOTO 1000
  51 :       ENDIF
  52 :       SEGDES MCHELM      
  53 :                
  54 : *
  55 : *        DETECTION DE LA PRESENCE D'UN MCHAML DE DEFORMATION
  56 : *
  57 :       IDEFO=0
  58 :       MCHELM=IPTS1
  59 :       SEGACT MCHELM
  60 :       IF (TITCHE(1:12).EQ.'DEFORMATIONS') THEN
  61 :         IDEFO=1
  62 :       ENDIF
  63 :       SEGDES MCHELM
  64 :       MCHELM=IPTS2
  65 :       SEGACT MCHELM
  66 :       IF (TITCHE(1:12).EQ.'DEFORMATIONS') THEN
  67 :         IDEFO=1
  68 :       ENDIF
  69 :       SEGDES MCHELM
  70 :       
  71 : *
  72 :       IF (IDEFO.EQ.1) THEN
  72 :         CALL RNGCHA(IPTS1,IPTS2,'DEFORMATIONS','CARACTERISTIQUES',
  73 :      1              IPTR1,IPTR2)
  74 :       ELSE
  74 :         CALL RNGCHA(IPTS1,IPTS2,'CONTRAINTES','CARACTERISTIQUES',
  75 :      1              IPTR1,IPTR2)
  76 :       ENDIF
  77 :       IF(IERR.NE.0)GOTO 1000
  78 : *
  79 : *    ... CHAMELEM tensoriel ...
  80 : *
  81 :       IF(IPTR1.EQ.0) THEN
  82 :          MOTERR(1:16)='CONTRAINTES     '
  82 :          CALL ERREUR(291)
  83 :          RETURN
  84 :       ENDIF
  85 : *
  86 : *    ... CHAMELEM DE CARACTERISTIQUES ...
  87 : *
  88 :       IF(IPTR2.EQ.0) THEN
  89 :          MOTERR(1:16)='CARACTERISTIQUES'
  89 :          CALL ERREUR(291)
  90 :          RETURN
  91 :       ENDIF
  92 : *
  93 : *     ... MODELE ...
  94 : *
  94 :       CALL LIROBJ('MMODEL',IPTR3,1,IOK)
  95 :       IF (IERR.NE.0) GOTO 1000
  96 : *
  97 : *    ... PLAN DE SORTIE DES RESULTATS ...
  98 : *
  99 :       LOC='MOYE'
  99 :       CALL LIRMOT(LMOT,NBMOT,ILOC,0)
 100 :       IF (ILOC.NE.0) LOC=LMOT(ILOC)
 101 : *
 102 : *    ... Le calcul lui-même ...
 103 : *
 104 :       IF (IDEFO.EQ.1) THEN
 104 :           CALL CALP2(IPTR1,IPTR2,IPTR3,LOC,IPTR)
 105 :       ELSE
 105 :           CALL CALP1(IPTR1,IPTR2,IPTR3,LOC,IPTR)
 106 :       ENDIF
 107 : *
 108 : *    ... Sortie du résultat ...
 109 : *
 109 :       IF(IERR.EQ.0) CALL ECROBJ('MCHAML',IPTR)
 110 :       RETURN 
 111 : 1000  CONTINUE
 112 : 
 113 : *   projection d un champ de temperature calcule sur un massif
 114 : *       sur des coques  en TINF     T   et TSUP 
 115 : *
 116 : *     Lecture du modele de coque.
 117 : *
 117 :       CALL LIROBJ('MMODEL',IPMODE,1,IRET)
 118 :       IF (IRET.EQ.0.OR.IERR.NE.0) THEN
 119 :         RETURN
 120 :       ENDIF
 121 : C  on verifie que c est bien un modele de coques 
 122 : 
 123 :       
 124 : C   identification  du champ original de temperature et des
 125 : C                     caracteristiques      
 126 :       IPCHT=itemp
 127 : C        
 128 :       if(ipcht.eq.ipts1) then
 129 :       ipche= ipts2
 130 :       else
 131 :       ipche=ipts1 
 132 :       endif
 133 :       
 133 :       call prot(ipmode,ipcht,ipche,iptr) 
 133 :       IF(IERR.EQ.0) CALL ECROBJ('MCHAML',IPTR)      
 134 : *      
 135 :       return 
 136 :       END
 137 :  
 138 :  
 139 :  
 140 :  
 141 :  
 142 :  

© Cast3M 2003 - All rights reserved.
Disclaimer