Télécharger cneq.eso

Retour à la liste

Numérotation des lignes :

cneq
  1. C CNEQ SOURCE SP204843 24/08/01 21:15:01 11973
  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. IF (IERR.NE.0) RETURN
  78. *
  79. * SI ICLE=0 (DEFAUT) --> TRANSFORMATION DU MCHAML EN CHPOINT
  80. * (AVEC SOMME)
  81. IF (ICLE.EQ.0) THEN
  82. CALL CHAMPO(IPCHE3,0,IPCHP2,IRET)
  83. CALL DTCHAM(IPCHE3)
  84. IF (IRET.EQ.1) THEN
  85. * ON ATTRIBUE UNE NATURE DISCRETE AU CHAMP RESULTANT
  86. MCHPOI = IPCHP2
  87. SEGACT MCHPOI*MOD
  88. JATTRI(1) = 2
  89. CALL ACTOBJ('CHPOINT ',IPCHP2,1)
  90. CALL ECROBJ('CHPOINT ',IPCHP2)
  91. ENDIF
  92. * SI ICLE=1 --> ON SORT LE MCHAML TEL QUEL
  93. ELSEIF (ICLE.EQ.1) THEN
  94. CALL ACTOBJ('MCHAML ',IPCHE3,1)
  95. CALL ECROBJ('MCHAML ',IPCHE3)
  96. ENDIF
  97.  
  98. END
  99.  
  100.  
  101.  

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