Télécharger go2nli.eso

Retour à la liste

Numérotation des lignes :

go2nli
  1. C GO2NLI SOURCE JK148537 24/04/19 21:15:02 11906
  2. SUBROUTINE GO2NLI(IPMODL,IPCHA1,IPRIGI,iope)
  3. * transition RIGI vers NLIN
  4. * iope = 1 : RIGI / 2 : MASS / 3 : RIGI DIVE / 4 : ADVE /
  5. * iope = 5 : EXTR / 6 : PROI / 7 : MASS /
  6. IMPLICIT INTEGER(I-N)
  7. IMPLICIT REAL*8(A-H,O-Z)
  8. * *
  9.  
  10. -INC PPARAM
  11. -INC CCOPTIO
  12. -INC CCHAMP
  13. -INC SMLREEL
  14. -INC SMLENTI
  15. -INC SMLMOTS
  16. POINTEUR opnlin.mlmots
  17. -INC SMMODEL
  18. -INC SMCHAML
  19. parameter (mnli=7)
  20. common / c2nli / it2nlp(mnli),it2nld(mnli),it2mod(mnli)
  21. CHARACTER*4 CHA1
  22. CHARACTER*8 TYPRET,cha8
  23. CHARACTER*16 CHARRE
  24. logical lvar0, lvar1,d_freq,d_mu, d_rho
  25.  
  26.  
  27. mmodel = IPMODL
  28. nsous = kmodel(/1)
  29.  
  30. if(iope.eq.6) then
  31. ichpad = ipcha1
  32. else
  33. mchelm = ipcha1
  34. n1 = imache(/1)
  35. endif
  36.  
  37. if (iope.eq.4) then
  38. mchaml = ichaml(1)
  39. melval = ielval(1)
  40. ichpad = ielche(1,1)
  41. endif
  42.  
  43. if (iope.ge.3) goto 600
  44.  
  45.  
  46. do 500 isous = 1,nsous
  47. imodel = kmodel(isous)
  48. d_freq = .false.
  49. d_mu = .false.
  50. d_rho = .false.
  51.  
  52. do 400 is1 = 1,n1
  53. ipmail = imache(is1)
  54. if (ipmail.eq.imamod) then
  55. mchaml = ichaml(is1)
  56. n2 = ielval(/1)
  57. do ic2 = 1,n2
  58. if (nomche(ic2)(1:4).eq.'RHO ') then
  59. melval = ielval(ic2)
  60. xrho = velche(1,1)
  61. if (velche(/1).ne.1.or.velche(/2).ne.1) call erreur(21)
  62. d_rho = .true.
  63. endif
  64. if (nomche(ic2)(1:4).eq.'MU ') then
  65. melval = ielval(ic2)
  66. xmu = velche(1,1)
  67. if (velche(/1).ne.1.or.velche(/2).ne.1) call erreur(21)
  68. d_mu = .true.
  69. endif
  70. if (nomche(ic2)(1:4).eq.'FREQ') then
  71. melval = ielval(ic2)
  72. xfreq = velche(1,1)
  73. if (velche(/1).ne.1.or.velche(/2).ne.1) call erreur(21)
  74. d_freq = .true.
  75. endif
  76. if (ierr.ne.0) return
  77. enddo
  78.  
  79. endif
  80. 400 continue
  81.  
  82. if (iope.eq.2.and..not.d_freq) call erreur(21)
  83. if (iope.eq.1.and.(.not.d_mu.or..not.d_rho)) call erreur(21)
  84. if (ierr.ne.0) return
  85. 500 continue
  86.  
  87. * a faire traitement mu, rho variables ?
  88.  
  89. if (iope.eq.1) then
  90. if (xrho.gt.0) then
  91. usxrey = xmu / xrho
  92. else
  93. call erreur(21)
  94. endif
  95. endif
  96.  
  97. if (iope.eq.2) then
  98. if (xfreq.gt.0) then
  99. unsdt = xfreq
  100. else
  101. call erreur(21)
  102. endif
  103. endif
  104. if (ierr.ne.0) return
  105.  
  106. 600 continue
  107.  
  108. imodel = kmodel(1)
  109. * creation arguments NLIN
  110. if (imodel.eq.it2mod(iope)) then
  111. if (it2nlp(iope).gt.0.and.iope.ne.4.and.iope.ne.6) then
  112. itprim = it2nlp(iope)
  113. itdual = it2nld(iope)
  114. goto 1000
  115. endif
  116. endif
  117. ***********************************************************************
  118. if (iope.eq.1) then
  119. * pour RIGI
  120. * table primale
  121. call crtabl(itprim)
  122. typret = 'ENTIER '
  123. I1 = 4
  124. CALL ECCTAB(itprim,'MOT',0,0.D0,'NUMOP',lvar0,ittl,
  125. & TYPRET,I1,X1,CHARRE,LVAR1,ittm)
  126. I1 = 2
  127. CALL ECCTAB(itprim,'MOT',0,0.D0,'NUMVAR',lvar0,ittl,
  128. & TYPRET,I1,X1,CHARRE,LVAR1,ITTM)
  129. CALL ECCTAB(itprim,'MOT',0,0.D0,'NUMDAT',lvar0,ittl,
  130. & TYPRET,I1,X1,CHARRE,LVAR1,ITTM)
  131. CALL ECCTAB(itprim,'MOT',0,0.D0,'NUMCOF',lvar0,ittl,
  132. & TYPRET,I1,X1,CHARRE,LVAR1,ITTM)
  133. CALL ECCTAB(itprim,'MOT',0,0.D0,'NUMDER',lvar0,ittl,
  134. & TYPRET,I1,X1,CHARRE,LVAR1,ITTM)
  135.  
  136. typret = 'TABLE '
  137. call crtabl(itvar)
  138. CALL ECCTAB(itprim,'MOT',0,0.D0,'VAR',lvar0,ittl,
  139. & TYPRET,I1,X1,CHARRE,LVAR1,itvar)
  140. call crtabl(itdat)
  141. CALL ECCTAB(itprim,'MOT',0,0.D0,'DAT',lvar0,ittl,
  142. & TYPRET,I1,X1,CHARRE,LVAR1,itdat)
  143. call crtabl(itcof)
  144. CALL ECCTAB(itprim,'MOT',0,0.D0,'COF',lvar0,ittl,
  145. & TYPRET,I1,X1,CHARRE,LVAR1,itcof)
  146.  
  147. call crtabl(it1)
  148. CALL ECCTAB(itprim,'ENTIER',1,0.D0,' ',lvar0,ittl,
  149. & TYPRET,I1,X1,CHARRE,LVAR1,it1)
  150. call crtabl(it2)
  151. CALL ECCTAB(itprim,'ENTIER',2,0.D0,' ',lvar0,ittl,
  152. & TYPRET,I1,X1,CHARRE,LVAR1,it2)
  153. call crtabl(it3)
  154. CALL ECCTAB(itprim,'ENTIER',3,0.D0,' ',lvar0,ittl,
  155. & TYPRET,I1,X1,CHARRE,LVAR1,it3)
  156. call crtabl(it4)
  157. CALL ECCTAB(itprim,'ENTIER',4,0.D0,' ',lvar0,ittl,
  158. & TYPRET,I1,X1,CHARRE,LVAR1,it4)
  159.  
  160.  
  161. call crtabl(itvar1)
  162. CALL ECCTAB(itvar,'ENTIER',1,0.D0,' ',lvar0,ittl,
  163. & TYPRET,I1,X1,CHARRE,LVAR1,itvar1)
  164. call crtabl(itvar2)
  165. CALL ECCTAB(itvar,'ENTIER',2,0.D0,' ',lvar0,ittl,
  166. & TYPRET,I1,X1,CHARRE,LVAR1,itvar2)
  167. call crtabl(itdat1)
  168. CALL ECCTAB(itdat,'ENTIER',1,0.D0,' ',lvar0,ittl,
  169. & TYPRET,I1,X1,CHARRE,LVAR1,itdat1)
  170. call crtabl(itdat2)
  171. CALL ECCTAB(itdat,'ENTIER',2,0.D0,' ',lvar0,ittl,
  172. & TYPRET,I1,X1,CHARRE,LVAR1,itdat2)
  173. call crtabl(itcof1)
  174. CALL ECCTAB(itcof,'ENTIER',1,0.D0,' ',lvar0,ittl,
  175. & TYPRET,I1,X1,CHARRE,LVAR1,itcof1)
  176. call crtabl(itcof2)
  177. CALL ECCTAB(itcof,'ENTIER',2,0.D0,' ',lvar0,ittl,
  178. & TYPRET,I1,X1,CHARRE,LVAR1,itcof2)
  179.  
  180. * itprim.VAR
  181. nomid = lnomid(1)
  182. jgn = 8
  183. jgm = 1
  184. segini mlmots
  185. ilmotx = mlmots
  186. mots(1)= lesobl(1)
  187. typret = 'LISTMOTS'
  188. CALL ECCTAB(itvar1,'MOT',0,0.D0,'NOMDDL',lvar0,ittl,
  189. & TYPRET,I1,X1,CHARRE,LVAR1,ilmotx)
  190. typret = 'MOT '
  191. cha1 = nomtp(nefmod)
  192. * correction QUAF
  193. cha1 = 'QUAF'
  194. CALL ECCTAB(itvar1,'MOT',0,0.D0,'DISC',lvar0,ittl,
  195. & TYPRET,I1,X1,cha1,LVAR1,ittm)
  196. segini mlmots
  197. ilmoty = mlmots
  198. mots(1)= lesobl(2)
  199. typret = 'LISTMOTS'
  200. CALL ECCTAB(itvar2,'MOT',0,0.D0,'NOMDDL',lvar0,ittl,
  201. & TYPRET,I1,X1,CHARRE,LVAR1,ilmoty)
  202. typret = 'MOT '
  203. CALL ECCTAB(itvar2,'MOT',0,0.D0,'DISC',lvar0,ittl,
  204. & TYPRET,I1,X1,cha1,LVAR1,ittm)
  205.  
  206. * itprim.DAT
  207. typret = 'FLOTTANT'
  208. CALL ECCTAB(itdat1,'MOT',0,0.D0,'VALEUR',lvar0,ittl,
  209. & TYPRET,I1,2.d0,CHARRE,LVAR1,ittm)
  210. jgn = 8
  211. jgm = 1
  212. segini mlmots
  213. ijmot1 = mlmots
  214. mots(1)= 'SCAL '
  215. typret = 'LISTMOTS'
  216. CALL ECCTAB(itdat2,'MOT',0,0.D0,'NOMDDL',lvar0,ittl,
  217. & TYPRET,I1,X1,CHARRE,LVAR1,ijmot1)
  218. typret = 'MOT '
  219. CALL ECCTAB(itdat2,'MOT',0,0.D0,'DISC',lvar0,ittl,
  220. & TYPRET,I1,X1,'CSTE',LVAR1,ittm)
  221. typret = 'FLOTTANT'
  222. CALL ECCTAB(itdat2,'MOT',0,0.D0,'VALEUR',lvar0,ittl,
  223. & TYPRET,I1,usxrey,CHARRE,LVAR1,ittm)
  224.  
  225. * itprim.COF
  226. typret = 'ENTIER '
  227. I1 = 1
  228. CALL ECCTAB(itcof1,'MOT',0,0.D0,'LDAT',lvar0,ittl,
  229. & TYPRET,I1,X1,CHARRE,LVAR1,ittm)
  230. I1 = 2
  231. CALL ECCTAB(itcof2,'MOT',0,0.D0,'LDAT',lvar0,ittl,
  232. & TYPRET,I1,X1,CHARRE,LVAR1,ittm)
  233.  
  234. * itprim . k
  235. typret = 'TABLE '
  236. call crtabl(it11)
  237. CALL ECCTAB(it1,'ENTIER',1,0.D0,' ',lvar0,ittl,
  238. & TYPRET,I1,X1,CHARRE,LVAR1,it11)
  239. call crtabl(it12)
  240. CALL ECCTAB(it1,'ENTIER',2,0.D0,' ',lvar0,ittl,
  241. & TYPRET,I1,X1,CHARRE,LVAR1,it12)
  242. call crtabl(it21)
  243. CALL ECCTAB(it2,'ENTIER',1,0.D0,' ',lvar0,ittl,
  244. & TYPRET,I1,X1,CHARRE,LVAR1,it21)
  245. call crtabl(it22)
  246. CALL ECCTAB(it2,'ENTIER',2,0.D0,' ',lvar0,ittl,
  247. & TYPRET,I1,X1,CHARRE,LVAR1,it22)
  248. call crtabl(it31)
  249. CALL ECCTAB(it3,'ENTIER',1,0.D0,' ',lvar0,ittl,
  250. & TYPRET,I1,X1,CHARRE,LVAR1,it31)
  251. call crtabl(it32)
  252. CALL ECCTAB(it3,'ENTIER',2,0.D0,' ',lvar0,ittl,
  253. & TYPRET,I1,X1,CHARRE,LVAR1,it32)
  254. call crtabl(it41)
  255. CALL ECCTAB(it4,'ENTIER',1,0.D0,' ',lvar0,ittl,
  256. & TYPRET,I1,X1,CHARRE,LVAR1,it41)
  257. call crtabl(it42)
  258. CALL ECCTAB(it4,'ENTIER',2,0.D0,' ',lvar0,ittl,
  259. & TYPRET,I1,X1,CHARRE,LVAR1,it42)
  260.  
  261. * itprim . k . l
  262. jg = 2
  263. segini mlenti
  264. ilen11 = mlenti
  265. lect(1) = 1
  266. lect(2) = 2
  267. typret = 'LISTENTI'
  268. CALL ECCTAB(it11,'ENTIER',1,0.D0,' ',lvar0,ittl,
  269. & TYPRET,I1,X1,CHARRE,LVAR1,ilen11)
  270. CALL ECCTAB(it42,'ENTIER',2,0.D0,' ',lvar0,ittl,
  271. & TYPRET,I1,X1,CHARRE,LVAR1,ilen11)
  272. jg = 1
  273. segini mlenti
  274. ilen21 = mlenti
  275. lect(1) = 2
  276. CALL ECCTAB(it21,'ENTIER',2,0.D0,' ',lvar0,ittl,
  277. & TYPRET,I1,X1,CHARRE,LVAR1,ilen21)
  278. CALL ECCTAB(it22,'ENTIER',1,0.D0,' ',lvar0,ittl,
  279. & TYPRET,I1,X1,CHARRE,LVAR1,ilen21)
  280. CALL ECCTAB(it31,'ENTIER',2,0.D0,' ',lvar0,ittl,
  281. & TYPRET,I1,X1,CHARRE,LVAR1,ilen21)
  282. CALL ECCTAB(it32,'ENTIER',1,0.D0,' ',lvar0,ittl,
  283. & TYPRET,I1,X1,CHARRE,LVAR1,ilen21)
  284.  
  285. ***********************************************************************
  286. * table duale
  287. call crtabl(itdual)
  288. typret = 'ENTIER '
  289. I1 = 4
  290. CALL ECCTAB(itdual,'MOT',0,0.D0,'NUMOP',lvar0,ittl,
  291. & TYPRET,I1,X1,CHARRE,LVAR1,ittm)
  292. I1 = 2
  293. CALL ECCTAB(itdual,'MOT',0,0.D0,'NUMVAR',lvar0,ittl,
  294. & TYPRET,I1,X1,CHARRE,LVAR1,ITTM)
  295. CALL ECCTAB(itdual,'MOT',0,0.D0,'NUMDER',lvar0,ittl,
  296. & TYPRET,I1,X1,CHARRE,LVAR1,ITTM)
  297. I1 = 0
  298. CALL ECCTAB(itdual,'MOT',0,0.D0,'NUMDAT',lvar0,ittl,
  299. & TYPRET,I1,X1,CHARRE,LVAR1,ITTM)
  300. CALL ECCTAB(itdual,'MOT',0,0.D0,'NUMCOF',lvar0,ittl,
  301. & TYPRET,I1,X1,CHARRE,LVAR1,ITTM)
  302.  
  303. typret = 'TABLE '
  304. call crtabl(itvar)
  305. CALL ECCTAB(itdual,'MOT',0,0.D0,'VAR',lvar0,ittl,
  306. & TYPRET,I1,X1,CHARRE,LVAR1,itvar)
  307. call crtabl(itdat)
  308. CALL ECCTAB(itdual,'MOT',0,0.D0,'DAT',lvar0,ittl,
  309. & TYPRET,I1,X1,CHARRE,LVAR1,itdat)
  310. call crtabl(itcof)
  311. CALL ECCTAB(itdual,'MOT',0,0.D0,'COF',lvar0,ittl,
  312. & TYPRET,I1,X1,CHARRE,LVAR1,itcof)
  313.  
  314. call crtabl(it1)
  315. CALL ECCTAB(itdual,'ENTIER',1,0.D0,' ',lvar0,ittl,
  316. & TYPRET,I1,X1,CHARRE,LVAR1,it1)
  317. call crtabl(it2)
  318. CALL ECCTAB(itdual,'ENTIER',2,0.D0,' ',lvar0,ittl,
  319. & TYPRET,I1,X1,CHARRE,LVAR1,it2)
  320. call crtabl(it3)
  321. CALL ECCTAB(itdual,'ENTIER',3,0.D0,' ',lvar0,ittl,
  322. & TYPRET,I1,X1,CHARRE,LVAR1,it3)
  323. call crtabl(it4)
  324. CALL ECCTAB(itdual,'ENTIER',4,0.D0,' ',lvar0,ittl,
  325. & TYPRET,I1,X1,CHARRE,LVAR1,it4)
  326.  
  327.  
  328. call crtabl(itvar1)
  329. CALL ECCTAB(itvar,'ENTIER',1,0.D0,' ',lvar0,ittl,
  330. & TYPRET,I1,X1,CHARRE,LVAR1,itvar1)
  331. call crtabl(itvar2)
  332. CALL ECCTAB(itvar,'ENTIER',2,0.D0,' ',lvar0,ittl,
  333. & TYPRET,I1,X1,CHARRE,LVAR1,itvar2)
  334.  
  335. * itdual.VAR
  336. nomid = lnomid(2)
  337. jgn = 8
  338. jgm = 1
  339. segini mlmots
  340. ilmotx = mlmots
  341. mots(1)= lesobl(1)
  342. typret = 'LISTMOTS'
  343. CALL ECCTAB(itvar1,'MOT',0,0.D0,'NOMDDL',lvar0,ittl,
  344. & TYPRET,I1,X1,CHARRE,LVAR1,ilmotx)
  345. typret = 'MOT '
  346. cha1 = nomtp(nefmod)
  347. * correction QUAF
  348. cha1 = 'QUAF'
  349. CALL ECCTAB(itvar1,'MOT',0,0.D0,'DISC',lvar0,ittl,
  350. & TYPRET,I1,X1,cha1,LVAR1,ittm)
  351. segini mlmots
  352. ilmoty = mlmots
  353. mots(1)= lesobl(2)
  354. typret = 'LISTMOTS'
  355. CALL ECCTAB(itvar2,'MOT',0,0.D0,'NOMDDL',lvar0,ittl,
  356. & TYPRET,I1,X1,CHARRE,LVAR1,ilmoty)
  357. typret = 'MOT '
  358. CALL ECCTAB(itvar2,'MOT',0,0.D0,'DISC',lvar0,ittl,
  359. & TYPRET,I1,X1,cha1,LVAR1,ittm)
  360.  
  361.  
  362. * itdual . k
  363. typret = 'TABLE '
  364. call crtabl(it11)
  365. CALL ECCTAB(it1,'ENTIER',1,0.D0,' ',lvar0,ittl,
  366. & TYPRET,I1,X1,CHARRE,LVAR1,it11)
  367. call crtabl(it12)
  368. CALL ECCTAB(it1,'ENTIER',2,0.D0,' ',lvar0,ittl,
  369. & TYPRET,I1,X1,CHARRE,LVAR1,it12)
  370. call crtabl(it21)
  371. CALL ECCTAB(it2,'ENTIER',1,0.D0,' ',lvar0,ittl,
  372. & TYPRET,I1,X1,CHARRE,LVAR1,it21)
  373. call crtabl(it22)
  374. CALL ECCTAB(it2,'ENTIER',2,0.D0,' ',lvar0,ittl,
  375. & TYPRET,I1,X1,CHARRE,LVAR1,it22)
  376. call crtabl(it31)
  377. CALL ECCTAB(it3,'ENTIER',1,0.D0,' ',lvar0,ittl,
  378. & TYPRET,I1,X1,CHARRE,LVAR1,it31)
  379. call crtabl(it32)
  380. CALL ECCTAB(it3,'ENTIER',2,0.D0,' ',lvar0,ittl,
  381. & TYPRET,I1,X1,CHARRE,LVAR1,it32)
  382. call crtabl(it41)
  383. CALL ECCTAB(it4,'ENTIER',1,0.D0,' ',lvar0,ittl,
  384. & TYPRET,I1,X1,CHARRE,LVAR1,it41)
  385. call crtabl(it42)
  386. CALL ECCTAB(it4,'ENTIER',2,0.D0,' ',lvar0,ittl,
  387. & TYPRET,I1,X1,CHARRE,LVAR1,it42)
  388.  
  389. * itdual . k . l
  390. typret = 'ENTIER'
  391. I1 = 0
  392. CALL ECCTAB(it11,'ENTIER',1,0.D0,' ',lvar0,ittl,
  393. & TYPRET,I1,X1,CHARRE,LVAR1,ittm)
  394. CALL ECCTAB(it21,'ENTIER',2,0.D0,' ',lvar0,ittl,
  395. & TYPRET,I1,X1,CHARRE,LVAR1,ittm)
  396. CALL ECCTAB(it32,'ENTIER',1,0.D0,' ',lvar0,ittl,
  397. & TYPRET,I1,X1,CHARRE,LVAR1,ittm)
  398. CALL ECCTAB(it42,'ENTIER',2,0.D0,' ',lvar0,ittl,
  399. & TYPRET,I1,X1,CHARRE,LVAR1,ittm)
  400. * pour RIGI
  401. endif
  402. ***********************************************************************
  403. if (iope.eq.2) then
  404. * pour MASS
  405. * table primale
  406. call crtabl(itprim)
  407. typret = 'ENTIER '
  408. I1 = 2
  409. CALL ECCTAB(itprim,'MOT',0,0.D0,'NUMOP',lvar0,ittl,
  410. & TYPRET,I1,X1,CHARRE,LVAR1,ittm)
  411. CALL ECCTAB(itprim,'MOT',0,0.D0,'NUMVAR',lvar0,ittl,
  412. & TYPRET,I1,X1,CHARRE,LVAR1,ITTM)
  413. CALL ECCTAB(itprim,'MOT',0,0.D0,'NUMDER',lvar0,ittl,
  414. & TYPRET,I1,X1,CHARRE,LVAR1,ITTM)
  415. I1 = 1
  416. CALL ECCTAB(itprim,'MOT',0,0.D0,'NUMDAT',lvar0,ittl,
  417. & TYPRET,I1,X1,CHARRE,LVAR1,ITTM)
  418. CALL ECCTAB(itprim,'MOT',0,0.D0,'NUMCOF',lvar0,ittl,
  419. & TYPRET,I1,X1,CHARRE,LVAR1,ITTM)
  420.  
  421. typret = 'TABLE '
  422. call crtabl(itvar)
  423. CALL ECCTAB(itprim,'MOT',0,0.D0,'VAR',lvar0,ittl,
  424. & TYPRET,I1,X1,CHARRE,LVAR1,itvar)
  425. call crtabl(itdat)
  426. CALL ECCTAB(itprim,'MOT',0,0.D0,'DAT',lvar0,ittl,
  427. & TYPRET,I1,X1,CHARRE,LVAR1,itdat)
  428. call crtabl(itcof)
  429. CALL ECCTAB(itprim,'MOT',0,0.D0,'COF',lvar0,ittl,
  430. & TYPRET,I1,X1,CHARRE,LVAR1,itcof)
  431.  
  432. call crtabl(it1)
  433. CALL ECCTAB(itprim,'ENTIER',1,0.D0,' ',lvar0,ittl,
  434. & TYPRET,I1,X1,CHARRE,LVAR1,it1)
  435. call crtabl(it2)
  436. CALL ECCTAB(itprim,'ENTIER',2,0.D0,' ',lvar0,ittl,
  437. & TYPRET,I1,X1,CHARRE,LVAR1,it2)
  438.  
  439. call crtabl(itvar1)
  440. CALL ECCTAB(itvar,'ENTIER',1,0.D0,' ',lvar0,ittl,
  441. & TYPRET,I1,X1,CHARRE,LVAR1,itvar1)
  442. call crtabl(itvar2)
  443. CALL ECCTAB(itvar,'ENTIER',2,0.D0,' ',lvar0,ittl,
  444. & TYPRET,I1,X1,CHARRE,LVAR1,itvar2)
  445. call crtabl(itdat1)
  446. CALL ECCTAB(itdat,'ENTIER',1,0.D0,' ',lvar0,ittl,
  447. & TYPRET,I1,X1,CHARRE,LVAR1,itdat1)
  448. call crtabl(itcof1)
  449. CALL ECCTAB(itcof,'ENTIER',1,0.D0,' ',lvar0,ittl,
  450. & TYPRET,I1,X1,CHARRE,LVAR1,itcof1)
  451.  
  452. * itprim.VAR
  453. nomid = lnomid(1)
  454. jgn = 8
  455. jgm = 1
  456. segini mlmots
  457. ilmotx = mlmots
  458. mots(1)= lesobl(1)
  459. typret = 'LISTMOTS'
  460. CALL ECCTAB(itvar1,'MOT',0,0.D0,'NOMDDL',lvar0,ittl,
  461. & TYPRET,I1,X1,CHARRE,LVAR1,ilmotx)
  462. typret = 'MOT '
  463. cha1 = nomtp(nefmod)
  464. * correction QUAF
  465. cha1 = 'QUAF'
  466. CALL ECCTAB(itvar1,'MOT',0,0.D0,'DISC',lvar0,ittl,
  467. & TYPRET,I1,X1,cha1,LVAR1,ittm)
  468. segini mlmots
  469. ilmoty = mlmots
  470. mots(1)= lesobl(2)
  471. typret = 'LISTMOTS'
  472. CALL ECCTAB(itvar2,'MOT',0,0.D0,'NOMDDL',lvar0,ittl,
  473. & TYPRET,I1,X1,CHARRE,LVAR1,ilmoty)
  474. typret = 'MOT '
  475. CALL ECCTAB(itvar2,'MOT',0,0.D0,'DISC',lvar0,ittl,
  476. & TYPRET,I1,X1,cha1,LVAR1,ittm)
  477.  
  478. * itprim.DAT
  479. jgn = 8
  480. jgm = 1
  481. segini mlmots
  482. ijmot1 = mlmots
  483. mots(1)= 'SCAL '
  484. typret = 'LISTMOTS'
  485. CALL ECCTAB(itdat1,'MOT',0,0.D0,'NOMDDL',lvar0,ittl,
  486. & TYPRET,I1,X1,CHARRE,LVAR1,ijmot1)
  487. typret = 'MOT '
  488. CALL ECCTAB(itdat1,'MOT',0,0.D0,'DISC',lvar0,ittl,
  489. & TYPRET,I1,X1,'CSTE',LVAR1,ittm)
  490. typret = 'FLOTTANT'
  491. CALL ECCTAB(itdat1,'MOT',0,0.D0,'VALEUR',lvar0,ittl,
  492. & TYPRET,I1,unsdt,CHARRE,LVAR1,ittm)
  493.  
  494. * itprim.COF
  495. typret = 'ENTIER '
  496. I1 = 1
  497. CALL ECCTAB(itcof1,'MOT',0,0.D0,'LDAT',lvar0,ittl,
  498. & TYPRET,I1,X1,CHARRE,LVAR1,ittm)
  499.  
  500. * itprim . k
  501. typret = 'TABLE '
  502. call crtabl(it11)
  503. CALL ECCTAB(it1,'ENTIER',1,0.D0,' ',lvar0,ittl,
  504. & TYPRET,I1,X1,CHARRE,LVAR1,it11)
  505. call crtabl(it12)
  506. CALL ECCTAB(it1,'ENTIER',2,0.D0,' ',lvar0,ittl,
  507. & TYPRET,I1,X1,CHARRE,LVAR1,it12)
  508. call crtabl(it21)
  509. CALL ECCTAB(it2,'ENTIER',1,0.D0,' ',lvar0,ittl,
  510. & TYPRET,I1,X1,CHARRE,LVAR1,it21)
  511. call crtabl(it22)
  512. CALL ECCTAB(it2,'ENTIER',2,0.D0,' ',lvar0,ittl,
  513. & TYPRET,I1,X1,CHARRE,LVAR1,it22)
  514.  
  515. * itprim . k . l
  516. typret = 'ENTIER'
  517. I1 = 1
  518. CALL ECCTAB(it11,'ENTIER',0,0.D0,' ',lvar0,ittl,
  519. & TYPRET,I1,X1,CHARRE,LVAR1,ilen11)
  520. CALL ECCTAB(it22,'ENTIER',0,0.D0,' ',lvar0,ittl,
  521. & TYPRET,I1,X1,CHARRE,LVAR1,ilen11)
  522.  
  523. ***********************************************************************
  524. * table duale
  525. call crtabl(itdual)
  526. typret = 'ENTIER '
  527. I1 = 2
  528. CALL ECCTAB(itdual,'MOT',0,0.D0,'NUMOP',lvar0,ittl,
  529. & TYPRET,I1,X1,CHARRE,LVAR1,ittm)
  530. CALL ECCTAB(itdual,'MOT',0,0.D0,'NUMVAR',lvar0,ittl,
  531. & TYPRET,I1,X1,CHARRE,LVAR1,ITTM)
  532. CALL ECCTAB(itdual,'MOT',0,0.D0,'NUMDER',lvar0,ittl,
  533. & TYPRET,I1,X1,CHARRE,LVAR1,ITTM)
  534. I1 = 0
  535. CALL ECCTAB(itdual,'MOT',0,0.D0,'NUMDAT',lvar0,ittl,
  536. & TYPRET,I1,X1,CHARRE,LVAR1,ITTM)
  537. CALL ECCTAB(itdual,'MOT',0,0.D0,'NUMCOF',lvar0,ittl,
  538. & TYPRET,I1,X1,CHARRE,LVAR1,ITTM)
  539.  
  540. typret = 'TABLE '
  541. call crtabl(itvar)
  542. CALL ECCTAB(itdual,'MOT',0,0.D0,'VAR',lvar0,ittl,
  543. & TYPRET,I1,X1,CHARRE,LVAR1,itvar)
  544. call crtabl(itdat)
  545. CALL ECCTAB(itdual,'MOT',0,0.D0,'DAT',lvar0,ittl,
  546. & TYPRET,I1,X1,CHARRE,LVAR1,itdat)
  547. call crtabl(itcof)
  548. CALL ECCTAB(itdual,'MOT',0,0.D0,'COF',lvar0,ittl,
  549. & TYPRET,I1,X1,CHARRE,LVAR1,itcof)
  550.  
  551. call crtabl(it1)
  552. CALL ECCTAB(itdual,'ENTIER',1,0.D0,' ',lvar0,ittl,
  553. & TYPRET,I1,X1,CHARRE,LVAR1,it1)
  554. call crtabl(it2)
  555. CALL ECCTAB(itdual,'ENTIER',2,0.D0,' ',lvar0,ittl,
  556. & TYPRET,I1,X1,CHARRE,LVAR1,it2)
  557.  
  558. call crtabl(itvar1)
  559. CALL ECCTAB(itvar,'ENTIER',1,0.D0,' ',lvar0,ittl,
  560. & TYPRET,I1,X1,CHARRE,LVAR1,itvar1)
  561. call crtabl(itvar2)
  562. CALL ECCTAB(itvar,'ENTIER',2,0.D0,' ',lvar0,ittl,
  563. & TYPRET,I1,X1,CHARRE,LVAR1,itvar2)
  564.  
  565. * itdual.VAR
  566. nomid = lnomid(2)
  567. jgn = 8
  568. jgm = 1
  569. segini mlmots
  570. ilmotx = mlmots
  571. mots(1)= lesobl(1)
  572. typret = 'LISTMOTS'
  573. CALL ECCTAB(itvar1,'MOT',0,0.D0,'NOMDDL',lvar0,ittl,
  574. & TYPRET,I1,X1,CHARRE,LVAR1,ilmotx)
  575. typret = 'MOT '
  576. cha1 = nomtp(nefmod)
  577. * correction QUAF
  578. cha1 = 'QUAF'
  579. CALL ECCTAB(itvar1,'MOT',0,0.D0,'DISC',lvar0,ittl,
  580. & TYPRET,I1,X1,cha1,LVAR1,ittm)
  581. segini mlmots
  582. ilmoty = mlmots
  583. mots(1)= lesobl(2)
  584. typret = 'LISTMOTS'
  585. CALL ECCTAB(itvar2,'MOT',0,0.D0,'NOMDDL',lvar0,ittl,
  586. & TYPRET,I1,X1,CHARRE,LVAR1,ilmoty)
  587. typret = 'MOT '
  588. CALL ECCTAB(itvar2,'MOT',0,0.D0,'DISC',lvar0,ittl,
  589. & TYPRET,I1,X1,cha1,LVAR1,ittm)
  590.  
  591.  
  592. * itdual . k
  593. typret = 'TABLE '
  594. call crtabl(it11)
  595. CALL ECCTAB(it1,'ENTIER',1,0.D0,' ',lvar0,ittl,
  596. & TYPRET,I1,X1,CHARRE,LVAR1,it11)
  597. call crtabl(it12)
  598. CALL ECCTAB(it1,'ENTIER',2,0.D0,' ',lvar0,ittl,
  599. & TYPRET,I1,X1,CHARRE,LVAR1,it12)
  600. call crtabl(it21)
  601. CALL ECCTAB(it2,'ENTIER',1,0.D0,' ',lvar0,ittl,
  602. & TYPRET,I1,X1,CHARRE,LVAR1,it21)
  603. call crtabl(it22)
  604. CALL ECCTAB(it2,'ENTIER',2,0.D0,' ',lvar0,ittl,
  605. & TYPRET,I1,X1,CHARRE,LVAR1,it22)
  606.  
  607. * itdual . k . l
  608. typret = 'ENTIER'
  609. I1 = 0
  610. CALL ECCTAB(it11,'ENTIER',0,0.D0,' ',lvar0,ittl,
  611. & TYPRET,I1,X1,CHARRE,LVAR1,ittm)
  612. CALL ECCTAB(it22,'ENTIER',0,0.D0,' ',lvar0,ittl,
  613. & TYPRET,I1,X1,CHARRE,LVAR1,ittm)
  614. * pour MASS
  615. endif
  616. ***********************************************************************
  617. if (iope.eq.3) then
  618. * pour DIVE
  619. * table primale
  620. call crtabl(itprim)
  621. typret = 'ENTIER '
  622. I1 = 1
  623. CALL ECCTAB(itprim,'MOT',0,0.D0,'NUMOP',lvar0,ittl,
  624. & TYPRET,I1,X1,CHARRE,LVAR1,ittm)
  625. I1 = 2
  626. CALL ECCTAB(itprim,'MOT',0,0.D0,'NUMVAR',lvar0,ittl,
  627. & TYPRET,I1,X1,CHARRE,LVAR1,ITTM)
  628. CALL ECCTAB(itprim,'MOT',0,0.D0,'NUMDER',lvar0,ittl,
  629. & TYPRET,I1,X1,CHARRE,LVAR1,ITTM)
  630. I1 = 1
  631. CALL ECCTAB(itprim,'MOT',0,0.D0,'NUMDAT',lvar0,ittl,
  632. & TYPRET,I1,X1,CHARRE,LVAR1,ITTM)
  633. CALL ECCTAB(itprim,'MOT',0,0.D0,'NUMCOF',lvar0,ittl,
  634. & TYPRET,I1,X1,CHARRE,LVAR1,ITTM)
  635.  
  636. typret = 'TABLE '
  637. call crtabl(itvar)
  638. CALL ECCTAB(itprim,'MOT',0,0.D0,'VAR',lvar0,ittl,
  639. & TYPRET,I1,X1,CHARRE,LVAR1,itvar)
  640. call crtabl(itdat)
  641. CALL ECCTAB(itprim,'MOT',0,0.D0,'DAT',lvar0,ittl,
  642. & TYPRET,I1,X1,CHARRE,LVAR1,itdat)
  643. call crtabl(itcof)
  644. CALL ECCTAB(itprim,'MOT',0,0.D0,'COF',lvar0,ittl,
  645. & TYPRET,I1,X1,CHARRE,LVAR1,itcof)
  646.  
  647. call crtabl(it1)
  648. CALL ECCTAB(itprim,'ENTIER',1,0.D0,' ',lvar0,ittl,
  649. & TYPRET,I1,X1,CHARRE,LVAR1,it1)
  650.  
  651. call crtabl(itvar1)
  652. CALL ECCTAB(itvar,'ENTIER',1,0.D0,' ',lvar0,ittl,
  653. & TYPRET,I1,X1,CHARRE,LVAR1,itvar1)
  654. call crtabl(itvar2)
  655. CALL ECCTAB(itvar,'ENTIER',2,0.D0,' ',lvar0,ittl,
  656. & TYPRET,I1,X1,CHARRE,LVAR1,itvar2)
  657. call crtabl(itdat1)
  658. CALL ECCTAB(itdat,'ENTIER',1,0.D0,' ',lvar0,ittl,
  659. & TYPRET,I1,X1,CHARRE,LVAR1,itdat1)
  660. call crtabl(itcof1)
  661. CALL ECCTAB(itcof,'ENTIER',1,0.D0,' ',lvar0,ittl,
  662. & TYPRET,I1,X1,CHARRE,LVAR1,itcof1)
  663.  
  664. * itprim.VAR
  665. nomid = lnomid(1)
  666. jgn = 8
  667. jgm = 1
  668. segini mlmots
  669. ilmotx = mlmots
  670. mots(1)= lesobl(1)
  671. typret = 'LISTMOTS'
  672. CALL ECCTAB(itvar1,'MOT',0,0.D0,'NOMDDL',lvar0,ittl,
  673. & TYPRET,I1,X1,CHARRE,LVAR1,ilmotx)
  674. typret = 'MOT '
  675. cha1 = nomtp(nefmod)
  676. * correction QUAF
  677. cha1 = 'QUAF'
  678. CALL ECCTAB(itvar1,'MOT',0,0.D0,'DISC',lvar0,ittl,
  679. & TYPRET,I1,X1,cha1,LVAR1,ittm)
  680. segini mlmots
  681. ilmoty = mlmots
  682. mots(1)= lesobl(2)
  683. typret = 'LISTMOTS'
  684. CALL ECCTAB(itvar2,'MOT',0,0.D0,'NOMDDL',lvar0,ittl,
  685. & TYPRET,I1,X1,CHARRE,LVAR1,ilmoty)
  686. typret = 'MOT '
  687. CALL ECCTAB(itvar2,'MOT',0,0.D0,'DISC',lvar0,ittl,
  688. & TYPRET,I1,X1,cha1,LVAR1,ittm)
  689.  
  690. * itprim.DAT
  691. jgn = 8
  692. jgm = 1
  693. segini mlmots
  694. ijmot1 = mlmots
  695. mots(1)= 'SCAL '
  696. typret = 'LISTMOTS'
  697. CALL ECCTAB(itdat1,'MOT',0,0.D0,'NOMDDL',lvar0,ittl,
  698. & TYPRET,I1,X1,CHARRE,LVAR1,ijmot1)
  699. typret = 'MOT '
  700. CALL ECCTAB(itdat1,'MOT',0,0.D0,'DISC',lvar0,ittl,
  701. & TYPRET,I1,X1,'CSTE',LVAR1,ittm)
  702. typret = 'FLOTTANT'
  703. CALL ECCTAB(itdat1,'MOT',0,0.D0,'VALEUR',lvar0,ittl,
  704. & TYPRET,I1,1.d0,CHARRE,LVAR1,ittm)
  705.  
  706. * itprim.COF
  707. typret = 'ENTIER '
  708. I1 = 1
  709. CALL ECCTAB(itcof1,'MOT',0,0.D0,'LDAT',lvar0,ittl,
  710. & TYPRET,I1,X1,CHARRE,LVAR1,ittm)
  711.  
  712. * itprim . k
  713. typret = 'TABLE '
  714. call crtabl(it11)
  715. CALL ECCTAB(it1,'ENTIER',1,0.D0,' ',lvar0,ittl,
  716. & TYPRET,I1,X1,CHARRE,LVAR1,it11)
  717. call crtabl(it12)
  718. CALL ECCTAB(it1,'ENTIER',2,0.D0,' ',lvar0,ittl,
  719. & TYPRET,I1,X1,CHARRE,LVAR1,it12)
  720.  
  721. * itprim . k . l
  722. typret = 'LISTENTI'
  723. jg = 1
  724. segini mlenti
  725. ilen11 = mlenti
  726. lect(1) = 1
  727. CALL ECCTAB(it11,'ENTIER',1,0.D0,' ',lvar0,ittl,
  728. & TYPRET,I1,X1,CHARRE,LVAR1,ilen11)
  729. CALL ECCTAB(it12,'ENTIER',2,0.D0,' ',lvar0,ittl,
  730. & TYPRET,I1,X1,CHARRE,LVAR1,ilen11)
  731.  
  732. ***********************************************************************
  733. * table duale
  734. call crtabl(itdual)
  735. typret = 'ENTIER '
  736. I1 = 1
  737. CALL ECCTAB(itdual,'MOT',0,0.D0,'NUMOP',lvar0,ittl,
  738. & TYPRET,I1,X1,CHARRE,LVAR1,ittm)
  739. CALL ECCTAB(itdual,'MOT',0,0.D0,'NUMVAR',lvar0,ittl,
  740. & TYPRET,I1,X1,CHARRE,LVAR1,ITTM)
  741. I1 = 0
  742. CALL ECCTAB(itdual,'MOT',0,0.D0,'NUMDAT',lvar0,ittl,
  743. & TYPRET,I1,X1,CHARRE,LVAR1,ITTM)
  744. CALL ECCTAB(itdual,'MOT',0,0.D0,'NUMCOF',lvar0,ittl,
  745. & TYPRET,I1,X1,CHARRE,LVAR1,ITTM)
  746. I1 = 2
  747. CALL ECCTAB(itdual,'MOT',0,0.D0,'NUMDER',lvar0,ittl,
  748. & TYPRET,I1,X1,CHARRE,LVAR1,ITTM)
  749.  
  750. typret = 'TABLE '
  751. call crtabl(itvar)
  752. CALL ECCTAB(itdual,'MOT',0,0.D0,'VAR',lvar0,ittl,
  753. & TYPRET,I1,X1,CHARRE,LVAR1,itvar)
  754. call crtabl(itdat)
  755. CALL ECCTAB(itdual,'MOT',0,0.D0,'DAT',lvar0,ittl,
  756. & TYPRET,I1,X1,CHARRE,LVAR1,itdat)
  757. call crtabl(itcof)
  758. CALL ECCTAB(itdual,'MOT',0,0.D0,'COF',lvar0,ittl,
  759. & TYPRET,I1,X1,CHARRE,LVAR1,itcof)
  760.  
  761. call crtabl(it1)
  762. CALL ECCTAB(itdual,'ENTIER',1,0.D0,' ',lvar0,ittl,
  763. & TYPRET,I1,X1,CHARRE,LVAR1,it1)
  764.  
  765. call crtabl(itvar1)
  766. CALL ECCTAB(itvar,'ENTIER',1,0.D0,' ',lvar0,ittl,
  767. & TYPRET,I1,X1,CHARRE,LVAR1,itvar1)
  768.  
  769. * itdual.VAR
  770. nomid = lnomid(15)
  771. jgn = 8
  772. jgm = 3
  773. segini mlmots
  774. ilmotx = mlmots
  775. do jj = 1, jgm
  776. mots(jj)= lesobl(jj)
  777. enddo
  778. typret = 'LISTMOTS'
  779. CALL ECCTAB(itvar1,'MOT',0,0.D0,'NOMDDL',lvar0,ittl,
  780. & TYPRET,I1,X1,CHARRE,LVAR1,ilmotx)
  781. typret = 'MOT '
  782. cha1 = 'LINM'
  783. CALL ECCTAB(itvar1,'MOT',0,0.D0,'DISC',lvar0,ittl,
  784. & TYPRET,I1,X1,cha1,LVAR1,ittm)
  785.  
  786. * itdual . k
  787. typret = 'TABLE '
  788. call crtabl(it11)
  789. CALL ECCTAB(it1,'ENTIER',1,0.D0,' ',lvar0,ittl,
  790. & TYPRET,I1,X1,CHARRE,LVAR1,it11)
  791.  
  792. * itdual . k . l
  793. typret = 'ENTIER '
  794. I1 = 0
  795. CALL ECCTAB(it11,'ENTIER',0,0.D0,' ',lvar0,ittl,
  796. & TYPRET,I1,X1,CHARRE,LVAR1,ittm)
  797. * pour DIVE
  798. endif
  799. ***********************************************************************
  800. if (iope.eq.4) then
  801. * pour ADVE
  802. * table primale
  803. call crtabl(itprim)
  804. typret = 'ENTIER '
  805. I1 = 2
  806. CALL ECCTAB(itprim,'MOT',0,0.D0,'NUMOP',lvar0,ittl,
  807. & TYPRET,I1,X1,CHARRE,LVAR1,ittm)
  808. CALL ECCTAB(itprim,'MOT',0,0.D0,'NUMVAR',lvar0,ittl,
  809. & TYPRET,I1,X1,CHARRE,LVAR1,ITTM)
  810. CALL ECCTAB(itprim,'MOT',0,0.D0,'NUMDER',lvar0,ittl,
  811. & TYPRET,I1,X1,CHARRE,LVAR1,ITTM)
  812. I1 = 3
  813. CALL ECCTAB(itprim,'MOT',0,0.D0,'NUMDAT',lvar0,ittl,
  814. & TYPRET,I1,X1,CHARRE,LVAR1,ITTM)
  815. CALL ECCTAB(itprim,'MOT',0,0.D0,'NUMCOF',lvar0,ittl,
  816. & TYPRET,I1,X1,CHARRE,LVAR1,ITTM)
  817.  
  818. typret = 'TABLE '
  819. call crtabl(itvar)
  820. CALL ECCTAB(itprim,'MOT',0,0.D0,'VAR',lvar0,ittl,
  821. & TYPRET,I1,X1,CHARRE,LVAR1,itvar)
  822. call crtabl(itdat)
  823. CALL ECCTAB(itprim,'MOT',0,0.D0,'DAT',lvar0,ittl,
  824. & TYPRET,I1,X1,CHARRE,LVAR1,itdat)
  825. call crtabl(itcof)
  826. CALL ECCTAB(itprim,'MOT',0,0.D0,'COF',lvar0,ittl,
  827. & TYPRET,I1,X1,CHARRE,LVAR1,itcof)
  828.  
  829. call crtabl(it1)
  830. CALL ECCTAB(itprim,'ENTIER',1,0.D0,' ',lvar0,ittl,
  831. & TYPRET,I1,X1,CHARRE,LVAR1,it1)
  832. call crtabl(it2)
  833. CALL ECCTAB(itprim,'ENTIER',2,0.D0,' ',lvar0,ittl,
  834. & TYPRET,I1,X1,CHARRE,LVAR1,it2)
  835.  
  836.  
  837. call crtabl(itvar1)
  838. CALL ECCTAB(itvar,'ENTIER',1,0.D0,' ',lvar0,ittl,
  839. & TYPRET,I1,X1,CHARRE,LVAR1,itvar1)
  840. call crtabl(itvar2)
  841. CALL ECCTAB(itvar,'ENTIER',2,0.D0,' ',lvar0,ittl,
  842. & TYPRET,I1,X1,CHARRE,LVAR1,itvar2)
  843. call crtabl(itdat1)
  844. CALL ECCTAB(itdat,'ENTIER',1,0.D0,' ',lvar0,ittl,
  845. & TYPRET,I1,X1,CHARRE,LVAR1,itdat1)
  846. call crtabl(itdat2)
  847. CALL ECCTAB(itdat,'ENTIER',2,0.D0,' ',lvar0,ittl,
  848. & TYPRET,I1,X1,CHARRE,LVAR1,itdat2)
  849. call crtabl(itdat3)
  850. CALL ECCTAB(itdat,'ENTIER',3,0.D0,' ',lvar0,ittl,
  851. & TYPRET,I1,X1,CHARRE,LVAR1,itdat3)
  852. call crtabl(itcof1)
  853. CALL ECCTAB(itcof,'ENTIER',1,0.D0,' ',lvar0,ittl,
  854. & TYPRET,I1,X1,CHARRE,LVAR1,itcof1)
  855. call crtabl(itcof2)
  856. CALL ECCTAB(itcof,'ENTIER',2,0.D0,' ',lvar0,ittl,
  857. & TYPRET,I1,X1,CHARRE,LVAR1,itcof2)
  858. call crtabl(itcof3)
  859. CALL ECCTAB(itcof,'ENTIER',3,0.D0,' ',lvar0,ittl,
  860. & TYPRET,I1,X1,CHARRE,LVAR1,itcof3)
  861.  
  862. * itprim.VAR
  863. nomid = lnomid(1)
  864. jgn = 8
  865. jgm = 1
  866. segini mlmots
  867. ilmotx = mlmots
  868. mots(1)= lesobl(1)
  869. typret = 'LISTMOTS'
  870. CALL ECCTAB(itvar1,'MOT',0,0.D0,'NOMDDL',lvar0,ittl,
  871. & TYPRET,I1,X1,CHARRE,LVAR1,ilmotx)
  872. typret = 'MOT '
  873. cha1 = nomtp(nefmod)
  874. * correction QUAF
  875. cha1 = 'QUAF'
  876. CALL ECCTAB(itvar1,'MOT',0,0.D0,'DISC',lvar0,ittl,
  877. & TYPRET,I1,X1,cha1,LVAR1,ittm)
  878. segini mlmots
  879. ilmoty = mlmots
  880. mots(1)= lesobl(2)
  881. typret = 'LISTMOTS'
  882. CALL ECCTAB(itvar2,'MOT',0,0.D0,'NOMDDL',lvar0,ittl,
  883. & TYPRET,I1,X1,CHARRE,LVAR1,ilmoty)
  884. typret = 'MOT '
  885. CALL ECCTAB(itvar2,'MOT',0,0.D0,'DISC',lvar0,ittl,
  886. & TYPRET,I1,X1,cha1,LVAR1,ittm)
  887.  
  888. * itprim.DAT
  889. typret = 'LISTMOTS'
  890. CALL ECCTAB(itdat1,'MOT',0,0.D0,'NOMDDL',lvar0,ittl,
  891. & TYPRET,I1,X1,CHARRE,LVAR1,ilmotx)
  892. typret = 'MOT '
  893. CALL ECCTAB(itdat1,'MOT',0,0.D0,'DISC',lvar0,ittl,
  894. & TYPRET,I1,X1,cha1,LVAR1,ittm)
  895. typret = 'CHPOINT '
  896. CALL ECCTAB(itdat1,'MOT',0,0.D0,'VALEUR',lvar0,ittl,
  897. & TYPRET,I1,X1,CHARRE,LVAR1,ichpad)
  898.  
  899. typret = 'LISTMOTS'
  900. CALL ECCTAB(itdat2,'MOT',0,0.D0,'NOMDDL',lvar0,ittl,
  901. & TYPRET,I1,X1,CHARRE,LVAR1,ilmoty)
  902. typret = 'MOT '
  903. CALL ECCTAB(itdat2,'MOT',0,0.D0,'DISC',lvar0,ittl,
  904. & TYPRET,I1,X1,cha1,LVAR1,ittm)
  905. typret = 'CHPOINT '
  906. CALL ECCTAB(itdat2,'MOT',0,0.D0,'VALEUR',lvar0,ittl,
  907. & TYPRET,I1,X1,CHARRE,LVAR1,ichpad)
  908. jgn = 8
  909. jgm = 1
  910. segini mlmots
  911. ijmot1 = mlmots
  912. mots(1)= 'SCAL '
  913. typret = 'LISTMOTS'
  914. CALL ECCTAB(itdat3,'MOT',0,0.D0,'NOMDDL',lvar0,ittl,
  915. & TYPRET,I1,X1,CHARRE,LVAR1,ijmot1)
  916. typret = 'MOT '
  917. CALL ECCTAB(itdat3,'MOT',0,0.D0,'DISC',lvar0,ittl,
  918. & TYPRET,I1,X1,'CSTE',LVAR1,ittm)
  919. typret = 'FLOTTANT'
  920. CALL ECCTAB(itdat3,'MOT',0,0.D0,'VALEUR',lvar0,ittl,
  921. & TYPRET,I1,1.d0,CHARRE,LVAR1,ittm)
  922.  
  923. * itprim.COF
  924. typret = 'ENTIER '
  925. I1 = 1
  926. CALL ECCTAB(itcof1,'MOT',0,0.D0,'LDAT',lvar0,ittl,
  927. & TYPRET,I1,X1,CHARRE,LVAR1,ittm)
  928. I1 = 2
  929. CALL ECCTAB(itcof2,'MOT',0,0.D0,'LDAT',lvar0,ittl,
  930. & TYPRET,I1,X1,CHARRE,LVAR1,ittm)
  931. I1 = 3
  932. CALL ECCTAB(itcof3,'MOT',0,0.D0,'LDAT',lvar0,ittl,
  933. & TYPRET,I1,X1,CHARRE,LVAR1,ittm)
  934.  
  935. * itprim . k
  936. typret = 'TABLE '
  937. call crtabl(it11)
  938. CALL ECCTAB(it1,'ENTIER',1,0.D0,' ',lvar0,ittl,
  939. & TYPRET,I1,X1,CHARRE,LVAR1,it11)
  940. call crtabl(it12)
  941. CALL ECCTAB(it1,'ENTIER',2,0.D0,' ',lvar0,ittl,
  942. & TYPRET,I1,X1,CHARRE,LVAR1,it12)
  943. call crtabl(it21)
  944. CALL ECCTAB(it2,'ENTIER',1,0.D0,' ',lvar0,ittl,
  945. & TYPRET,I1,X1,CHARRE,LVAR1,it21)
  946. call crtabl(it22)
  947. CALL ECCTAB(it2,'ENTIER',2,0.D0,' ',lvar0,ittl,
  948. & TYPRET,I1,X1,CHARRE,LVAR1,it22)
  949.  
  950. * itprim . k . l
  951. typret = 'LISTENTI'
  952. jg = 2
  953. segini mlenti
  954. ilen11 = mlenti
  955. lect(1) = 1
  956. lect(2) = 3
  957. CALL ECCTAB(it11,'ENTIER',1,0.D0,' ',lvar0,ittl,
  958. & TYPRET,I1,X1,CHARRE,LVAR1,ilen11)
  959. segini mlenti
  960. ilen12 = mlenti
  961. lect(1) = 2
  962. lect(2) = 3
  963. CALL ECCTAB(it11,'ENTIER',2,0.D0,' ',lvar0,ittl,
  964. & TYPRET,I1,X1,CHARRE,LVAR1,ilen12)
  965. segini mlenti
  966. ilen21 = mlenti
  967. lect(1) = 1
  968. lect(2) = 3
  969. CALL ECCTAB(it22,'ENTIER',1,0.D0,' ',lvar0,ittl,
  970. & TYPRET,I1,X1,CHARRE,LVAR1,ilen21)
  971. segini mlenti
  972. ilen22 = mlenti
  973. lect(1) = 2
  974. lect(2) = 3
  975. CALL ECCTAB(it22,'ENTIER',2,0.D0,' ',lvar0,ittl,
  976. & TYPRET,I1,X1,CHARRE,LVAR1,ilen22)
  977.  
  978. ***********************************************************************
  979. * table duale
  980. call crtabl(itdual)
  981. typret = 'ENTIER '
  982. I1 = 2
  983. CALL ECCTAB(itdual,'MOT',0,0.D0,'NUMOP',lvar0,ittl,
  984. & TYPRET,I1,X1,CHARRE,LVAR1,ittm)
  985. CALL ECCTAB(itdual,'MOT',0,0.D0,'NUMVAR',lvar0,ittl,
  986. & TYPRET,I1,X1,CHARRE,LVAR1,ITTM)
  987. CALL ECCTAB(itdual,'MOT',0,0.D0,'NUMDER',lvar0,ittl,
  988. & TYPRET,I1,X1,CHARRE,LVAR1,ITTM)
  989. I1 = 0
  990. CALL ECCTAB(itdual,'MOT',0,0.D0,'NUMDAT',lvar0,ittl,
  991. & TYPRET,I1,X1,CHARRE,LVAR1,ITTM)
  992. CALL ECCTAB(itdual,'MOT',0,0.D0,'NUMCOF',lvar0,ittl,
  993. & TYPRET,I1,X1,CHARRE,LVAR1,ITTM)
  994.  
  995. typret = 'TABLE '
  996. call crtabl(itvar)
  997. CALL ECCTAB(itdual,'MOT',0,0.D0,'VAR',lvar0,ittl,
  998. & TYPRET,I1,X1,CHARRE,LVAR1,itvar)
  999. call crtabl(itdat)
  1000. CALL ECCTAB(itdual,'MOT',0,0.D0,'DAT',lvar0,ittl,
  1001. & TYPRET,I1,X1,CHARRE,LVAR1,itdat)
  1002. call crtabl(itcof)
  1003. CALL ECCTAB(itdual,'MOT',0,0.D0,'COF',lvar0,ittl,
  1004. & TYPRET,I1,X1,CHARRE,LVAR1,itcof)
  1005.  
  1006. call crtabl(it1)
  1007. CALL ECCTAB(itdual,'ENTIER',1,0.D0,' ',lvar0,ittl,
  1008. & TYPRET,I1,X1,CHARRE,LVAR1,it1)
  1009. call crtabl(it2)
  1010. CALL ECCTAB(itdual,'ENTIER',2,0.D0,' ',lvar0,ittl,
  1011. & TYPRET,I1,X1,CHARRE,LVAR1,it2)
  1012.  
  1013. call crtabl(itvar1)
  1014. CALL ECCTAB(itvar,'ENTIER',1,0.D0,' ',lvar0,ittl,
  1015. & TYPRET,I1,X1,CHARRE,LVAR1,itvar1)
  1016. call crtabl(itvar2)
  1017. CALL ECCTAB(itvar,'ENTIER',2,0.D0,' ',lvar0,ittl,
  1018. & TYPRET,I1,X1,CHARRE,LVAR1,itvar2)
  1019.  
  1020. * itdual.VAR
  1021. nomid = lnomid(2)
  1022. jgn = 8
  1023. jgm = 1
  1024. segini mlmots
  1025. ilmotx = mlmots
  1026. mots(1)= lesobl(1)
  1027. typret = 'LISTMOTS'
  1028. CALL ECCTAB(itvar1,'MOT',0,0.D0,'NOMDDL',lvar0,ittl,
  1029. & TYPRET,I1,X1,CHARRE,LVAR1,ilmotx)
  1030. typret = 'MOT '
  1031. cha1 = nomtp(nefmod)
  1032. * correction QUAF
  1033. cha1 = 'QUAF'
  1034. CALL ECCTAB(itvar1,'MOT',0,0.D0,'DISC',lvar0,ittl,
  1035. & TYPRET,I1,X1,cha1,LVAR1,ittm)
  1036. segini mlmots
  1037. ilmoty = mlmots
  1038. mots(1)= lesobl(2)
  1039. typret = 'LISTMOTS'
  1040. CALL ECCTAB(itvar2,'MOT',0,0.D0,'NOMDDL',lvar0,ittl,
  1041. & TYPRET,I1,X1,CHARRE,LVAR1,ilmoty)
  1042. typret = 'MOT '
  1043. CALL ECCTAB(itvar2,'MOT',0,0.D0,'DISC',lvar0,ittl,
  1044. & TYPRET,I1,X1,cha1,LVAR1,ittm)
  1045.  
  1046.  
  1047. * itdual . k
  1048. typret = 'TABLE '
  1049. call crtabl(it11)
  1050. CALL ECCTAB(it1,'ENTIER',1,0.D0,' ',lvar0,ittl,
  1051. & TYPRET,I1,X1,CHARRE,LVAR1,it11)
  1052. call crtabl(it12)
  1053. CALL ECCTAB(it1,'ENTIER',2,0.D0,' ',lvar0,ittl,
  1054. & TYPRET,I1,X1,CHARRE,LVAR1,it12)
  1055. call crtabl(it21)
  1056. CALL ECCTAB(it2,'ENTIER',1,0.D0,' ',lvar0,ittl,
  1057. & TYPRET,I1,X1,CHARRE,LVAR1,it21)
  1058. call crtabl(it22)
  1059. CALL ECCTAB(it2,'ENTIER',2,0.D0,' ',lvar0,ittl,
  1060. & TYPRET,I1,X1,CHARRE,LVAR1,it22)
  1061.  
  1062. * itdual . k . l
  1063. typret = 'ENTIER'
  1064. I1 = 0
  1065. CALL ECCTAB(it11,'ENTIER',0,0.D0,' ',lvar0,ittl,
  1066. & TYPRET,I1,X1,CHARRE,LVAR1,ittm)
  1067. CALL ECCTAB(it22,'ENTIER',0,0.D0,' ',lvar0,ittl,
  1068. & TYPRET,I1,X1,CHARRE,LVAR1,ittm)
  1069. * pour ADVE
  1070. endif
  1071. ***********************************************************************
  1072. if (iope.eq.5) then
  1073. * pour EXTR CENT
  1074. * table primale
  1075. call crtabl(itprim)
  1076. typret = 'ENTIER '
  1077. I1 = 1
  1078. CALL ECCTAB(itprim,'MOT',0,0.D0,'NUMOP',lvar0,ittl,
  1079. & TYPRET,I1,X1,CHARRE,LVAR1,ittm)
  1080. CALL ECCTAB(itprim,'MOT',0,0.D0,'NUMVAR',lvar0,ittl,
  1081. & TYPRET,I1,X1,CHARRE,LVAR1,ITTM)
  1082. I1 = idim
  1083. CALL ECCTAB(itprim,'MOT',0,0.D0,'NUMDER',lvar0,ittl,
  1084. & TYPRET,I1,X1,CHARRE,LVAR1,ITTM)
  1085. I1 = 0
  1086. CALL ECCTAB(itprim,'MOT',0,0.D0,'NUMDAT',lvar0,ittl,
  1087. & TYPRET,I1,X1,CHARRE,LVAR1,ITTM)
  1088. CALL ECCTAB(itprim,'MOT',0,0.D0,'NUMCOF',lvar0,ittl,
  1089. & TYPRET,I1,X1,CHARRE,LVAR1,ITTM)
  1090.  
  1091. typret = 'TABLE '
  1092. call crtabl(itvar)
  1093. CALL ECCTAB(itprim,'MOT',0,0.D0,'VAR',lvar0,ittl,
  1094. & TYPRET,I1,X1,CHARRE,LVAR1,itvar)
  1095. call crtabl(itdat)
  1096. CALL ECCTAB(itprim,'MOT',0,0.D0,'DAT',lvar0,ittl,
  1097. & TYPRET,I1,X1,CHARRE,LVAR1,itdat)
  1098. call crtabl(itcof)
  1099. CALL ECCTAB(itprim,'MOT',0,0.D0,'COF',lvar0,ittl,
  1100. & TYPRET,I1,X1,CHARRE,LVAR1,itcof)
  1101.  
  1102. call crtabl(it1)
  1103. CALL ECCTAB(itprim,'ENTIER',1,0.D0,' ',lvar0,ittl,
  1104. & TYPRET,I1,X1,CHARRE,LVAR1,it1)
  1105.  
  1106.  
  1107. call crtabl(itvar1)
  1108. CALL ECCTAB(itvar,'ENTIER',1,0.D0,' ',lvar0,ittl,
  1109. & TYPRET,I1,X1,CHARRE,LVAR1,itvar1)
  1110.  
  1111. * itprim.VAR
  1112. typret = 'FLOTTANT'
  1113. X1 = 0.d0
  1114. CALL ECCTAB(itvar1,'MOT',0,0.D0,'VALEUR',lvar0,ittl,
  1115. & TYPRET,I1,X1,charre,LVAR1,ittm)
  1116.  
  1117.  
  1118. * itprim . k
  1119. typret = 'TABLE '
  1120. call crtabl(it11)
  1121. CALL ECCTAB(it1,'ENTIER',1,0.D0,' ',lvar0,ittl,
  1122. & TYPRET,I1,X1,CHARRE,LVAR1,it11)
  1123.  
  1124. * itprim . k . l
  1125. typret = 'ENTIER'
  1126. I1 = 0
  1127. CALL ECCTAB(it11,'ENTIER',0,0.D0,' ',lvar0,ittl,
  1128. & TYPRET,I1,X1,CHARRE,LVAR1,ittm)
  1129.  
  1130. ***********************************************************************
  1131. * table duale
  1132. call crtabl(itdual)
  1133. typret = 'ENTIER '
  1134. I1 = 1
  1135. CALL ECCTAB(itdual,'MOT',0,0.D0,'NUMOP',lvar0,ittl,
  1136. & TYPRET,I1,X1,CHARRE,LVAR1,ittm)
  1137. CALL ECCTAB(itdual,'MOT',0,0.D0,'NUMVAR',lvar0,ittl,
  1138. & TYPRET,I1,X1,CHARRE,LVAR1,ITTM)
  1139. I1 = 0
  1140. CALL ECCTAB(itdual,'MOT',0,0.D0,'NUMDAT',lvar0,ittl,
  1141. & TYPRET,I1,X1,CHARRE,LVAR1,ITTM)
  1142. CALL ECCTAB(itdual,'MOT',0,0.D0,'NUMCOF',lvar0,ittl,
  1143. & TYPRET,I1,X1,CHARRE,LVAR1,ITTM)
  1144. I1 = idim
  1145. CALL ECCTAB(itdual,'MOT',0,0.D0,'NUMDER',lvar0,ittl,
  1146. & TYPRET,I1,X1,CHARRE,LVAR1,ITTM)
  1147.  
  1148.  
  1149. typret = 'TABLE '
  1150. call crtabl(itvar)
  1151. CALL ECCTAB(itdual,'MOT',0,0.D0,'VAR',lvar0,ittl,
  1152. & TYPRET,I1,X1,CHARRE,LVAR1,itvar)
  1153. call crtabl(itdat)
  1154. CALL ECCTAB(itdual,'MOT',0,0.D0,'DAT',lvar0,ittl,
  1155. & TYPRET,I1,X1,CHARRE,LVAR1,itdat)
  1156. call crtabl(itcof)
  1157. CALL ECCTAB(itdual,'MOT',0,0.D0,'COF',lvar0,ittl,
  1158. & TYPRET,I1,X1,CHARRE,LVAR1,itcof)
  1159.  
  1160. call crtabl(it1)
  1161. CALL ECCTAB(itdual,'ENTIER',1,0.D0,' ',lvar0,ittl,
  1162. & TYPRET,I1,X1,CHARRE,LVAR1,it1)
  1163.  
  1164. call crtabl(itvar1)
  1165. CALL ECCTAB(itvar,'ENTIER',1,0.D0,' ',lvar0,ittl,
  1166. & TYPRET,I1,X1,CHARRE,LVAR1,itvar1)
  1167.  
  1168. * itdual.VAR
  1169. typret = 'MOT'
  1170. cha1 = 'DUMM'
  1171. CALL ECCTAB(itvar1,'MOT',0,0.D0,'NOMDDL',lvar0,ittl,
  1172. & TYPRET,I1,X1,cha1,LVAR1,ittm)
  1173. cha1 = 'CSTE'
  1174. CALL ECCTAB(itvar1,'MOT',0,0.D0,'DISC',lvar0,ittl,
  1175. & TYPRET,I1,X1,cha1,LVAR1,ittm)
  1176.  
  1177.  
  1178. * itdual . k
  1179. typret = 'TABLE '
  1180. call crtabl(it11)
  1181. CALL ECCTAB(it1,'ENTIER',1,0.D0,' ',lvar0,ittl,
  1182. & TYPRET,I1,X1,CHARRE,LVAR1,it11)
  1183.  
  1184. * itdual . k . l
  1185. typret = 'ENTIER'
  1186. I1 = 0
  1187. CALL ECCTAB(it11,'ENTIER',0,0.D0,' ',lvar0,ittl,
  1188. & TYPRET,I1,X1,CHARRE,LVAR1,ittm)
  1189. * pour EXTR CENT
  1190. endif
  1191. ***********************************************************************
  1192. if (iope.eq.6) then
  1193. * pour 2nd membre resolution pression
  1194. * table primale
  1195. call crtabl(itprim)
  1196. typret = 'ENTIER '
  1197. I1 = 1
  1198. CALL ECCTAB(itprim,'MOT',0,0.D0,'NUMOP',lvar0,ittl,
  1199. & TYPRET,I1,X1,CHARRE,LVAR1,ittm)
  1200. CALL ECCTAB(itprim,'MOT',0,0.D0,'NUMVAR',lvar0,ittl,
  1201. & TYPRET,I1,X1,CHARRE,LVAR1,ITTM)
  1202. CALL ECCTAB(itprim,'MOT',0,0.D0,'NUMDAT',lvar0,ittl,
  1203. & TYPRET,I1,X1,CHARRE,LVAR1,ITTM)
  1204. CALL ECCTAB(itprim,'MOT',0,0.D0,'NUMCOF',lvar0,ittl,
  1205. & TYPRET,I1,X1,CHARRE,LVAR1,ITTM)
  1206. I1 = idim
  1207. CALL ECCTAB(itprim,'MOT',0,0.D0,'NUMDER',lvar0,ittl,
  1208. & TYPRET,I1,X1,CHARRE,LVAR1,ITTM)
  1209.  
  1210. typret = 'TABLE '
  1211. call crtabl(itvar)
  1212. CALL ECCTAB(itprim,'MOT',0,0.D0,'VAR',lvar0,ittl,
  1213. & TYPRET,I1,X1,CHARRE,LVAR1,itvar)
  1214. call crtabl(itdat)
  1215. CALL ECCTAB(itprim,'MOT',0,0.D0,'DAT',lvar0,ittl,
  1216. & TYPRET,I1,X1,CHARRE,LVAR1,itdat)
  1217. call crtabl(itcof)
  1218. CALL ECCTAB(itprim,'MOT',0,0.D0,'COF',lvar0,ittl,
  1219. & TYPRET,I1,X1,CHARRE,LVAR1,itcof)
  1220.  
  1221. call crtabl(it1)
  1222. CALL ECCTAB(itprim,'ENTIER',1,0.D0,' ',lvar0,ittl,
  1223. & TYPRET,I1,X1,CHARRE,LVAR1,it1)
  1224.  
  1225.  
  1226. call crtabl(itvar1)
  1227. CALL ECCTAB(itvar,'ENTIER',1,0.D0,' ',lvar0,ittl,
  1228. & TYPRET,I1,X1,CHARRE,LVAR1,itvar1)
  1229. call crtabl(itdat1)
  1230. CALL ECCTAB(itdat,'ENTIER',1,0.D0,' ',lvar0,ittl,
  1231. & TYPRET,I1,X1,CHARRE,LVAR1,itdat1)
  1232. call crtabl(itcof1)
  1233. CALL ECCTAB(itcof,'ENTIER',1,0.D0,' ',lvar0,ittl,
  1234. & TYPRET,I1,X1,CHARRE,LVAR1,itcof1)
  1235.  
  1236. * itprim.VAR
  1237. nomid = lnomid(16)
  1238. jgn = 8
  1239. jgm = 3
  1240. segini mlmots
  1241. ilmotx = mlmots
  1242. do jj = 1, jgm
  1243. mots(jj)= lesobl(jj)
  1244. enddo
  1245. typret = 'LISTMOTS'
  1246. CALL ECCTAB(itvar1,'MOT',0,0.D0,'NOMDDL',lvar0,ittl,
  1247. & TYPRET,I1,X1,CHARRE,LVAR1,ilmotx)
  1248. typret = 'MOT'
  1249. cha1 = 'LINM'
  1250. CALL ECCTAB(itvar1,'MOT',0,0.D0,'DISC',lvar0,ittl,
  1251. & TYPRET,I1,X1,cha1,LVAR1,ittm)
  1252. typret = 'CHPOINT'
  1253. CALL ECCTAB(itvar1,'MOT',0,0.D0,'VALEUR',lvar0,ittl,
  1254. & TYPRET,I1,X1,charre,LVAR1,ichpad)
  1255.  
  1256. * itprim.DAT
  1257. jgn = 8
  1258. jgm = 1
  1259. segini mlmots
  1260. ijmot1 = mlmots
  1261. mots(1)= 'SCAL '
  1262. typret = 'LISTMOTS'
  1263. CALL ECCTAB(itdat1,'MOT',0,0.D0,'NOMDDL',lvar0,ittl,
  1264. & TYPRET,I1,X1,CHARRE,LVAR1,ijmot1)
  1265. typret = 'MOT'
  1266. cha1 = 'CSTE'
  1267. CALL ECCTAB(itdat1,'MOT',0,0.D0,'DISC',lvar0,ittl,
  1268. & TYPRET,I1,X1,cha1,LVAR1,ittm)
  1269. typret = 'FLOTTANT'
  1270. X1 = 1.D0
  1271. CALL ECCTAB(itdat1,'MOT',0,0.D0,'VALEUR',lvar0,ittl,
  1272. & TYPRET,I1,X1,charre,LVAR1,ittm)
  1273.  
  1274. * itprim.COF
  1275. typret = 'ENTIER'
  1276. I1 = 1
  1277. CALL ECCTAB(itcof1,'MOT',0,0.D0,'LDAT',lvar0,ittl,
  1278. & TYPRET,I1,X1,charre,LVAR1,ittm)
  1279.  
  1280.  
  1281. * itprim . k
  1282. typret = 'TABLE '
  1283. call crtabl(it11)
  1284. CALL ECCTAB(it1,'ENTIER',1,0.D0,' ',lvar0,ittl,
  1285. & TYPRET,I1,X1,CHARRE,LVAR1,it11)
  1286.  
  1287. * itprim . k . l
  1288. typret = 'ENTIER'
  1289. I1 = 1
  1290. CALL ECCTAB(it11,'ENTIER',0,0.D0,' ',lvar0,ittl,
  1291. & TYPRET,I1,X1,CHARRE,LVAR1,ittm)
  1292.  
  1293. ***********************************************************************
  1294. * table duale
  1295. call crtabl(itdual)
  1296. typret = 'ENTIER '
  1297. I1 = 1
  1298. CALL ECCTAB(itdual,'MOT',0,0.D0,'NUMOP',lvar0,ittl,
  1299. & TYPRET,I1,X1,CHARRE,LVAR1,ittm)
  1300. CALL ECCTAB(itdual,'MOT',0,0.D0,'NUMVAR',lvar0,ittl,
  1301. & TYPRET,I1,X1,CHARRE,LVAR1,ITTM)
  1302. I1 = 0
  1303. CALL ECCTAB(itdual,'MOT',0,0.D0,'NUMDAT',lvar0,ittl,
  1304. & TYPRET,I1,X1,CHARRE,LVAR1,ITTM)
  1305. CALL ECCTAB(itdual,'MOT',0,0.D0,'NUMCOF',lvar0,ittl,
  1306. & TYPRET,I1,X1,CHARRE,LVAR1,ITTM)
  1307. I1 = idim
  1308. CALL ECCTAB(itdual,'MOT',0,0.D0,'NUMDER',lvar0,ittl,
  1309. & TYPRET,I1,X1,CHARRE,LVAR1,ITTM)
  1310.  
  1311.  
  1312. typret = 'TABLE '
  1313. call crtabl(itvar)
  1314. CALL ECCTAB(itdual,'MOT',0,0.D0,'VAR',lvar0,ittl,
  1315. & TYPRET,I1,X1,CHARRE,LVAR1,itvar)
  1316. call crtabl(itdat)
  1317. CALL ECCTAB(itdual,'MOT',0,0.D0,'DAT',lvar0,ittl,
  1318. & TYPRET,I1,X1,CHARRE,LVAR1,itdat)
  1319. call crtabl(itcof)
  1320. CALL ECCTAB(itdual,'MOT',0,0.D0,'COF',lvar0,ittl,
  1321. & TYPRET,I1,X1,CHARRE,LVAR1,itcof)
  1322.  
  1323. call crtabl(it1)
  1324. CALL ECCTAB(itdual,'ENTIER',1,0.D0,' ',lvar0,ittl,
  1325. & TYPRET,I1,X1,CHARRE,LVAR1,it1)
  1326.  
  1327. call crtabl(itvar1)
  1328. CALL ECCTAB(itvar,'ENTIER',1,0.D0,' ',lvar0,ittl,
  1329. & TYPRET,I1,X1,CHARRE,LVAR1,itvar1)
  1330.  
  1331.  
  1332. * itdual.VAR
  1333. jgn = 8
  1334. jgm = 1
  1335. segini mlmots
  1336. ijmot1 = mlmots
  1337. mots(1)= 'SCAL '
  1338. typret = 'LISTMOTS'
  1339. CALL ECCTAB(itvar1,'MOT',0,0.D0,'NOMDDL',lvar0,ittl,
  1340. & TYPRET,I1,X1,CHARRE,LVAR1,ijmot1)
  1341. typret = 'MOT'
  1342. cha1 = 'QUAF'
  1343. CALL ECCTAB(itvar1,'MOT',0,0.D0,'DISC',lvar0,ittl,
  1344. & TYPRET,I1,X1,cha1,LVAR1,ittm)
  1345.  
  1346. * itdual . k
  1347. typret = 'TABLE '
  1348. call crtabl(it11)
  1349. CALL ECCTAB(it1,'ENTIER',1,0.D0,' ',lvar0,ittl,
  1350. & TYPRET,I1,X1,CHARRE,LVAR1,it11)
  1351.  
  1352. * itdual . k . l
  1353. typret = 'ENTIER'
  1354. I1 = 0
  1355. CALL ECCTAB(it11,'ENTIER',0,0.D0,' ',lvar0,ittl,
  1356. & TYPRET,I1,X1,CHARRE,LVAR1,ittm)
  1357. * pour 2nd membre resolution pression
  1358. endif
  1359. ***********************************************************************
  1360. if (iope.eq.7) then
  1361. * pour matrice resolution pression
  1362. * table primale
  1363. call crtabl(itprim)
  1364. typret = 'ENTIER '
  1365. I1 = 1
  1366. CALL ECCTAB(itprim,'MOT',0,0.D0,'NUMOP',lvar0,ittl,
  1367. & TYPRET,I1,X1,CHARRE,LVAR1,ittm)
  1368. CALL ECCTAB(itprim,'MOT',0,0.D0,'NUMVAR',lvar0,ittl,
  1369. & TYPRET,I1,X1,CHARRE,LVAR1,ITTM)
  1370. CALL ECCTAB(itprim,'MOT',0,0.D0,'NUMDAT',lvar0,ittl,
  1371. & TYPRET,I1,X1,CHARRE,LVAR1,ITTM)
  1372. CALL ECCTAB(itprim,'MOT',0,0.D0,'NUMCOF',lvar0,ittl,
  1373. & TYPRET,I1,X1,CHARRE,LVAR1,ITTM)
  1374. I1 = idim
  1375. CALL ECCTAB(itprim,'MOT',0,0.D0,'NUMDER',lvar0,ittl,
  1376. & TYPRET,I1,X1,CHARRE,LVAR1,ITTM)
  1377.  
  1378. typret = 'TABLE '
  1379. call crtabl(itvar)
  1380. CALL ECCTAB(itprim,'MOT',0,0.D0,'VAR',lvar0,ittl,
  1381. & TYPRET,I1,X1,CHARRE,LVAR1,itvar)
  1382. call crtabl(itdat)
  1383. CALL ECCTAB(itprim,'MOT',0,0.D0,'DAT',lvar0,ittl,
  1384. & TYPRET,I1,X1,CHARRE,LVAR1,itdat)
  1385. call crtabl(itcof)
  1386. CALL ECCTAB(itprim,'MOT',0,0.D0,'COF',lvar0,ittl,
  1387. & TYPRET,I1,X1,CHARRE,LVAR1,itcof)
  1388.  
  1389. call crtabl(it1)
  1390. CALL ECCTAB(itprim,'ENTIER',1,0.D0,' ',lvar0,ittl,
  1391. & TYPRET,I1,X1,CHARRE,LVAR1,it1)
  1392.  
  1393.  
  1394. call crtabl(itvar1)
  1395. CALL ECCTAB(itvar,'ENTIER',1,0.D0,' ',lvar0,ittl,
  1396. & TYPRET,I1,X1,CHARRE,LVAR1,itvar1)
  1397. call crtabl(itdat1)
  1398. CALL ECCTAB(itdat,'ENTIER',1,0.D0,' ',lvar0,ittl,
  1399. & TYPRET,I1,X1,CHARRE,LVAR1,itdat1)
  1400. call crtabl(itcof1)
  1401. CALL ECCTAB(itcof,'ENTIER',1,0.D0,' ',lvar0,ittl,
  1402. & TYPRET,I1,X1,CHARRE,LVAR1,itcof1)
  1403.  
  1404. * itprim.VAR
  1405. jgn = 8
  1406. jgm = 1
  1407. segini mlmots
  1408. ijmot1 = mlmots
  1409. mots(1)= 'SCAL '
  1410. typret = 'LISTMOTS'
  1411. CALL ECCTAB(itvar1,'MOT',0,0.D0,'NOMDDL',lvar0,ittl,
  1412. & TYPRET,I1,X1,CHARRE,LVAR1,ijmot1)
  1413. typret = 'MOT'
  1414. cha1 = 'QUAF'
  1415. CALL ECCTAB(itvar1,'MOT',0,0.D0,'DISC',lvar0,ittl,
  1416. & TYPRET,I1,X1,cha1,LVAR1,ittm)
  1417.  
  1418. * itprim.DAT
  1419. typret = 'LISTMOTS'
  1420. CALL ECCTAB(itdat1,'MOT',0,0.D0,'NOMDDL',lvar0,ittl,
  1421. & TYPRET,I1,X1,CHARRE,LVAR1,ijmot1)
  1422. typret = 'MOT'
  1423. cha1 = 'CSTE'
  1424. CALL ECCTAB(itdat1,'MOT',0,0.D0,'DISC',lvar0,ittl,
  1425. & TYPRET,I1,X1,cha1,LVAR1,ittm)
  1426. typret = 'FLOTTANT'
  1427. X1 = 1.D0
  1428. CALL ECCTAB(itdat1,'MOT',0,0.D0,'VALEUR',lvar0,ittl,
  1429. & TYPRET,I1,X1,charre,LVAR1,ittm)
  1430.  
  1431. * itprim.COF
  1432. typret = 'ENTIER'
  1433. I1 = 1
  1434. CALL ECCTAB(itcof1,'MOT',0,0.D0,'LDAT',lvar0,ittl,
  1435. & TYPRET,I1,X1,charre,LVAR1,ittm)
  1436.  
  1437.  
  1438. * itprim . k
  1439. typret = 'TABLE '
  1440. call crtabl(it11)
  1441. CALL ECCTAB(it1,'ENTIER',1,0.D0,' ',lvar0,ittl,
  1442. & TYPRET,I1,X1,CHARRE,LVAR1,it11)
  1443.  
  1444. * itprim . k . l
  1445. typret = 'ENTIER'
  1446. I1 = 1
  1447. CALL ECCTAB(it11,'ENTIER',0,0.D0,' ',lvar0,ittl,
  1448. & TYPRET,I1,X1,CHARRE,LVAR1,ittm)
  1449.  
  1450. ***********************************************************************
  1451. * table duale
  1452. call crtabl(itdual)
  1453. typret = 'ENTIER '
  1454. I1 = 1
  1455. CALL ECCTAB(itdual,'MOT',0,0.D0,'NUMOP',lvar0,ittl,
  1456. & TYPRET,I1,X1,CHARRE,LVAR1,ittm)
  1457. CALL ECCTAB(itdual,'MOT',0,0.D0,'NUMVAR',lvar0,ittl,
  1458. & TYPRET,I1,X1,CHARRE,LVAR1,ITTM)
  1459. I1 = 0
  1460. CALL ECCTAB(itdual,'MOT',0,0.D0,'NUMDAT',lvar0,ittl,
  1461. & TYPRET,I1,X1,CHARRE,LVAR1,ITTM)
  1462. CALL ECCTAB(itdual,'MOT',0,0.D0,'NUMCOF',lvar0,ittl,
  1463. & TYPRET,I1,X1,CHARRE,LVAR1,ITTM)
  1464. I1 = idim
  1465. CALL ECCTAB(itdual,'MOT',0,0.D0,'NUMDER',lvar0,ittl,
  1466. & TYPRET,I1,X1,CHARRE,LVAR1,ITTM)
  1467.  
  1468.  
  1469. typret = 'TABLE '
  1470. call crtabl(itvar)
  1471. CALL ECCTAB(itdual,'MOT',0,0.D0,'VAR',lvar0,ittl,
  1472. & TYPRET,I1,X1,CHARRE,LVAR1,itvar)
  1473. call crtabl(itdat)
  1474. CALL ECCTAB(itdual,'MOT',0,0.D0,'DAT',lvar0,ittl,
  1475. & TYPRET,I1,X1,CHARRE,LVAR1,itdat)
  1476. call crtabl(itcof)
  1477. CALL ECCTAB(itdual,'MOT',0,0.D0,'COF',lvar0,ittl,
  1478. & TYPRET,I1,X1,CHARRE,LVAR1,itcof)
  1479.  
  1480. call crtabl(it1)
  1481. CALL ECCTAB(itdual,'ENTIER',1,0.D0,' ',lvar0,ittl,
  1482. & TYPRET,I1,X1,CHARRE,LVAR1,it1)
  1483.  
  1484. call crtabl(itvar1)
  1485. CALL ECCTAB(itvar,'ENTIER',1,0.D0,' ',lvar0,ittl,
  1486. & TYPRET,I1,X1,CHARRE,LVAR1,itvar1)
  1487.  
  1488.  
  1489. * itdual.VAR
  1490. jgn = 8
  1491. jgm = 1
  1492. segini mlmots
  1493. ijmot1 = mlmots
  1494. mots(1)= 'SCAL '
  1495. typret = 'LISTMOTS'
  1496. CALL ECCTAB(itvar1,'MOT',0,0.D0,'NOMDDL',lvar0,ittl,
  1497. & TYPRET,I1,X1,CHARRE,LVAR1,ijmot1)
  1498. typret = 'MOT'
  1499. cha1 = 'QUAF'
  1500. CALL ECCTAB(itvar1,'MOT',0,0.D0,'DISC',lvar0,ittl,
  1501. & TYPRET,I1,X1,cha1,LVAR1,ittm)
  1502.  
  1503. * itdual . k
  1504. typret = 'TABLE '
  1505. call crtabl(it11)
  1506. CALL ECCTAB(it1,'ENTIER',1,0.D0,' ',lvar0,ittl,
  1507. & TYPRET,I1,X1,CHARRE,LVAR1,it11)
  1508.  
  1509. * itdual . k . l
  1510. typret = 'ENTIER'
  1511. I1 = 0
  1512. CALL ECCTAB(it11,'ENTIER',0,0.D0,' ',lvar0,ittl,
  1513. & TYPRET,I1,X1,CHARRE,LVAR1,ittm)
  1514. * pour matrice resolution pression
  1515. endif
  1516. ***********************************************************************
  1517. if (iope.ne.4.and.iope.ne.6) then
  1518. it2mod(iope) = imodel
  1519. it2nlp(iope) = itprim
  1520. it2nld(iope) = itdual
  1521. endif
  1522. 1000 continue
  1523.  
  1524. mmodel = ipmodl
  1525. imodel = kmodel(1)
  1526. ipma1 = imamod
  1527. opnlin = ivamod(1)
  1528. if (iope.eq.5) then
  1529. CHA1 = 'GAU1'
  1530. call ecrcha(CHA1)
  1531. CHA1 = 'ERF1'
  1532. call ecrcha(CHA1)
  1533. else
  1534. do k = opnlin.mots(/2), 2, -1
  1535. CHA1 = opnlin.mots(k)
  1536. call ecrcha(CHA1)
  1537. enddo
  1538. endif
  1539. CALL ECROBJ('TABLE ',itdual)
  1540. CALL ECROBJ('TABLE ',itprim)
  1541. call ecrobj('MAILLAGE',ipma1)
  1542. CHA1 = opnlin.mots(1)
  1543. call ecrcha(CHA1)
  1544. call prlin
  1545. if (ierr.ne.0) return
  1546. if (iope.eq.5) then
  1547. call lirobj('CHPOINT ',ipri1,1,ir1)
  1548. CHA1 = 'MAIL'
  1549. call ecrcha(CHA1)
  1550. call ecrobj('CHPOINT ',ipri1)
  1551. call extrai
  1552. if (ierr.ne.0) return
  1553. call lirobj('MAILLAGE',iprigi,1,ir1)
  1554. elseif (iope.eq.6) then
  1555. call lirobj('CHPOINT ',iprigi,1,ir1)
  1556. else
  1557. call lirobj('RIGIDITE',iprigi,1,ir1)
  1558. endif
  1559.  
  1560. if (iope.eq.3) then
  1561. ipri1 = iprigi
  1562. call ecrobj('RIGIDITE',ipri1)
  1563. cha8 = 'TRANSPOS'
  1564. call ecrcha(cha8)
  1565. call kops
  1566. if (ierr.ne.0) return
  1567. call ecrobj('RIGIDITE',ipri1)
  1568. call prfuse
  1569. if (ierr.ne.0) return
  1570. call lirobj('RIGIDITE',iprigi,1,ir2)
  1571. endif
  1572.  
  1573.  
  1574.  
  1575. RETURN
  1576. END
  1577.  
  1578.  
  1579.  
  1580.  
  1581.  

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