Télécharger cneq.eso

Retour à la liste

Numérotation des lignes :

cneq
  1. C CNEQ SOURCE FD218221 24/07/04 21:15:02 11957
  2. SUBROUTINE CNEQ
  3. *_______________________________________________________________________
  4. *
  5. * OPERATEUR DE CONVERSION DE CHAMPS VOLUMIQUES EN CHAMPS NODAUX
  6. *
  7. * ZOZO = CNEQ ('ELEM') MOD | CHP1 | (CAR1) ;
  8. * | CHM1 |
  9. *
  10. * MOD objet de type MMODEL
  11. * CHP1 objet de type CHPOINT
  12. * CHM1 objet de type MCHAML
  13. * CAR1 CHAMP PAR ELEMENT DE CARACTERISTIQUES
  14. * GEOMETRIQUES ET MATERIELLES, TYPE MCHAML (facultatif)
  15. * ZOZO CHPOINT (ou MCHAML si 'ELEM') donnant les VALEURS nodales
  16. *
  17. * Francois CAFFIN 1992
  18. * Francois DI PAOLA 2024 : ajout option 'ELEM'
  19. *_______________________________________________________________________
  20. *
  21. IMPLICIT INTEGER(I-N)
  22. IMPLICIT REAL*8(A-H,O-Z)
  23.  
  24. -INC PPARAM
  25. -INC CCOPTIO
  26. -INC SMCHAML
  27. -INC SMCHPOI
  28. -INC SMCOORD
  29. *
  30. CHARACTER*4 MCLE(1)
  31. DATA MCLE/'ELEM'/
  32. *
  33. * LECTURE DES MOTS CLEFS
  34. ICLE=0
  35. CALL LIRMOT(MCLE,1,ICLE,0)
  36.  
  37. IPCHE1=0
  38. IPCHE2=0
  39. IPCHPO=0
  40. IPCHP2=0
  41. IPCHE3=0
  42. *
  43. * LECTURE DU MODELE
  44. CALL LIROBJ('MMODEL ',IPMODL,1,IRT1)
  45. CALL ACTOBJ('MMODEL ',IPMODL,1)
  46. IF (IERR.NE.0) RETURN
  47. *
  48. * LECTURE D'UN CHPOINT OU D'UN MCHAML
  49. CALL LIROBJ('CHPOINT ',IPCHPO,0,IRT1)
  50. IF (IERR.NE.0) RETURN
  51. IF (IRT1.EQ.1) THEN
  52. CALL ACTOBJ('CHPOINT ',IPCHPO,1)
  53. ELSE
  54. CALL LIROBJ('MCHAML ',IPIN,1,IRT1)
  55. CALL ACTOBJ('MCHAML ',IPIN,1)
  56. IF (IERR.NE.0) RETURN
  57. CALL REDUAF(IPIN,IPMODL,IPCHE1,0,IR,KER)
  58. IF(IR .NE. 1) CALL ERREUR(KER)
  59. IF(IERR .NE. 0) RETURN
  60. ENDIF
  61. *
  62. * LECTURE EVENTUELLE D'UN CHAMP DE CARACTERISTIQUES
  63. CALL LIROBJ('MCHAML ',IPIN,0,IRT1)
  64. IF (IERR .NE. 0) RETURN
  65. IPCHE2=0
  66. IF (IRT1 .EQ. 1) THEN
  67. CALL ACTOBJ('MCHAML ',IPIN,1)
  68. CALL REDUAF(IPIN,IPMODL,IPCHE2,0,IR,KER)
  69. IF(IR .NE. 1) CALL ERREUR(KER)
  70. IF(IERR .NE. 0) RETURN
  71. ENDIF
  72. *
  73. * INTEGRATION DU MCHAML
  74. SEGACT,MCOORD
  75. CALL CNEQP(IPMODL,IPCHE1,IPCHPO,IPCHE2,IPCHE3,IRET)
  76. SEGDES,MCOORD
  77. *
  78. * SI ICLE=0 (DEFAUT) --> TRANSFORMATION DU MCHAML EN CHPOINT
  79. * (AVEC SOMME)
  80. IF (ICLE.EQ.0) THEN
  81. CALL CHAMPO(IPCHE3,0,IPCHP2,IRET)
  82. CALL DTCHAM(IPCHE3)
  83. IF (IRET.EQ.1) THEN
  84. * ON ATTRIBUE UNE NATURE DISCRETE AU CHAMP RESULTANT
  85. MCHPOI = IPCHP2
  86. SEGACT MCHPOI*MOD
  87. JATTRI(1) = 2
  88. CALL ACTOBJ('CHPOINT ',IPCHP2,1)
  89. CALL ECROBJ('CHPOINT ',IPCHP2)
  90. ENDIF
  91. * SI ICLE=1 --> ON SORT LE MCHAML TEL QUEL
  92. ELSEIF (ICLE.EQ.1) THEN
  93. CALL ACTOBJ('MCHAML ',IPCHE3,1)
  94. CALL ECROBJ('MCHAML ',IPCHE3)
  95. ENDIF
  96.  
  97. END
  98.  
  99.  

© Cast3M 2003 - Tous droits réservés.
Mentions légales