Télécharger fdebit.eso

Retour à la liste

Numérotation des lignes :

fdebit
  1. C FDEBIT SOURCE MB234859 25/09/08 21:15:23 12358
  2.  
  3. C______________________________________________________________________
  4. C
  5. C CALCULE LES FORCES DUES A UN DEBIT IMPOSE SUR UNE FRONTIERE DE
  6. C MASSIF ( INSPIRE DE FPMASS )
  7. C
  8. C ENTREES :
  9. C ---------
  10. C
  11. C IPCHE1 CHPOINT CONTENANT LES VALEURS DES DEBITS AUX NOEUDS
  12. C DE LA FACE D UN MASSIF
  13. C IPMODL OBJET MMODEL SUR LEQUEL S APPLIQUE LA CONDITION DE
  14. C DEBIT
  15. C MOT1 NOM A DONNER AU RESULTAT SI PAS ' '
  16. C
  17. C SORTIES :
  18. C ---------
  19. C
  20. C IPTFP CHPOINT DES FORCES NODALES EQUIVALENTES
  21. C IRETOK 1 OU 0 SUIVANT SUCCES OU NON
  22. C
  23. C Passage aux nouveaux CHAMELEM par JM CAMPENOB LE 06/91
  24. C
  25. C_______________________________________________________________________
  26.  
  27. SUBROUTINE FDEBIT(IPCHE1,IPMODL,IPTFP,MOT1,IRETOK)
  28.  
  29. IMPLICIT INTEGER(I-N)
  30. IMPLICIT REAL*8(A-H,O-Z)
  31.  
  32. -INC PPARAM
  33. -INC CCOPTIO
  34. -INC CCGEOME
  35. -INC CCHAMP
  36.  
  37. -INC SMCOORD
  38. -INC SMELEME
  39. -INC SMMODEL
  40. -INC SMCHAML
  41. -INC SMCHPOI
  42. -INC TMTRAV
  43.  
  44. logical ltelq
  45. C
  46. C SEGMENTS DE TRAVAIL POUR CREER LE CHPOINT
  47. C
  48. SEGMENT ICPR(nbpts)
  49. C
  50. C CONTENU DU SEGMENT MTRAV
  51. C
  52. C NNNOE NOMBRE DE NOEUDS
  53. C IGEO LA LISTE DE CES NOEUDS
  54. C NNIN NOMBRE D'INCONNUES
  55. C INCO LA LISTE DE CES INCONNUES
  56. C NHAR LE NUMERO D'HARMONIQUE CORRESPONDANT
  57. C IBIN INDIQUE POUR UN NOEUD SI UNE INCONNUE EXISTE (=1 OU 0)
  58. C BB LA VALEUR CORRESPONDANTE
  59. C
  60. CHARACTER*(4) MOAPPU,MOSTRI,MOGEOM,MOFP,MOT1
  61. DATA MOAPPU/'APPU'/,MOSTRI/'STRI'/
  62. DATA MOGEOM/'GEOM'/,MOFP/'FP '/
  63. C
  64. IRETOK = 0
  65. IGEOM=0
  66. NHRM=NIFOUR
  67. C
  68. MCHPOI=IPCHE1
  69. C
  70. C ON CREE L OBJET GEOMETRIQUE CONTENANT TOUS LES PTS DU CHPOP
  71. C
  72. DO I=1,IPCHP(/1)
  73. MSOUPO=IPCHP(I)
  74. IF (I.GT.1) THEN
  75. ltelq=.false.
  76. CALL FUSE(IGEOM,IGEOC,IPT1,ltelq)
  77. IGEOM=IPT1
  78. ELSE
  79. IGEOM=IGEOC
  80. ENDIF
  81. ENDDO
  82. IF (IERR.NE.0) RETURN
  83. C
  84. C INITIALISATION DU TABLEAU ICPR
  85. C
  86. SEGINI,ICPR
  87. C
  88. C ACTIVATION DU MODEL
  89. C
  90. MMODEL=IPMODL
  91. NSOUS=KMODEL(/1)
  92.  
  93. IRRT=0
  94. DO 100 ISOUS=1,NSOUS
  95. C
  96. C ON RECUPERE L INFORMATION GENERALE
  97. C
  98. IMODEL=KMODEL(ISOUS)
  99. IPMAIL=IMAMOD
  100. C
  101. C TRAITEMENT DU MODEL
  102. C
  103. MELM=NEFMOD
  104. C
  105. C ON RECUPERE LES ELTS DE L ENVELOPPE DU MASSIF APPUYES
  106. C STRICTEMENT SUR LE CHPOINT DE DEBIT
  107. C
  108. CALL ECROBJ('MAILLAGE',IGEOM)
  109. CALL ECRCHA(MOSTRI)
  110. CALL ECRCHA(MOAPPU)
  111. CALL ECROBJ('MAILLAGE',IPMAIL)
  112. IF (IDIM.EQ.2) CALL PRCONT
  113. IF (IDIM.EQ.3) CALL ENVELO
  114. IF (IERR.NE.0) RETURN
  115. CALL EXTREL (IRR,0,IBNOR)
  116. IF (IRR.EQ.1) THEN
  117. IRRT=IRRT+IRR
  118. GOTO 100
  119. ENDIF
  120. CALL LIROBJ('MAILLAGE',IPT3,1,IRETOU)
  121. IF (IERR.NE.0) RETURN
  122. CALL ACTOBJ('MAILLAGE',IPT3,1)
  123. IF (IERR.NE.0) RETURN
  124. C
  125. C ON DETERMINE LA FORMULATION ASSOCIEE A L OBJET
  126. C GEOMETRIQUE ELEMENTAIRE DE SURFACE
  127. C
  128. NBSOU3 = IPT3.LISOUS(/1)
  129. IPT2 = IPT3
  130. C
  131. C BOUCLE SUR LES SOUS ZONES DE L ENVELOPPE
  132. C
  133. DO 110 IB=1,MAX(1,NBSOU3)
  134. IF (NBSOU3.NE.0) THEN
  135. IPT2=IPT3.LISOUS(IB)
  136. ENDIF
  137. NBNN=IPT2.NUM(/1)
  138. IPOGEO=IPT2
  139.  
  140. MELE=0
  141. C
  142. C MILIEUX POREUX :
  143. C ON RECUPERE L'ELEMENT QUADRATIQUE DE FACE
  144. C
  145. IF(MELM.EQ.79.OR.MELM.EQ.80.OR.MELM.EQ.108
  146. & .OR.MELM.EQ.173.OR.MELM.EQ.174.OR.MELM.EQ.178
  147. & .OR.MELM.EQ.179.OR.MELM.EQ.185.OR.MELM.EQ.188) THEN
  148. MELE=3
  149. IELI=2
  150. ELSE IF(MELM.EQ.81.OR.MELM.EQ.82.OR.MELM.EQ.83
  151. & .OR.MELM.EQ.109.OR.MELM.EQ.110.OR.MELM.EQ.175
  152. & .OR.MELM.EQ.176.OR.MELM.EQ.177.OR.MELM.EQ.180
  153. & .OR.MELM.EQ.181.OR.MELM.EQ.182.OR.MELM.EQ.186
  154. & .OR.MELM.EQ.187.OR.MELM.EQ.189.OR.MELM.EQ.190) THEN
  155. IF (NBNN.EQ.6) THEN
  156. MELE=33
  157. C IELI=3 BALD 96/02/23
  158. IELI=4
  159. ELSE
  160. MELE=34
  161. C IELI=4 BALD 96/02/23
  162. IELI=8
  163. ENDIF
  164. ENDIF
  165. C
  166. IF (MELE.EQ.0) THEN
  167. C
  168. C ERREUR : IMPOSSIBLE D UTILISER L OPERATEUR DEBIT POUR
  169. C LES ELEMENTS DE FORMULATION MELM
  170. C
  171. MOTERR(1:4)=NOMTP(MELM)
  172. MOTERR(5:8)=' '
  173. CALL ERREUR(193)
  174. RETURN
  175. ENDIF
  176. C
  177. C ON CREE L OBJET MODEL ASSOCIE A LA SURFACE ELEMENTAIRE
  178. C
  179. N1=1
  180. SEGINI MMODE1
  181. IPMOD1=MMODE1
  182. NFOR=FORMOD(/2)
  183. NMAT=MATMOD(/2)
  184. MN3 =INFMOD(/1)
  185. NPARMO=0
  186. nobmod=0
  187. SEGINI IMODE1
  188. MMODE1.KMODEL(1)=IMODE1
  189. IMODE1.IMAMOD=IPOGEO
  190. IMODE1.NEFMOD=MELE
  191. IMODE1.CONMOD=CONMOD
  192. DO I=1,NFOR
  193. IMODE1.FORMOD(I)=FORMOD(I)
  194. ENDDO
  195. DO I=1,NMAT
  196. IMODE1.MATMOD(I)=MATMOD(I)
  197. ENDDO
  198. DO I=1,MN3
  199. IMODE1.INFMOD(I)=INFMOD(I)
  200. ENDDO
  201. lzero=0
  202. call prquoi(imode1)
  203. call inomid(imode1,lzero,lzero,lzero,lzero)
  204. C
  205. C ON TRANSFORME LE CHPOINT DE PRESSION EN CHELEM ELEMENTAIRE
  206. C
  207. CALL CHAME1(0,IPMOD1,IPCHE1,' ',ICHELP,3)
  208. IF (IERR.NE.0) RETURN
  209. MCHEL1=ICHELP
  210. MCHAM1=MCHEL1.ICHAML(1)
  211. IPTVPR=MCHAM1.IELVAL(1)
  212. C
  213. C INFORMATION SUR L'ELEMENT FINI
  214. C
  215. IELE =IMODE1.INFELE(14)
  216. IPTINT=IMODE1.INFMOD(5)
  217. C
  218. C INITIALISATION DU CHELEM ELEMENTAIRE DES FORCES NODALES
  219. C
  220. N1=1
  221. L1=8
  222. N3=6
  223. SEGINI MCHELM
  224. TITCHE='SCALAIRE'
  225. IFOCHE=IFOUR
  226. IPCHEL=MCHELM
  227. C
  228. IMACHE(1)=IPOGEO
  229. INFCHE(1,1)=0
  230. INFCHE(1,2)=0
  231. INFCHE(1,3)=NHRM
  232. INFCHE(1,4)=0
  233. INFCHE(1,5)=0
  234. INFCHE(1,6)=1
  235. C
  236. C RECHERCHE DE LA TAILLE DES MELVALS
  237. C
  238. MELEME=IPOGEO
  239. N1EL =NUM(/2)
  240. NBBB=NBNNE(IELI)
  241. N1PTEL=NBBB
  242. N2PTEL=0
  243. N2EL =0
  244. C
  245. C CREATION DU MCHAML DE LA SOUS ZONE
  246. C
  247. N2=1
  248. SEGINI MCHAML
  249. ICHAML(1)=MCHAML
  250. NOMCHE(1)='SCAL'
  251. TYPCHE(1)='REAL*8'
  252. SEGINI MELVAL
  253. IELVAL(1)=MELVAL
  254. IVAFOR=MELVAL
  255. C
  256. C CALCUL DES FORCES NODALES EQUIVALENTES
  257. C DEBRANCHEMENT SUIVANT LE TYPE DES ELEMENTS
  258. C
  259. C CAS DES ELEMENTS MASSIFS BIDIMENSIONNELS
  260. C FACE ASSOCIEE SEG3
  261. C CAS DES ELEMENTS MASSIFS TRIDIMENSIONNELS
  262. C FACES ASSOCIEES FAC6,FAC8
  263. C
  264. IF (MELE.EQ.3.OR.MELE.EQ.33.OR.MELE.EQ.34) THEN
  265. CALL FDE23D(IPTVPR,IPOGEO,IPTINT,IVAFOR,IELI)
  266. ELSE
  267. C
  268. C ERREUR L ELEMENT N EST PAS ENCORE IMPLEMENTE
  269. C
  270. MOTERR(1:4)=NOMTP(MELE)
  271. MOTERR(5:12)='FDEBIT'
  272. CALL ERREUR(86)
  273. SEGDES IPT3
  274. SEGDES MCHEL1
  275. SEGDES MCHAM1
  276. CALL DTMODL(IPMOD1)
  277. GOTO 9990
  278. ENDIF
  279. C
  280. C
  281. C ON TRANSFORME LE CHAM/ELEM EN CHAM/POIN
  282. C ET ON ADDITIONNE LES CHAM/POIN ELEMENTAIRES
  283. C
  284. MELEME = IPOGEO
  285. NBNN =NUM(/1)
  286. NBELEM=NUM(/2)
  287. C
  288. C REMPLISSAGE DU TABLEAU ICPR
  289. C
  290. DO IPT = 1, nbpts
  291. ICPR(IPT) = 0
  292. ENDDO
  293.  
  294. NNNOE=0
  295. DO IOP = 1,NBNN
  296. DO JOP = 1,NBELEM
  297. IPT= NUM(IOP,JOP)
  298. IF(ICPR(IPT).EQ.0) THEN
  299. NNNOE=NNNOE+1
  300. ICPR(IPT)=NNNOE
  301. ENDIF
  302. ENDDO
  303. ENDDO
  304. C
  305. NNIN=1
  306. SEGINI MTRAV
  307. IF(MOT1.EQ.' ') THEN
  308. INCO(1)=MOFP
  309. ELSE
  310. INCO(1)=MOT1
  311. ENDIF
  312. MELVAL=IVAFOR
  313. NBPTEL=VELCHE(/1)
  314. NEL =VELCHE(/2)
  315. C
  316. C BOUCLE SUR LES ELEMENTS ET LES NOEUDS
  317. C
  318. * AM 11/05/2020
  319. ** iele=itypel
  320. DO IBB=1,NBELEM
  321. DO IC=1,NBSOM(IELE)
  322. ICC=IBSOM(NSPOS(IELE)+IC-1)
  323. IPT=ICPR(NUM(ICC,IBB))
  324. BB(1,IPT)=VELCHE(IC,IBB)+BB(1,IPT)
  325. IBIN(1,IPT)=1
  326. IGEO(IPT)=NUM(ICC,IBB)
  327. ENDDO
  328. ENDDO
  329. C
  330. C CREATION DU CHPOINT
  331. C
  332. CALL CRECHP(MTRAV,IPCHPO)
  333. SEGSUP,MTRAV
  334. C
  335. SEGDES MELVAL,MCHAML,MCHELM
  336. CALL DTCHAM(IPCHEL)
  337. C
  338. IF (IPCHPO.EQ.0) GOTO 9990
  339. C
  340. C ADDITION DES CHPOINTS ELEMENTAIRES
  341. C
  342. IF ((ISOUS-IRRT).GT.1.OR.IB.GT.1) THEN
  343. CALL ADCHPO(IPCHPO,IPTFP,ICHP,1D0,1D0)
  344. CALL ECRCHA(MOGEOM)
  345. CALL DTCHPO(IPCHPO)
  346. CALL ECRCHA(MOGEOM)
  347. CALL DTCHPO(IPTFP)
  348. IF (ICHP.EQ.0) GOTO 9990
  349. IPTFP=ICHP
  350. ELSE
  351. IPTFP=IPCHPO
  352. ENDIF
  353. CALL DTMODL(IPMOD1)
  354. 110 CONTINUE
  355.  
  356. SEGDES IPT3
  357.  
  358. 100 CONTINUE
  359.  
  360. SEGSUP,ICPR
  361. IF(IRRT.EQ.KMODEL(/1)) THEN
  362. CALL ERREUR(395)
  363. RETURN
  364. ENDIF
  365.  
  366. C FIN NORMALE : Travail accompli
  367. IRETOK = 1
  368.  
  369. RETURN
  370. C
  371. 9990 CONTINUE
  372. C
  373. C ERREUR DANS UNE SOUS ZONE, DESACTIVATION ET RETOUR
  374. C
  375. MELVAL=IVAFOR
  376. SEGSUP,MELVAL
  377. SEGSUP,MCHAML
  378. SEGSUP,MCHELM
  379. SEGSUP,ICPR
  380.  
  381. RETURN
  382. END
  383.  
  384.  
  385.  
  386.  
  387.  

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