Télécharger nsclim.procedur

Retour à la liste

Numérotation des lignes :

  1. * NSCLIM PROCEDUR MAGN 05/07/25 21:15:01 5133
  2. 'DEBPROC' NSCLIM ;
  3.  
  4. ARGU tit*'MOT' KIMPR/'LOGIQUE' NOMQ*'MOT' ;
  5.  
  6. Si (Exist KIMPR) ;
  7. TIMPR = KIMPR ;
  8. Sinon ;
  9. TIMPR = VRAI ;
  10. FinSi ;
  11.  
  12. Si TIMPR ;
  13. mess '#### NSCLIM #######################################'
  14. '#########################' ;
  15. FinSi ;
  16.  
  17. lnomq = mots 'DEBIT' 'VITESSE' 'TEMPERATURE' 'ADHERENCE' ;
  18. Si (NON (EXIST lnomq nomq)) ;
  19. Mess '*********************************************************' ;
  20. Mess ' ERREUR ERREUR ERREUR ERREUR ERREUR ERREUR ' ;
  21. Mess ' ' ;
  22. Mess 'L entree ' NOMQ ' n existe pas ' ;
  23. Mess 'Choisir : VITESSE ou DEBIT ou TEMPERATURE ou ADHERENCE ' ;
  24. Mess '*********************************************************' ;
  25. erreur 21 ;
  26. quitter NSCLIM ;
  27. Finsi ;
  28.  
  29. Si((EGA NOMQ 'VITESSE') ou (EGA NOMQ 'DEBIT')
  30. ou (EGA NOMQ 'TEMPERATURE') ) ;
  31. ARGU Udebt/'EVOLUTION' ;
  32. Si(NON (Exist Udebt)) ;
  33. ARGU Udeb/'FLOTTANT' ;
  34. FinSi ;
  35.  
  36. ARGU NCO*'MOT' Tps*'FLOTTANT' ;
  37.  
  38. SWIRL=FAUX ;
  39. Si(EGA NCO 'SWIRL') ;
  40. SWIRL=VRAI ;
  41. asw = tps ;
  42. ARGU NCO*'MOT' Tps*'FLOTTANT' ;
  43. Finsi ;
  44.  
  45. $mf*'MMODEL' $sentr*'MMODEL' clim/'CHPOINT' NOMG*'MOT'
  46. NOMM/'MOT' sgm/'FLOTTANT' portee/'FLOTTANT' ;
  47.  
  48. Si (EXIST NOMM) ;
  49. NOMT = NOMM ;
  50. Sinon ;
  51. NOMT='XXXX' ;
  52. FinSi ;
  53. FinSi ;
  54.  
  55. Si(EGA NOMQ 'ADHERENCE') ;
  56. ARGU NCO*'MOT'
  57. $mf*'MMODEL' $sentr*'MMODEL' clim/'CHPOINT' NOMG*'MOT' ;
  58. FinSi ;
  59.  
  60. lnomg = mots 'LARGEMENT' 'STRICTEMENT' ;
  61. Si (NON (EXIST lnomg nomg)) ;
  62. Mess '*********************************************************' ;
  63. Mess ' ERREUR ERREUR ERREUR ERREUR ERREUR ERREUR ' ;
  64. Mess ' ' ;
  65. Mess 'L entree ' NOMG ' n existe pas ' ;
  66. Mess 'Choisir : LARGEMENT ou STRICTEMENT ' ;
  67. Mess '*********************************************************' ;
  68. erreur 21 ;
  69. quitter NSCLIM ;
  70. Finsi ;
  71.  
  72. *
  73. * NOMQ = DEBIT Débit imposé (Débit entrant >0)
  74. * VITESSE Vitesse imposée (Vitesse entrante >0)
  75. * <SWIRL> alfa swirl
  76. * TEMPERATURE Température imposée (ou scalaire)
  77. * ADHERENCE u=v=w=0 imposées
  78. * FPAROI u.n=0 et Fparoi
  79. * SYMETRIE u.n=0 et rien si vitesse rien si Température
  80. * SORTIE -> p=0
  81. * PRESSION -> p=p0
  82. * NCO nom de la composante
  83. *
  84. * NOMG = STRICTEMENT
  85. * LARGEMENT
  86. *
  87. * NOMT = SGE
  88. * XXXXXXXXX
  89. *
  90. *
  91.  
  92. *!!!!!!! Petites vérifications !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  93.  
  94. * 1/ sentr doit être inclus dans mf
  95. * 2/ Faire le 2D
  96. * 3/ Traiter les cas des TRI7 -> ELNO QUAD ou MSOMMET
  97. * 5/ Objet Chargement
  98. * 6/ Completer les CL FPAROI SYMETRIE SORTIE PRESSION
  99. * 7/ Dans le cas Strictement le débit est faux
  100.  
  101. *!!!!!!! Petites vérifications !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  102.  
  103. *##############################################################
  104. * Préparation géométrie calcul normales et tangentes
  105. AT = doma $sentr 'TABLE' ;
  106. Si (EXIST AT 'nx' ) ;
  107.  
  108.  
  109. nx = AT.'nx' ;
  110. ny = AT.'ny' ;
  111.  
  112. tx = AT.'tx' ;
  113. ty = AT.'ty' ;
  114.  
  115. Si(EGA (VALE DIME) 3) ;
  116. nz = AT.'nz' ;
  117. tz = AT.'tz' ;
  118.  
  119. ax = AT.'ax' ;
  120. ay = AT.'ay' ;
  121. az = AT.'az' ;
  122. FinSi ;
  123.  
  124. Sinon ;
  125.  
  126. mess tit ': Préparation géométrie : calcul normales et tangentes';
  127.  
  128. vol = doma $mf maillage ;
  129. Sentr = doma $sentr maillage ;
  130. volr = vol elem 'APPUYE' 'LARGEMENT' Sentr ;
  131. sent = Sentr ;
  132. inefmd = (doma $mf 'TABLE').'INEFMD'; ;
  133. mess 'inefmd=' inefmd ;
  134. Si (ega inefmd 3) ;
  135. $volr = model volr 'NAVIER_STOKES' 'MACRO' ;
  136. volr = doma $volr maillage ;
  137. $sentr= model sentr 'NAVIER_STOKES' 'MACRO' ;
  138. sent = doma $sentr maillage ;
  139. volr = volr elem 'APPUYE' 'LARGEMENT' Sent ;
  140. FinSi ;
  141. mo = mode volr mecanique elastique ;
  142. chp = pres mass mo Sent 1. ;
  143. Si (EGA (vale mode) 'AXIS' ) ;
  144. fx = 'FR' ;
  145. fy = 'FZ' ;
  146. Sinon ;
  147. fx = 'FX' ;
  148. fy = 'FY' ;
  149. finSi ;
  150. chnm = (((exco chp fx)**2)+((exco chp fy)**2)) ;
  151. Si(EGA (VALE DIME) 3) ;
  152. chnm = chnm + ((exco chp fz)**2) ;
  153. FinSi ;
  154. chnm = chnm **0.5 ;
  155. chn = chp / chnm ;
  156.  
  157. nx = (exco fx chn) ;
  158. ny = (exco fy chn) ;
  159.  
  160. Si(EGA (VALE DIME) 3) ;
  161. nz = (exco fz chn) ;
  162. *
  163. ax = (maxi (coor 1 sent)) - (mini (coor 1 sent));
  164. ay = (maxi (coor 2 sent)) - (mini (coor 2 sent));
  165. az = (maxi (coor 3 sent)) - (mini (coor 3 sent));
  166. av = ax ay az;
  167. nav = norm av ;
  168. av = av * (1./nav) ;
  169. ax = manu chpo sent 'SCAL' (coor 1 av);
  170. ay = manu chpo sent 'SCAL' (coor 2 av);
  171. az = manu chpo sent 'SCAL' (coor 3 av);
  172. *
  173. tx = (ny * az) - (nz * ay) nomc 'UX' ;
  174. ty = (nz * ax) - (nx * az) nomc 'UY' ;
  175. tz = (nx * ay) - (ny * ax) nomc 'UZ' ;
  176. cht = tx + ty + tz ;
  177. ncht = PSCA cht cht (MOTS 'UX' 'UY' 'UZ') (MOTS 'UX' 'UY' 'UZ');
  178. nicht = inve ncht ;
  179. tx = (tx nomc 'SCAL') * nicht ;
  180. ty = (ty nomc 'SCAL')* nicht ;
  181. tz = (tz nomc 'SCAL') * nicht ;
  182. *
  183. ax = (ny * tz) - (nz * ty) ;
  184. ay = (nz * tx) - (nx * tz) ;
  185. az = (nx * ty) - (ny * tx) ;
  186. *
  187. nx = nomc 'UX' nx ;
  188. ny = nomc 'UY' ny ;
  189. nz = nomc 'UZ' nz ;
  190. *
  191. tx = nomc 'UX' tx ;
  192. ty = nomc 'UY' ty ;
  193. tz = nomc 'UZ' tz ;
  194. *
  195. ax = nomc 'UX' ax ;
  196. ay = nomc 'UY' ay ;
  197. az = nomc 'UZ' az ;
  198. *
  199. AT.'nx' = nx ;
  200. AT.'ny' = ny ;
  201. AT.'nz' = nz ;
  202. MNC=1 ;
  203. Si( ((ABS nx MAXI) > (ABS ny MAXI)) et
  204. ((ABS nx MAXI) > (ABS nz MAXI)) ); MNC=1;FinSi;
  205. Si( ((ABS ny MAXI) > (ABS nx MAXI)) et
  206. ((ABS ny MAXI) > (ABS nz MAXI)) ); MNC=2;FinSi;
  207. Si( ((ABS nz MAXI) > (ABS ny MAXI)) et
  208. ((ABS nz MAXI) > (ABS nx MAXI)) ); MNC=3;FinSi;
  209. AT.'MNC' = MNC ;
  210.  
  211. AT.'tx' = tx ;
  212. AT.'ty' = ty ;
  213. AT.'tz' = tz ;
  214.  
  215. AT.'ax' = ax ;
  216. AT.'ay' = ay ;
  217. AT.'az' = az ;
  218.  
  219. AT.'chn' = nx + ny + nz ;
  220. AT.'cht' = tx + ty + tz ;
  221. AT.'cha' = ax + ay + az ;
  222. FinSi ;
  223.  
  224. Si(EGA (VALE DIME) 2) ;
  225. tx = nomc 'UX' ny ;
  226. ty = nomc 'UY' nx ; ;
  227. nx = nomc 'UX' nx ;
  228. ny = nomc 'UY' ny ;
  229. MNC=1 ;
  230. Si( ((MAXI nx) > (MAXI ny)) ); MNC=2; FinSi ;
  231. AT.'MNC' = MNC ;
  232.  
  233. AT.'tx' = tx ;
  234. AT.'ty' = ty ;
  235. AT.'nx' = nx ;
  236. AT.'ny' = ny ;
  237.  
  238. AT.'chn' = nx + ny ;
  239. AT.'cht' = tx + ty ;
  240. FinSi ;
  241.  
  242. AT.'Sentr'=Sentr ;
  243. AT.'Sentr1'= chan Sentr 'POI1' ;
  244. Si (EGA (VALE DIME) 3) ;
  245. CSentr = cont Sentr coul VERTE ;
  246. Sinon ;
  247. CSentr = MANU 'SEG2'
  248. (Sentr POINT 'INITIAL') (Sentr POINT 'FINAL');
  249. FinSi ;
  250. CSentr = CSentr COUL ROUGE ;
  251. CSentr1= chan CSentr 'POI1' COUL ROUGE ;
  252. Si('EGA' (VALE MODE ) 'AXIS') ;
  253. xstr1= coor 1 CSentr1 ;
  254. dr =((maxi xstr1) - (mini xstr1))/(nbel CSentr1)/100. ;
  255. pax = (CSentr1 'POINT' 'DROIT' (0. 0.) (0. 1.e5) dr) ;
  256. Csentr1= diff pax Csentr1 ;
  257. FinSi ;
  258.  
  259. Sentro = diff CSentr1 AT.'Sentr1' COUL VERT ;
  260. AT.'Sentro' = Sentro ;
  261. AT.'Csentr1'= Csentr1 ;
  262. AT.'Cgrav' = bary (Sentro et Csentr1) ;
  263.  
  264. Si TIMPR ;
  265. trace (Sentro et Csentr1) TITR
  266. (chai tit ' Intérieur et contour') ;
  267. trace (AT.'Cgrav' et Csentr1) TITR
  268. (chai tit ' Centre de gravité et contour') ;
  269. FinSi ;
  270.  
  271. Si(EGA (nbel Sentro) 0 ) ;
  272. Mess '*********************************************************' ;
  273. Mess ' ERREUR ERREUR ERREUR ERREUR ERREUR ERREUR ' ;
  274. Mess ' ' ;
  275. Mess tit ' L intérieur est vide ' ;
  276. Mess '*********************************************************' ;
  277. erreur 21 ;
  278. quitter NSCLIM ;
  279. Finsi ;
  280.  
  281. * On en déduit que connaissant q on a u = q*q1 ;
  282. Setr = mesu Sentr ;
  283. AT.'Setr' = Setr ;
  284. * Calcul du facteur géométrique EF
  285. * list AT.'chn';
  286. v1 = kcht $Sentr vect sommet (redu (AT.'chn') Sentro) ;
  287. * v1 = kcht $Sentr vect sommet (0. 0. 1.) ;
  288. * list v1 ;
  289. * ung = vect v1 0.1 ux uy uz jaune ;
  290. * trace ung (doma $Sentr maillage) ;
  291. *
  292. q1 = dbit $Sentr v1 'IMPR' ;
  293. * trace (doma $Sentr maillage) TITR 'Sentr';
  294. * list q1 ;
  295. AT.'facgeo' = Setr/q1 'ABS' ;
  296. mess tit ' Surface = ' Setr
  297. ' Facteur géométrique ' AT.'facgeo' ;
  298. AT.'Sentro' = Sentro ;
  299. AT.'CSentr' = CSentr ;
  300.  
  301. FinSi ;
  302. *##############################################################
  303.  
  304. Sentr = AT.'Sentr' ;
  305. Setr = AT.'Setr' ;
  306.  
  307. Si(NON(EGA NOMQ 'ADHERENCE')) ;
  308. IK1=0 ;
  309. Si (NON (EXIST Udebt)) ;
  310. Ud = Udeb ;
  311. IK1 = IK1 + 1 ;
  312. FinSi ;
  313. Si (EXIST Udebt) ;
  314. t = extr Udebt 'ABSC' ;
  315. u = extr Udebt 'ORDO' ;
  316. Ud = 'IPOL' tps t u ;
  317. IK1 = IK1 + 1 ;
  318. FinSi ;
  319.  
  320. Si (NON (EGA IK1 1 )) ;
  321. ERREUR 5 ;
  322. QUITTER NSCLIM ;
  323. FinSi ;
  324. FinSi ;
  325.  
  326.  
  327. Si(EGA NOMQ 'DEBIT') ;
  328. Qd = Ud ;
  329. Ud = Ud / Setr ;
  330. Si (EGA NOMG 'STRICTEMENT'); Ud = Ud * AT.'facgeo';FinSi ;
  331. FinSi ;
  332. Si(EGA NOMQ 'VITESSE') ;
  333. Qd = Ud * Setr ;
  334. FinSi ;
  335. Si(EGA NOMQ 'TEMPERATURE') ;
  336. Qd = ' ' ;
  337. FinSi ;
  338.  
  339. Si TIMPR ;
  340. mess '**** Conditions limites ***** ' tit ' ' NOMQ ' ' NCO
  341. ' Ud = ' Ud 'Qd = ' Qd ;
  342. FinSi ;
  343.  
  344. ***************************************************************
  345. * Imposition d'une fluctuation
  346.  
  347. Si (EGA NOMT 'SGE') ;
  348. Si TIMPR ;
  349. mess ' Modèle SGE : Imposition d une fluctuation :'
  350. ' Ecart type ' sgm ' portée ' portee ;
  351. FinSi ;
  352.  
  353. * Ne concerne que VITESSE et DEBIT
  354. Si(NON ((EGA NOMQ 'VITESSE') ou (EGA NOMQ 'DEBIT'))) ;
  355. Mess '*********************************************************' ;
  356. Mess ' ERREUR ERREUR ERREUR ERREUR ERREUR ERREUR ' ;
  357. Mess ' ' ;
  358. Mess 'L imposition d une fluctuation ne concerne que ' ;
  359. Mess ' VITESSE ou DEBIT ' ;
  360. Mess '*********************************************************' ;
  361. erreur 21 ;
  362. quitter NSCLIM ;
  363. Finsi ;
  364.  
  365. * La portee doit être > 0
  366. Si (portee '&lt;EG' 0.) ;
  367. ERREUR 5 ;
  368. QUITTER NSCLIM ;
  369. FinSi ;
  370.  
  371. sgp = sgm / 2. ;
  372.  
  373. Si (NON (EXIST AT 'unct1' )) ;
  374. * initialisation unct1,uncn1,unca1
  375. unct2='ALEA' 'BANDES_TOURNANTES' Sentr 'EXPO'
  376. 'SIGMA' sgp 'MOYENNE' Ud 'LAMBDA' portee ;
  377. unct2=(unct2 - Ud) ;
  378. * trace unct2 Sentr TITR 'unct2' ;
  379.  
  380. uncn2='ALEA' 'BANDES_TOURNANTES' Sentr 'EXPO'
  381. 'SIGMA' sgm 'MOYENNE' Ud 'LAMBDA' portee ;
  382.  
  383. * trace uncn2 Sentr TITR 'uncn2' ;
  384.  
  385. unca2='ALEA' 'BANDES_TOURNANTES' Sentr 'EXPO'
  386. 'SIGMA' sgp 'MOYENNE' Ud 'LAMBDA' portee ;
  387. unca2=(unca2 - Ud) ;
  388. * trace unca2 Sentr TITR 'unca1' ;
  389.  
  390. AT.'unct2' = unct2 ;
  391. AT.'uncn2' = uncn2 ;
  392. AT.'unca2' = unca2 ;
  393. AT.'t1' = 0. ;
  394. AT.'t2' = 0.1*Tps ;
  395. FinSi ;
  396.  
  397. t1 = AT.'t1' ;
  398. t2 = AT.'t2' ;
  399. alf = (Tps - t1)/(t2 - t1) ;
  400.  
  401. Si (ALF >EG 1.) ;
  402. alf = 0. ;
  403. AT.'unct1'=AT.'unct2' ;
  404. AT.'uncn1'=AT.'uncn2' ;
  405. AT.'unca1'=AT.'unca2' ;
  406. t1 = Tps ;
  407. t2 = Tps + (portee / (abs Ud)) ;
  408. AT.'t1'= t1 ;
  409. AT.'t2'= t2 ;
  410.  
  411. unct2='ALEA' 'BANDES_TOURNANTES' Sentr 'EXPO'
  412. 'SIGMA' sgp 'MOYENNE' Ud 'LAMBDA' portee ;
  413. unct2=(unct2 - Ud);
  414. * trace unct2 Sentr TITR 'unct2' ;
  415.  
  416. uncn2='ALEA' 'BANDES_TOURNANTES' Sentr 'EXPO'
  417. 'SIGMA' sgm 'MOYENNE' Ud 'LAMBDA' portee ;
  418.  
  419. * trace uncn2 Sentr TITR 'uncn2' ;
  420.  
  421. unca2='ALEA' 'BANDES_TOURNANTES' Sentr 'EXPO'
  422. 'SIGMA' sgp 'MOYENNE' Ud 'LAMBDA' portee ;
  423. unca2=(unca2 - Ud);
  424. * trace unca2 Sentr TITR 'unca2' ;
  425.  
  426. AT.'unct2' = unct2 ;
  427. AT.'uncn2' = uncn2 ;
  428. AT.'unca2' = unca2 ;
  429.  
  430. FinSi ;
  431.  
  432. unct1=AT.'unct1' ;
  433. unct2=AT.'unct2' ;
  434. uncn1=AT.'uncn1' ;
  435. uncn2=AT.'uncn2' ;
  436. unca1=AT.'unca1' ;
  437. unca2=AT.'unca2' ;
  438.  
  439. unct = (alf * unct1) + ((1. - alf) * unct2);
  440. uncn = (alf * uncn1) + ((1. - alf) * uncn2);
  441. unca = (alf * unca1) + ((1. - alf) * unca2);
  442.  
  443. Si TIMPR ;
  444. tt=chai tit ' uncn' ' Tps=' Tps ' t1=' t1 ' t2=' t2 ;
  445. trace uncn Sentr TITR tt ;
  446. tt=chai tit ' unca' ' Alf=' alf ;
  447. trace unca Sentr TITR tt ;
  448. trace unct Sentr TITR (chai tit ' unct') ;
  449. FinSi ;
  450. Sinon ;
  451. ***************************************************************
  452. uncn = Ud ;
  453. unct = 0. ;
  454. unca = 0. ;
  455. FinSi ;
  456. ***************************************************************
  457.  
  458.  
  459. Si((EGA NOMQ 'VITESSE') ou (EGA NOMQ 'DEBIT')) ;
  460. NC1 = chai 1 NCO ;
  461. NC2 = chai 2 NCO ;
  462. NC3 = chai 3 NCO ;
  463. LNC = MOTS NC1 NC2 ;
  464. UCxyzn= (nomc NC1 (uncn*nx) 'NATU' 'DISCRET')
  465. et (nomc NC2 (uncn*ny) 'NATU' 'DISCRET') ;
  466.  
  467. UCxyzt= (nomc NC1 (unct*tx) 'NATU' 'DISCRET')
  468. et (nomc NC2 (unct*ty) 'NATU' 'DISCRET') ;
  469.  
  470.  
  471. Si(EGA (VALE DIME) 3) ;
  472. UCxyza= (nomc NC1 (unca*ax) 'NATU' 'DISCRET')
  473. et (nomc NC2 (unca*ay) 'NATU' 'DISCRET') ;
  474.  
  475. UCxyzn=UCxyzn et (nomc NC3 (uncn*nz) 'NATU' 'DISCRET') ;
  476. UCxyzt=UCxyzt et (nomc NC3 (unct*tz) 'NATU' 'DISCRET') ;
  477. UCxyza=UCxyza et (nomc NC3 (unca*az) 'NATU' 'DISCRET') ;
  478. LNC = LNC et (MOTS NC3) ;
  479. Si SWIRL ;
  480. mess ' SWIRL : ' asw ' * Ud' ;
  481. xyzw = extr uncn maillage ;
  482. xw = (coor 1 xyzw) - (coor 1 AT.'Cgrav') ;
  483. yw = (coor 2 xyzw) - (coor 2 AT.'Cgrav') ;
  484. zw = (coor 3 xyzw) - (coor 3 AT.'Cgrav') ;
  485. GM = (nomc 'UX' xw 'NATU' 'DISCRET')
  486. et (nomc 'UY' yw 'NATU' 'DISCRET')
  487. et (nomc 'UZ' zw 'NATU' 'DISCRET') ;
  488. AM = (nomc 'UX' ax 'NATU' 'DISCRET')
  489. et (nomc 'UY' ay 'NATU' 'DISCRET')
  490. et (nomc 'UZ' az 'NATU' 'DISCRET') ;
  491. TM = (nomc 'UX' tx 'NATU' 'DISCRET')
  492. et (nomc 'UY' ty 'NATU' 'DISCRET')
  493. et (nomc 'UZ' tz 'NATU' 'DISCRET') ;
  494. xa = PSCA GM (MOTS 'UX' 'UY' 'UZ') AM (MOTS 'UX' 'UY' 'UZ');
  495. ya = PSCA GM (MOTS 'UX' 'UY' 'UZ') TM (MOTS 'UX' 'UY' 'UZ');
  496. R = (xw*xw)+(yw*yw)+(zw*zw) **0.5 ;
  497. R0 = maxi R ;
  498. sw = (Ud/R0)*asw ;
  499. UCxyza= UCxyza et (nomc NC1 (ya*ax*sw) 'NATU' 'DISCRET')
  500. et (nomc NC2 (ya*ay*sw) 'NATU' 'DISCRET')
  501. et (nomc NC3 (ya*az*sw) 'NATU' 'DISCRET') ;
  502.  
  503. UCxyzt= UCxyzt et (nomc NC1 (xa*tx*(-1.)*sw) 'NATU' 'DISCRET')
  504. et (nomc NC2 (xa*ty*(-1.)*sw) 'NATU' 'DISCRET')
  505. et (nomc NC3 (xa*tz*(-1.)*sw) 'NATU' 'DISCRET') ;
  506.  
  507. FinSi ;
  508. FinSi ;
  509.  
  510. UCxyz = UCxyzn et UCxyzt ;
  511. Si(EGA (VALE DIME) 3) ;
  512. UCxyz = UCxyz et UCxyza ;
  513. FinSi ;
  514. * UCxyz = (UCxyzn*0.) et UCxyzt et UCxyza;
  515.  
  516. Si (EGA NOMG 'LARGEMENT') ;
  517. ***************************************************
  518. * NNC=chai AT.'MNC' NCO ;
  519. * UCc = EXCO (REDU UCxyzn (AT.'CSentr')) NNC NNC ;
  520. * Sur la paroi seule la composante normale est retenue
  521. * Il semblerait plus simple et correct de faire comme suit
  522. ***************************************************
  523. UCc = REDU UCxyzn (AT.'CSentr') ;
  524. UCxyz=(REDU UCxyz (AT.'Sentro')) et UCc ;
  525. FinSi ;
  526.  
  527. Si (EGA NOMG 'STRICTEMENT') ;
  528. UCxyz= REDU UCxyz (AT.'Sentro') ;
  529. FinSi ;
  530. Si TIMPR ;
  531. Si(EGA (VALE DIME) 3) ;
  532. ung = vect UCxyz 0.05 NC1 NC2 NC3 jaune ;
  533. Sinon ;
  534. ung = vect UCxyz 0.05 NC1 NC2 jaune ;
  535. FinSi ;
  536. trace ung (AT.'CSentr') TITR tit ;
  537. FinSi ;
  538.  
  539. FinSi ;
  540.  
  541. Si(EGA NOMQ 'TEMPERATURE') ;
  542. LNC = MOTS NCO ;
  543. UCxyz= MANU 'CHPO' Sentr 'NATU' 'DISCRET' NCO uncn ;
  544. Si (EGA NOMG 'STRICTEMENT') ;
  545. UCxyz = REDU UCxyz (AT.'Sentro') ;
  546. FinSi ;
  547. Si TIMPR ;
  548. titt = chai tit ' composante : ' NCO ;
  549. trace UCxyz Sentr TITR titt ;
  550. FinSi ;
  551. FinSi ;
  552.  
  553. Si(EGA NOMQ 'ADHERENCE') ;
  554. NC1 = chai 1 NCO ;
  555. NC2 = chai 2 NCO ;
  556. NC3 = chai 3 NCO ;
  557. LNC = MOTS NC1 NC2 ;
  558. UCxyz= (MANU 'CHPO' Sentr 'NATU' 'DISCRET' NC1 0.)
  559. et (MANU 'CHPO' Sentr 'NATU' 'DISCRET' NC2 0.) ;
  560. Si(EGA (VALE DIME) 3) ;
  561. UCxyz=UCxyz
  562. et (MANU 'CHPO' Sentr 'NATU' 'DISCRET' NC3 0.) ;
  563. LNC = LNC et (MOTS NC3) ;
  564. FinSi ;
  565. Si (EGA NOMG 'STRICTEMENT') ;
  566. UCxyz = REDU UCxyz (AT.'Sentro') ;
  567. FinSi ;
  568. FinSi ;
  569.  
  570.  
  571. Si(EXIST CLIM) ;
  572. unc=exco LNC (redu CLIM Sentr) 'NOID' ;
  573. unc = nomc LNC LNC unc ;
  574. RESU = (CLIM - unc ) + UCxyz ;
  575. Sinon ;
  576. RESU = UCxyz ;
  577. FinSi ;
  578.  
  579. Si TIMPR ;
  580. mess '#### FIN NSCLIM ###################################'
  581. '#########################' ;
  582. FinSi ;
  583. FINPROC RESU ;
  584.  
  585.  
  586.  
  587.  

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