Télécharger mrcshell.procedur

Retour à la liste

Numérotation des lignes :

  1. * MRCSHELL PROCEDUR BP208322 20/05/05 21:15:02 10601
  2. DEBPROC MRCSHELL TYP_CAL1*'MOT '
  3. TAB_IN*'TABLE' TOL_1*'FLOTTANT'
  4. L_ELE1/'LISTENTI';
  5. *
  6. * --------------------------------------------------------
  7. * Procedure MRCSHELL
  8. * Computation of security coef Lambda
  9. *
  10. * Develeppers:
  11. * Alberto FRAU
  12. * DEN/DANS/DM2S/SEMT/EMSI
  13. * Nicolas ILE
  14. * DEN/DANS/DM2S/SEMT/EMSI
  15. *
  16. * INPUT:
  17. * TYP_CAL1: Calculation option
  18. * 'RECTANGLE'
  19. * 'ELLIPSOIDE'
  20. * TAB_IN.'MAILLAGE': Maillage du voile [MAILLAGE]
  21. * TAB_IN.'EFFORT_SEISME': MCHAML de la matrice
  22. * representant l'enveloppe des
  23. * efforts sismiques (voir SISSIB)
  24. * TAB_IN.'EFFORT_STATIQUE': MCHAML des efforts statiques qui
  25. * agissent sur le voile
  26. * (issu EFFMARTI)
  27. * TAB_IN.'CARACTERISTIQUES_EXTERNE':MCHAML contenant les
  28. * caracteristiques de la couche
  29. * externe selon le modele de MARTI
  30. * (voir EFFMARTI):
  31. * 'RHO1' taux d'acier direction 1
  32. * 'RHO2' taux d'acier direction 2
  33. * 'ENRO' Enrobage
  34. * TAB_IN.'CARACTERISTIQUES_INTERNE':MCHAML contenant les
  35. * caracteristiques de la couche
  36. * interne selon le modele de MARTI
  37. * (voir EFFMARTI):
  38. * 'RHO1' taux d'acier direction 1
  39. * 'RHO2' taux d'acier direction 2
  40. * 'ENRO' Enrobage
  41. * TAB_IN.'CARACTERISTIQUES_CORE': MCHAML contenant les
  42. * caracteristiques et le coeficient
  43. * pour la couche intermediaire
  44. * selon le modele de MARTI
  45. * 'H' Epaisseur Totale
  46. * 'RHOT' taux d'acier transversale
  47. * 'COTH' Facteur de cisaillement
  48. * TAB_IN.'FC_BET': Resistance caracteristique beton
  49. * [FLOTTANT]
  50. * TAB_IN.'GAM_C': Coef gammac 1.5/1.2 EC2/EC8
  51. * [FLOTTANT]
  52. * TAB_IN.'ALP_C': Coef alpa 1.0 EC2
  53. * [FLOTTANT]
  54. * TAB_IN.'NU_C': Coef nu 0.6*(1-250/fck) EC2
  55. * [FLOTTANT]
  56. * TAB_IN.'FS_ACI': resistance caracteristique de l'acier
  57. * [FLOTTANT]
  58. * TAB_IN.'GAM_S': Coef gammas 1.15 EC2
  59. * [FLOTTANT]
  60. * TOL_1: Tollerance [FLOTTANT]
  61. * L_ELE1: Liste des elements sur lesquels on veut sortir les
  62. * graphiques des surfaces limites et des enveloppes
  63. * (sans ou avec covariance - RECTANGLE ou ELLISPOIDE)
  64. * pour les couches externes, interne et
  65. * intermediaire (pas necessaire) [LISTREEL]
  66. * OUTPUT:
  67. * TT2: Table Contenant:
  68. * .'CH_LAMBDA_E': MCHAML les valeurs des marges pour la couche
  69. * externe (composent LAME)
  70. * .'CH_LAMBDA_I': MCHAML des valeurs des marges pour la couche
  71. * interne (composent LAMI)
  72. * .'CH_LAMBDA_C': MCHAML des valeurs des marges pour la couche
  73. * intermediaire (composent LAMC)
  74. * .'CARTE_E': Maillage avec deux colorations pour indiquer les
  75. * element avec une marge superieure à 1 ou
  76. * inferieure (couche externe):
  77. * ROUGE elements -> Lambda < 1.0
  78. * VERT elements -> Lambda > 1.0
  79. * .'CARTE_I': Maillage avec deux colorations pour indiquer les
  80. * element avec une marge superieure à 1 ou
  81. * inferieure (couche interne):
  82. * ROUGE elements -> Lambda < 1.0
  83. * VERT elements -> Lambda > 1.0
  84. * .'CARTE_C': Maillage avec deux colorations pour indiquer les
  85. * element avec une marge superieure à 1 ou
  86. * inferieure (couche intermediaire):
  87. * ROUGE elements -> Lambda < 1.0
  88. * VERT elements -> Lambda > 1.0
  89. * .'GRAPHIQUES': Sous table pour les outils de graphique:
  90. * .I. Ieme element
  91. * .'LIMITE_E': Surface limite de la couche externe
  92. * [MAILLAGE]
  93. * .'LIMITE_E': Surface limite de la couche interne
  94. * [MAILLAGE]
  95. * .'LIMITE_C': Surface limite de la couche
  96. * intermediaire [MAILLAGE]
  97. * .'RECTANGLE_E': enveloppe couche externe sans prise
  98. * en compte des covariances
  99. * (methode RECTANGLE) [MAILLAGE]
  100. * .'RECTANGLE_I': enveloppe couche interne sans prise
  101. * en compte des covariances
  102. * (methode RECTANGLE) [MAILLAGE]
  103. * .'RECTANGLE_I': enveloppe couche intermediaire
  104. * sans prise en compte des covariances
  105. * (methode RECTANGLE) [MAILLAGE]
  106. * .'ELLIPSOIDE_E': enveloppe couche externe avec prise
  107. * en compte des covariances
  108. * (methode ELLIPSOIDE) [MAILLAGE]
  109. * .'ELLIPSOIDE_I': enveloppe couche interne avec prise
  110. * en compte des covariances
  111. * (methode ELLIPSOIDE) [MAILLAGE]
  112. * .'ELLIPSOIDE_I': enveloppe couche intermediaire
  113. * avec prise en compte des covariances
  114. * (methode ELLIPSOIDE) [MAILLAGE]
  115. * .'RECTANGLE_E_AUG': enveloppe couche externe sans prise
  116. * en compte des covariances amplifie par
  117. * la marge LAME
  118. * (methode RECTANGLE) [MAILLAGE]
  119. * .'RECTANGLE_I_AUG': enveloppe couche interne sans prise
  120. * en compte des covariances amplifie par
  121. * la marge LAMI
  122. * (methode RECTANGLE) [MAILLAGE]
  123. * .'RECTANGLE_C_AUG': enveloppe couche intermediaire sans prise
  124. * en compte des covariances amplifie par
  125. * la marge LAMC
  126. * (methode RECTANGLE) [MAILLAGE]
  127. * .'ELLIPSOIDE_E_AUG': enveloppe couche externe avec prise
  128. * en compte des covariances amplifie par
  129. * la marge LAME
  130. * (methode ELLIPSOIDE) [MAILLAGE]
  131. * .'ELLIPSOIDE_I_AUG': enveloppe couche interne avec prise
  132. * en compte des covariances amplifie par
  133. * la marge LAMI
  134. * (methode ELLIPSOIDE) [MAILLAGE]
  135. * .'ELLIPSOIDE_C_AUG': enveloppe couche intermediaire avec
  136. * prise en compte des covariances
  137. * amplifie par la marge LAMC
  138. * (methode ELLIPSOIDE) [MAILLAGE]
  139. *
  140. * --------------------------------------------------------
  141. *
  142. MAI_V = TAB_IN.'MAILLAGE';
  143. CH_SEI1 = TAB_IN.'EFFORT_SEISME';
  144. CH_STA1 = TAB_IN.'EFFORT_STATIQUE';
  145. CH_CARE = TAB_IN.'CARACTERISTIQUES_EXTERNE';
  146. CH_CARI = TAB_IN.'CARACTERISTIQUES_INTERNE';
  147. CH_CARC = TAB_IN.'CARACTERISTIQUES_CORE';
  148. *D_VOI1 = TAB_IN.'D';
  149. FCBET1 = TAB_IN.'FC_BET';
  150. GAMC = TAB_IN.'GAM_C';
  151. ALPC1 = TAB_IN.'ALP_C';
  152. NUC1 = TAB_IN.'NU_C';
  153. FSACI1 = TAB_IN.'FS_ACI';
  154. GAMS1 = TAB_IN.'GAM_S';
  155. *
  156. 'MESS' ;
  157. 'MESS' '**************************************************************';
  158. 'MESS' ' Calculs des coef de securite ';
  159. 'MESS' '**************************************************************';
  160. 'MESS';
  161. *
  162. * controle of input data
  163. 'SI' (NEG (TYP_CAL1) 'ELLIPSOIDE');
  164. 'SI' (NEG (TYP_CAL1) 'RECTANGLE');
  165. 'MESS' ' ERROR....Type de calcul erronee!!!';
  166. 'QUIT' LAM_RCM;
  167. 'FINSI';
  168. 'FINSI';
  169. 'SI' (('NEG' ('EXTR' ('EXTR' CH_SEI1 'COMP') 1) 'C11E') 'ET'
  170. ('NEG' ('EXTR' ('EXTR' CH_SEI1 'COMP') 2) 'C22E') 'ET'
  171. ('NEG' ('EXTR' ('EXTR' CH_SEI1 'COMP') 3) 'C33E') 'ET'
  172. ('NEG' ('EXTR' ('EXTR' CH_SEI1 'COMP') 4) 'C12E') 'ET'
  173. ('NEG' ('EXTR' ('EXTR' CH_SEI1 'COMP') 5) 'C13E') 'ET'
  174. ('NEG' ('EXTR' ('EXTR' CH_SEI1 'COMP') 6) 'C23E'));
  175. 'SINON';
  176. 'SI' (('NEG' ('EXTR' ('EXTR' CH_SEI1 'COMP') 7) 'C11I') 'ET'
  177. ('NEG' ('EXTR' ('EXTR' CH_SEI1 'COMP') 8) 'C22I') 'ET'
  178. ('NEG' ('EXTR' ('EXTR' CH_SEI1 'COMP') 9) 'C33I') 'ET'
  179. ('NEG' ('EXTR' ('EXTR' CH_SEI1 'COMP') 10) 'C12I') 'ET'
  180. ('NEG' ('EXTR' ('EXTR' CH_SEI1 'COMP') 11) 'C13I') 'ET'
  181. ('NEG' ('EXTR' ('EXTR' CH_SEI1 'COMP') 12) 'C23I'));
  182. 'SINON';
  183. 'SI' (('NEG' ('EXTR' ('EXTR' CH_SEI1 'COMP') 13) 'CV11') 'ET'
  184. ('NEG' ('EXTR' ('EXTR' CH_SEI1 'COMP') 14) 'CV22') 'ET'
  185. ('NEG' ('EXTR' ('EXTR' CH_SEI1 'COMP') 15) 'CV12'));
  186. 'MESS' ' ERROR....MCHAML seisme';
  187. 'MESS' ' composantes erronee!!!';
  188. 'QUIT' LAM_RCM;
  189. 'FINSI';
  190. 'FINSI';
  191. 'FINSI';
  192. 'SI' (('NEG' ('EXTR' ('EXTR' CH_STA1 'COMP') 1) 'N11E') 'ET'
  193. ('NEG' ('EXTR' ('EXTR' CH_STA1 'COMP') 2) 'N22E') 'ET'
  194. ('NEG' ('EXTR' ('EXTR' CH_STA1 'COMP') 3) 'N12E') 'ET'
  195. ('NEG' ('EXTR' ('EXTR' CH_STA1 'COMP') 4) 'N11I') 'ET'
  196. ('NEG' ('EXTR' ('EXTR' CH_STA1 'COMP') 5) 'N22I') 'ET'
  197. ('NEG' ('EXTR' ('EXTR' CH_STA1 'COMP') 6) 'N12I'));
  198. 'MESS' ' ERROR....MCHAML statique';
  199. 'MESS' ' composantes erronee!!!';
  200. 'FINSI';
  201. 'SI' (('NEG' ('EXTR' ('EXTR' CH_STA1 'COMP') 1) 'N11E') 'ET'
  202. ('NEG' ('EXTR' ('EXTR' CH_STA1 'COMP') 2) 'N22E') 'ET'
  203. ('NEG' ('EXTR' ('EXTR' CH_STA1 'COMP') 3) 'N12E') 'ET'
  204. ('NEG' ('EXTR' ('EXTR' CH_STA1 'COMP') 4) 'N11I') 'ET'
  205. ('NEG' ('EXTR' ('EXTR' CH_STA1 'COMP') 5) 'N22I') 'ET'
  206. ('NEG' ('EXTR' ('EXTR' CH_STA1 'COMP') 6) 'N12I'));
  207. 'MESS' ' ERROR....MCHAML seisme';
  208. 'MESS' ' composantes erronee!!!';
  209. 'FINSI';
  210. 'SI' (('NEG' ('EXTR' ('EXTR' CH_CARE 'COMP') 1) 'RHO1') 'ET'
  211. ('NEG' ('EXTR' ('EXTR' CH_CARE 'COMP') 2) 'RHO2') 'ET'
  212. ('NEG' ('EXTR' ('EXTR' CH_CARE 'COMP') 3) 'ENRO'));
  213. 'MESS' ' ERROR....MCHAML caracteristiques couche externe';
  214. 'MESS' ' composantes erronee!!!';
  215. 'FINSI';
  216. 'SI' (('NEG' ('EXTR' ('EXTR' CH_CARI 'COMP') 1) 'RHO1') 'ET'
  217. ('NEG' ('EXTR' ('EXTR' CH_CARI 'COMP') 2) 'RHO2') 'ET'
  218. ('NEG' ('EXTR' ('EXTR' CH_CARI 'COMP') 3) 'ENRO'));
  219. 'MESS' ' ERROR....MCHAML caracteristiques couche interne';
  220. 'MESS' ' composantes erronee!!!';
  221. 'FINSI';
  222. *
  223. * creation of the table output
  224. TT2 = 'TABLE';
  225. *
  226. * creation of the MCHAML field for the output
  227. CH_LAME = 'VIDE' MCHAML;
  228. CH_LAMI = 'VIDE' MCHAML;
  229. CH_LAMC = 'VIDE' MCHAML;
  230. MAI_REE = 'VIDE' MAILLAGE;
  231. MAI_REI = 'VIDE' MAILLAGE;
  232. MAI_REC = 'VIDE' MAILLAGE;
  233. MODTOT = 'VIDE' MMODEL;
  234. *
  235. * number of element shear wall
  236. N_ELE1 = 'NBEL' MAI_V;
  237. *
  238. * Ellipsoide methode
  239. 'SI' ('EGA' TYP_CAL1 'ELLIPSOIDE');
  240. *------------------ Calcul par l'ellipsoide ---------------------------*
  241. 'MESS' ' ------------------------------------------------------------';
  242. 'MESS' ' Methode Ellipsoide';
  243. 'MESS' ' ------------------------------------------------------------';
  244. 'MESS';
  245. *
  246. * loop for the layer (external or intenal)
  247. I_IE1 = 1;
  248. 'REPE' IND_IE1 (3);
  249. *
  250. * I_IE1 = 1 External layer
  251. 'SI' (I_IE1 'EGA' 1);
  252. 'MESS';
  253. 'MESS' ' Membrane Exterieure';
  254. 'FINSI';
  255. *
  256. * I_IE1 = 2 Internal layer
  257. 'SI' (I_IE1 'EGA' 2);
  258. 'MESS';
  259. 'MESS' ' Membrane Interieure';
  260. 'FINSI';
  261. *
  262. 'SI' (I_IE1 'EGA' 3);
  263. 'MESS';
  264. 'MESS' ' Core';
  265. 'FINSI';
  266. *
  267. * loop for the element
  268. I_ELE1 = 1;
  269. 'REPE' IND_ELE1 (N_ELE1);
  270. * element I
  271. ELE_VOI1 = MAI_V ELEM I_ELE1;
  272. * extracting the forces and characteristics for the external layer
  273. 'SI' (I_IE1 'EGA' 1);
  274. RHOXS = 'EXTR' ('REDU' CH_CARE ELE_VOI1) 'RHO1' 1 1 1;
  275. RHOYS = 'EXTR' ('REDU' CH_CARE ELE_VOI1) 'RHO2' 1 1 1;
  276. ENR1 = 'EXTR' ('REDU' CH_CARE ELE_VOI1) 'ENRO' 1 1 1;
  277. *
  278. N11 = ('EXTR' ('REDU' CH_SEI1 ELE_VOI1) 'C11E' 1 1 1)**(0.5);
  279. N11N22 = ('EXTR' ('REDU' CH_SEI1 ELE_VOI1) 'C12E' 1 1 1);
  280. N11N12 = ('EXTR' ('REDU' CH_SEI1 ELE_VOI1) 'C13E' 1 1 1);
  281. N22 = ('EXTR' ('REDU' CH_SEI1 ELE_VOI1) 'C22E' 1 1 1)**(0.5);
  282. N22N12 = ('EXTR' ('REDU' CH_SEI1 ELE_VOI1) 'C23E' 1 1 1);
  283. N12 = ('EXTR' ('REDU' CH_SEI1 ELE_VOI1) 'C33E' 1 1 1)**(0.5);
  284. N110 = ('EXTR' ('REDU' CH_STA1 ELE_VOI1) 'N11E' 1 1 1);
  285. N220 = ('EXTR' ('REDU' CH_STA1 ELE_VOI1) 'N22E' 1 1 1);
  286. N120 = ('EXTR' ('REDU' CH_STA1 ELE_VOI1) 'N12E' 1 1 1);
  287. *
  288. * seismic stress
  289. N11 = ((N11)/((2.0)*(ENR1)));
  290. N22 = ((N22)/((2.0)*(ENR1)));
  291. N12 = ((N12)/((2.0)*(ENR1)));
  292. N11N22 = ((N11N22)/(((2.0)*(ENR1))**(2.0)));
  293. N11N12 = ((N11N12)/(((2.0)*(ENR1))**(2.0)));
  294. N22N12 = ((N22N12)/(((2.0)*(ENR1))**(2.0)));
  295. *
  296. * static stress
  297. N110 = ((N110)/((2.0)*(ENR1)));
  298. N220 = ((N220)/((2.0)*(ENR1)));
  299. N120 = ((N120)/((2.0)*(ENR1)));
  300. *
  301. 'FINSI';
  302. * extracting the force and characteristics for the internal layer
  303. 'SI' (I_IE1 'EGA' 2);
  304. RHOXS = 'EXTR' ('REDU' CH_CARI ELE_VOI1) 'RHO1' 1 1 1;
  305. RHOYS = 'EXTR' ('REDU' CH_CARI ELE_VOI1) 'RHO2' 1 1 1;
  306. ENR1 = 'EXTR' ('REDU' CH_CARI ELE_VOI1) 'ENRO' 1 1 1;
  307. *
  308. N11 = ('EXTR' ('REDU' CH_SEI1 ELE_VOI1) 'C11I' 1 1 1)**(0.5);
  309. N11N22 = ('EXTR' ('REDU' CH_SEI1 ELE_VOI1) 'C12I' 1 1 1);
  310. N11N12 = ('EXTR' ('REDU' CH_SEI1 ELE_VOI1) 'C13I' 1 1 1);
  311. N22 = ('EXTR' ('REDU' CH_SEI1 ELE_VOI1) 'C22I' 1 1 1)**(0.5);
  312. N22N12 = ('EXTR' ('REDU' CH_SEI1 ELE_VOI1) 'C23I' 1 1 1);
  313. N12 = ('EXTR' ('REDU' CH_SEI1 ELE_VOI1) 'C33I' 1 1 1)**(0.5);
  314. N110 = ('EXTR' ('REDU' CH_STA1 ELE_VOI1) 'N11I' 1 1 1);
  315. N220 = ('EXTR' ('REDU' CH_STA1 ELE_VOI1) 'N22I' 1 1 1);
  316. N120 = ('EXTR' ('REDU' CH_STA1 ELE_VOI1) 'N12I' 1 1 1);
  317. *
  318. * seismic stress
  319. N11 = ((N11)/((2.0)*(ENR1)));
  320. N22 = ((N22)/((2.0)*(ENR1)));
  321. N12 = ((N12)/((2.0)*(ENR1)));
  322. N11N22 = ((N11N22)/(((2.0)*(ENR1))**(2.0)));
  323. N11N12 = ((N11N12)/(((2.0)*(ENR1))**(2.0)));
  324. N22N12 = ((N22N12)/(((2.0)*(ENR1))**(2.0)));
  325. *
  326. * static stress
  327. N110 = ((N110)/((2.0)*(ENR1)));
  328. N220 = ((N220)/((2.0)*(ENR1)));
  329. N120 = ((N120)/((2.0)*(ENR1)));
  330. *
  331. 'FINSI';
  332. *
  333. * extracting the force and characteristics for the internal layer
  334. 'SI' (I_IE1 'EGA' 3);
  335. RHOT = 'EXTR' ('REDU' CH_CARC ELE_VOI1) 'RHOT' 1 1 1;
  336. ENR1 = 'EXTR' ('REDU' CH_CARE ELE_VOI1) 'ENRO' 1 1 1;
  337. ENR2 = 'EXTR' ('REDU' CH_CARI ELE_VOI1) 'ENRO' 1 1 1;
  338. H_11 = 'EXTR' ('REDU' CH_CARC ELE_VOI1) 'H' 1 1 1;
  339. D_11 = H_11 - ((2.0)*(ENR1)) - ((2.0)*(ENR2));
  340. CO_TH1 = 'EXTR' ('REDU' CH_CARC ELE_VOI1) 'COTH' 1 1 1;
  341. *
  342. V1 = ('EXTR' ('REDU' CH_SEI1 ELE_VOI1) 'CV11' 1 1 1)**(0.5);
  343. V1V2 = ('EXTR' ('REDU' CH_SEI1 ELE_VOI1) 'CV12' 1 1 1);
  344. V2 = ('EXTR' ('REDU' CH_SEI1 ELE_VOI1) 'CV22' 1 1 1)**(0.5);
  345. *
  346. V10 = ('EXTR' ('REDU' CH_STA1 ELE_VOI1) 'V1T' 1 1 1);
  347. V20 = ('EXTR' ('REDU' CH_STA1 ELE_VOI1) 'V2T' 1 1 1);
  348. *
  349. * seismic stress
  350. T1 = ((V1)/((D_11)));
  351. T2 = ((V2)/((D_11)));
  352. T1T2 = ((V1V2)/(((D_11))**(2.0)));
  353. *
  354. * static stress
  355. T10 = ((V10)/((D_11)));
  356. T20 = ((V20)/((D_11)));
  357. *
  358. 'FINSI';
  359. *
  360. * Verification Core -----------------------------------------
  361. 'SI' (I_IE1 'EGA' 3);
  362. * --------------------------------------------------------------
  363. TTL1 = TABLE;
  364. TTL1.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_COR';
  365. TTL1.'T1' = T10;
  366. TTL1.'T2' = T20;
  367. TTL1.'FCK' = FCBET1;
  368. TTL1.'FSK_T' = FSACI1;
  369. TTL1.'RHO_T' = RHOT;
  370. TTL1.'GAMMA_C' = GAMC;
  371. TTL1.'ALPA_C' = ALPC1;
  372. TTL1.'GAMMA_S' = GAMS1;
  373. TTL1.'NU_C' = NUC1;
  374. TTL1.'COT_THETA' = CO_TH1;
  375. T_ST1 = G_ULTI2D TTL1;
  376. *
  377. 'SI' (T_ST1 '&lt;EG' 0.0);
  378. LAM_FIN = 0.0;
  379. TIT1 = 'CHAINE' ' Element ' I_ELE1 ' Lambda='
  380. LAM_FIN '.....Sig0 externe';
  381. 'MESS' TIT1;
  382. MOD1 = 'MODE' ELE_VOI1 'MECANIQUE' 'ELASTIQUE' 'ISOTROPE';
  383. MODTOT = MODTOT 'ET' MOD1;
  384. CH_LAMC = CH_LAMC 'ET' ('MANU' 'CHML' ELE_VOI1 'LAMC' LAM_FIN);
  385. MAI_REC = MAI_REC 'ET' (ELE_VOI1 'COUL' 'ROUG');
  386. OUBL LAM_FIN;
  387. 'SINON';
  388.  
  389. *
  390. * Start of the iteration
  391. P1 = 0. 0. 0.;
  392. P2 = 1. 0. 0.;
  393. P3 = 2. 0. 0.;
  394. *
  395. MAI1 = P1;
  396. * Matrix X
  397. MATX1 = VIDE 'RIGIDITE'/'RIGIDITE';
  398. MATX1 = MATX1 'ET' ('MANU' 'RIGIDITE' MAI1 (MOTS 'UX' 'UY')
  399. ('PROG' (T1*T1) T1T2
  400. T1T2 (T2*T2)));
  401. *
  402. * Static state stress
  403. EF_ST0 = 'MANU' 'CHPO' MAI1 2 'FX' T10 'FY' T20;
  404. EF_ST0 = 'CHAN' 'ATTRIBUT' EF_ST0 'NATURE' 'DISCRET';
  405. *
  406. * Initial Vecteur
  407. ALP_0 = 'MANU' 'CHPO' MAI1 2 'UX' 2.0 'UY' 2.0;
  408. XALP_0 = (MATX1*ALP_0)/(('XTMX' MATX1 ALP_0)**(0.5));
  409. XALP_0 = ('CHAN' ATTRIBUT XALP_0 NATURE DISCRET) + EF_ST0;
  410. SB0 = ('XTX' (XALP_0 - EF_ST0))**(0.5);
  411. RB0 = SB0;
  412. LAMB0 = RB0/SB0;
  413. *
  414. * incremental step
  415. H_VAL1 = (SB0)/(100000.0);
  416. H_VAL2 = (SB0)/(100000.0);
  417. *
  418. * direction used for the ellispoide methode
  419. TB_DIR = 'TABLE';
  420. TB_DIR. 1 = 'MANU' 'CHPO' MAI1 2 'UX' 1.0 'UY' 0.0 ;
  421. TB_DIR. 2 = 'MANU' 'CHPO' MAI1 2 'UX' 0.0 'UY' 1.0 ;
  422. TB_DIR. 3 = 'MANU' 'CHPO' MAI1 2 'UX' -1.0 'UY' 0.0 ;
  423. TB_DIR. 4 = 'MANU' 'CHPO' MAI1 2 'UX' 0.0 'UY' -1.0;
  424. *
  425. * loop for each direction
  426. I_K1 = 1;
  427. 'REPE' IND3 (4);
  428. *
  429. TAB_ITE = 'TABLE';
  430. TAB_ITE. 0 = 'TABLE';
  431. TAB_ITE. 0 . 'ALPA' = ALP_0;
  432. TAB_ITE. 0 . 'LAMBDA' = LAMB0;
  433. TAB_ITE. 0 . 'RB' = RB0;
  434. *
  435. ALP_K = (TB_DIR. I_K1);
  436. I_M1 = 1;
  437. * first loop in order to have n_elllips=n_limite
  438. 'REPE' IND2 (200);
  439. * sauving Lambda for j iteraction
  440. TAB_ITE. I_M1 = 'TABLE';
  441. TAB_ITE. I_M1 . 'ALPA' = ALP_K;
  442. * determination of the stress state for the chosen direction
  443. XALP_J = (MATX1*ALP_K)/(('XTMX' MATX1 ALP_K)**(0.5));
  444. XALP_J = ('CHAN' ATTRIBUT XALP_J NATURE DISCRET) + EF_ST0;
  445. * nomalisez vector of hte rayon of the ellipsoide for the
  446. * chosen direction
  447. SBJ = ('XTX' (XALP_J - EF_ST0))**(0.5);
  448. BJ = (XALP_J - EF_ST0)/(SBJ);
  449. * rayon of the ellipsoide for the chosen direction
  450. RBVAL1 = (TAB_ITE.(I_M1 - 1). 'RB');
  451. * second loop in order to have f=0
  452. I_I1 = 1;
  453. REPE IND1 (200);
  454. * strees state x0, x0+h, x0-h
  455. VV1 = (RBVAL1 + H_VAL1)*(BJ);
  456. VV2 = (RBVAL1 - H_VAL1)*(BJ);
  457. VV3 = (RBVAL1)*(BJ);
  458. VV1 = ('CHAN' 'ATTRIBUT' VV1 'NATURE' 'DISCRET') + EF_ST0;
  459. VV2 = ('CHAN' 'ATTRIBUT' VV2 'NATURE' 'DISCRET') + EF_ST0;
  460. VV3 = ('CHAN' 'ATTRIBUT' VV3 'NATURE' 'DISCRET') + EF_ST0;
  461. *
  462. T1V1 = 'EXTR' VV1 'FX' MAI1;
  463. T2V1 = 'EXTR' VV1 'FY' MAI1;
  464.  
  465. T1V2 = 'EXTR' VV2 'FX' MAI1;
  466. T2V2 = 'EXTR' VV2 'FY' MAI1;
  467.  
  468. T1V3 = 'EXTR' VV3 'FX' MAI1;
  469. T2V3 = 'EXTR' VV3 'FY' MAI1;
  470.  
  471. 'OUBL' VV1;
  472. 'OUBL' VV2;
  473. 'OUBL' VV3;
  474. * calculation of f and D terms
  475. TTL1 = TABLE;
  476. TTL1.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_COR';
  477. TTL1.'T1' = T1V3;
  478. TTL1.'T2' = T2V3;
  479. TTL1.'FCK' = FCBET1;
  480. TTL1.'FSK_T' = FSACI1;
  481. TTL1.'RHO_T' = RHOT;
  482. TTL1.'GAMMA_C' = GAMC;
  483. TTL1.'ALPA_C' = ALPC1;
  484. TTL1.'GAMMA_S' = GAMS1;
  485. TTL1.'NU_C' = NUC1;
  486. TTL1.'COT_THETA' = CO_TH1;
  487. *
  488. TTL2 = TABLE;
  489. TTL2.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_COR';
  490. TTL2.'T1' = T1V1;
  491. TTL2.'T2' = T2V1;
  492. TTL2.'FCK' = FCBET1;
  493. TTL2.'FSK_T' = FSACI1;
  494. TTL2.'RHO_T' = RHOT;
  495. TTL2.'GAMMA_C' = GAMC;
  496. TTL2.'ALPA_C' = ALPC1;
  497. TTL2.'GAMMA_S' = GAMS1;
  498. TTL2.'NU_C' = NUC1;
  499. TTL2.'COT_THETA' = CO_TH1;
  500. *
  501. TTL3 = TABLE;
  502. TTL3.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_COR';
  503. TTL3.'T1' = T1V2;
  504. TTL3.'T2' = T2V2;
  505. TTL3.'FCK' = FCBET1;
  506. TTL3.'FSK_T' = FSACI1;
  507. TTL3.'RHO_T' = RHOT;
  508. TTL3.'GAMMA_C' = GAMC;
  509. TTL3.'ALPA_C' = ALPC1;
  510. TTL3.'GAMMA_S' = GAMS1;
  511. TTL3.'NU_C' = NUC1;
  512. TTL3.'COT_THETA' = CO_TH1;
  513. *
  514. F_VAL1 = G_ULTI2D TTL1;
  515. D_VAL1 = ((G_ULTI2D TTL2) -
  516. (G_ULTI2D TTL3))/((2.0)*(H_VAL1));
  517. * controle
  518. 'SI' (('ABS'(F_VAL1)) '<' TOL_1);
  519. * convergence!!!
  520. RBJ = RBVAL1;
  521. 'QUIT' IND1;
  522. 'SINON';
  523. 'SI' (I_I1 'EGA' 200);
  524. * end of loop, we take the last value!!!
  525. RBJ = RBVAL1;
  526. 'QUIT' IND1;
  527. 'FINSI';
  528. * Check beetwen 2 values of R (radius)!!!
  529. 'SI' (I_I1 > 2);
  530. 'SI' ((ABS((RBVAL1 - RBVAL2)/(RBVAL1))) < ((TOL_1)*(1.e-10)));
  531. RBJ = RBVAL1;
  532. 'QUIT' IND1;
  533. 'FINSI';
  534. 'FINSI';
  535. * case when D is equal to zero
  536. 'SI' (('ABS'(D_VAL1)) < 1.E-16);
  537. RBVAL2 = RBVAL1;
  538. RBVAL1 = ((1.1)*(RBVAL1));
  539. 'SINON';
  540. * otherwise
  541. RBVAL2 = RBVAL1;
  542. RBVAL1 = RBVAL1 - ((F_VAL1)/(D_VAL1));
  543. 'FINSI';
  544. 'FINSI';
  545. *
  546. I_I1 = I_I1 + 1;
  547. 'FIN' IND1;
  548. * computation of lambda
  549. LAMBJ = RBJ/SBJ;
  550. TAB_ITE. I_M1 . 'LAMBDA' = LAMBJ;
  551. TAB_ITE. I_M1 . 'RB' = RBJ;
  552. XCOUB1 = (((TAB_ITE. I_M1 .'LAMBDA')*(TAB_ITE. I_M1 .'LAMBDA'))*
  553. (MATX1));
  554. * amplified stress state using the lambda coef
  555. XALP_L = (XCOUB1*ALP_K)/(('XTMX' XCOUB1 ALP_K)**(0.5));
  556. XALP_L = ('CHAN' ATTRIBUT XALP_L NATURE DISCRET) + EF_ST0;
  557. * Dh*ex ; Dh*ey ; Dh*ez
  558. DE_HX = 'MANU' 'CHPO' MAI1 2 'FX' H_VAL2 'FY' 0.0 ;
  559. DE_HY = 'MANU' 'CHPO' MAI1 2 'FX' 0.0 'FY' H_VAL2 ;
  560. * x0*lam + Dh*ex ; x0*lam + Dh*ey ; x0*lam + Dh*ez
  561. VV_HXP = XALP_L + DE_HX;
  562. VV_HYP = XALP_L + DE_HY;
  563. * x0*lam + Dh*ex ; x0*lam + Dh*ey ; x0*lam + Dh*ez
  564. VV_HXN = XALP_L - DE_HX;
  565. VV_HYN = XALP_L - DE_HY;
  566. * x0*lam
  567. VV_0 = XALP_L;
  568. *
  569. VV_HXP1 = 'EXTR' VV_HXP 'FX' MAI1;
  570. VV_HXP2 = 'EXTR' VV_HXP 'FY' MAI1;
  571. VV_HYP1 = 'EXTR' VV_HYP 'FX' MAI1;
  572. VV_HYP2 = 'EXTR' VV_HYP 'FY' MAI1;
  573. *
  574. VV_HXN1 = 'EXTR' VV_HXN 'FX' MAI1;
  575. VV_HXN2 = 'EXTR' VV_HXN 'FY' MAI1;
  576. VV_HYN1 = 'EXTR' VV_HYN 'FX' MAI1;
  577. VV_HYN2 = 'EXTR' VV_HYN 'FY' MAI1;
  578. *
  579. VV_01 = 'EXTR' VV_HXP 'FX' MAI1;
  580. VV_02 = 'EXTR' VV_HXP 'FY' MAI1;
  581. *
  582. TTL2 = TABLE;
  583. TTL2.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_COR';
  584. TTL2.'T1' = VV_HXP1;
  585. TTL2.'T2' = VV_HXP2;
  586. TTL2.'FCK' = FCBET1;
  587. TTL2.'FSK_T' = FSACI1;
  588. TTL2.'RHO_T' = RHOT;
  589. TTL2.'GAMMA_C' = GAMC;
  590. TTL2.'ALPA_C' = ALPC1;
  591. TTL2.'GAMMA_S' = GAMS1;
  592. TTL2.'NU_C' = NUC1;
  593. TTL2.'COT_THETA' = CO_TH1;
  594. TTL3 = TABLE;
  595. TTL3.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_COR';
  596. TTL3.'T1' = VV_HXN1;
  597. TTL3.'T2' = VV_HXN2;
  598. TTL3.'FCK' = FCBET1;
  599. TTL3.'FSK_T' = FSACI1;
  600. TTL3.'RHO_T' = RHOT;
  601. TTL3.'GAMMA_C' = GAMC;
  602. TTL3.'ALPA_C' = ALPC1;
  603. TTL3.'GAMMA_S' = GAMS1;
  604. TTL3.'NU_C' = NUC1;
  605. TTL3.'COT_THETA' = CO_TH1;
  606. VAL_X1 = ((G_ULTI2D TTL2) - (G_ULTI2D TTL3))/((2.0)*(H_VAL2));
  607. *
  608. TTL2 = TABLE;
  609. TTL2.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_COR';
  610. TTL2.'T1' = VV_HYP1;
  611. TTL2.'T2' = VV_HYP2;
  612. TTL2.'FCK' = FCBET1;
  613. TTL2.'FSK_T' = FSACI1;
  614. TTL2.'RHO_T' = RHOT;
  615. TTL2.'GAMMA_C' = GAMC;
  616. TTL2.'ALPA_C' = ALPC1;
  617. TTL2.'GAMMA_S' = GAMS1;
  618. TTL2.'NU_C' = NUC1;
  619. TTL2.'COT_THETA' = CO_TH1;
  620. TTL3 = TABLE;
  621. TTL3.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_COR';
  622. TTL3.'T1' = VV_HYN1;
  623. TTL3.'T2' = VV_HYN2;
  624. TTL3.'FCK' = FCBET1;
  625. TTL3.'FSK_T' = FSACI1;
  626. TTL3.'RHO_T' = RHOT;
  627. TTL3.'GAMMA_C' = GAMC;
  628. TTL3.'ALPA_C' = ALPC1;
  629. TTL3.'GAMMA_S' = GAMS1;
  630. TTL3.'NU_C' = NUC1;
  631. TTL3.'COT_THETA' = CO_TH1;
  632. VAL_Y1 = ((G_ULTI2D TTL2) - (G_ULTI2D TTL3))/((2.0)*(H_VAL2));
  633. *
  634. * costruction n_limit
  635. DELTG1 = 'MANU' 'CHPO' MAI1 'UX' ((-1.0)*(VAL_X1))
  636. 'UY' ((-1.0)*(VAL_Y1));
  637. *
  638. * variable for the convergence test
  639. ID1_CON = 0;
  640. * check on the n_limit
  641. 'SI' ((('XTX' DELTG1)**(0.5)) < 1.E-7);
  642. * if |n_limit|=0 rotate the chosen direction by 10 degrees
  643. MATR1 = 'VIDE' 'RIGIDITE'/'RIGIDITE';
  644. MATR1 = MATR1 'ET'
  645. ('MANU' 'RIGIDITE' MAI1 ('MOTS' 'UX' 'UY') 'QUEL'
  646. ('PROG' (COS(10.0)) ((-1.0)*(SIN(10.0)))
  647. (SIN(10.0)) (COS(10.0))
  648. 0.0 0.0 ));
  649. AAA1 = MATR1*ALP_K;
  650. DELTG1 = MANU CHPO MAI1 'UX' (EXTR AAA1 MAI1 'FX')
  651. 'UY' (EXTR AAA1 MAI1 'FY');
  652. 'FINSI';
  653. * convergence test
  654. VET_TEST = (TAB_ITE. I_M1 . 'ALPA')
  655. - (TAB_ITE. (I_M1 - 1) . 'ALPA');
  656. *
  657. 'SI' ((('XTX' VET_TEST)**(0.5)) '<' 0.001);
  658. * deduction of the final value of Lambda
  659. 'SI' ((TAB_ITE. I_M1 . 'LAMBDA') '>' 0.0);
  660. 'SI' ('NEG' ('TYPE' LAM_FIN) 'FLOTTANT');
  661. LAM_FIN = (TAB_ITE. I_M1 . 'LAMBDA');
  662. 'SINON';
  663. 'SI' (LAM_FIN '>' (TAB_ITE. I_M1 . 'LAMBDA'));
  664. LAM_FIN = (TAB_ITE. I_M1 . 'LAMBDA');
  665. 'FINSI';
  666. 'FINSI';
  667. 'FINSI';
  668. 'QUIT' IND2;
  669. 'SINON';
  670. 'SI' (I_M1 'EGA' 200);
  671. ID1_CON = 1;
  672. 'SI' ((TAB_ITE. I_M1 . 'LAMBDA') '>' 0.0);
  673. 'SI' ('NEG' ('TYPE' LAM_FIN) 'FLOTTANT');
  674. LAM_FIN = (TAB_ITE. I_M1 . 'LAMBDA');
  675. 'SINON';
  676. 'SI' (LAM_FIN '>' (TAB_ITE. I_M1 . 'LAMBDA'));
  677. LAM_FIN = (TAB_ITE. I_M1 . 'LAMBDA');
  678. 'FINSI';
  679. 'FINSI';
  680. 'FINSI';
  681. 'SINON';
  682. * otherwise update the n_limit
  683. ALP_K = DELTG1/((XTX DELTG1)**(0.5));
  684. 'FINSI';
  685. 'FINSI';
  686. I_M1 = I_M1 + 1;
  687. 'FIN' IND2;
  688. I_K1 = I_K1 + 1;
  689. 'FIN' IND3;
  690.  
  691. *
  692. * screen message
  693. 'SI' (ID1_CON 'EGA' 0);
  694. TIT1 = 'CHAINE' ' Element ' I_ELE1 ' Lambda='
  695. LAM_FIN;
  696. 'MESS' TIT1;
  697. 'FINSI';
  698. 'SI' (ID1_CON 'EGA' 1);
  699. TIT1 = 'CHAINE' ' Element ' I_ELE1 ' Lambda='
  700. LAM_FIN '.....Attention non convergence';
  701.  
  702. 'SI' ('EGA' ('TYPE' LL_ERRE1) 'LISTENTI');
  703. LL_ERRE1 = LL_ERRE1 ET ('LECT' I_ELE1);
  704. 'SINON';
  705. LL_ERRE1 = ('LECT' I_ELE1);
  706. 'FINSI';
  707. 'FINSI';
  708. *
  709. 'SI' (I_IE1 'EGA' 3);
  710. MOD1 = 'MODE' ELE_VOI1 'MECANIQUE' 'ELASTIQUE' 'ISOTROPE';
  711. MODTOT = MODTOT 'ET' MOD1;
  712. CH_LAMC = CH_LAMC 'ET' ('MANU' 'CHML' ELE_VOI1 'LAMC' LAM_FIN);
  713. 'SI' (LAM_FIN '<' 1.0);
  714. MAI_REC = MAI_REC 'ET' (ELE_VOI1 'COUL' 'ROUG');
  715. 'SINON';
  716. MAI_REC = MAI_REC 'ET' (ELE_VOI1 'COUL' 'VERT');
  717. 'FINSI';
  718. 'FINSI';
  719. 'OUBL' LAM_FIN;
  720. 'OUBL' LAM_FIN2;
  721. 'FINSI';
  722. * Verification Externe et interne-------------------------------
  723. 'SINON';
  724. * --------------------------------------------------------------
  725. *
  726. * Test about the static state stress
  727. TTL1 = TABLE;
  728. TTL1.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  729. TTL1.'S11' = N110;
  730. TTL1.'S22' = N220;
  731. TTL1.'S12' = N120;
  732. TTL1.'FCK' = FCBET1;
  733. TTL1.'FSK_1' = FSACI1;
  734. TTL1.'FSK_2' = FSACI1;
  735. TTL1.'RHO_1' = RHOXS;
  736. TTL1.'RHO_2' = RHOYS;
  737. TTL1.'GAMMA_C' = GAMC;
  738. TTL1.'ALPA_C' = ALPC1;
  739. TTL1.'NU_C' = NUC1;
  740. TTL1.'GAMMA_S' = GAMS1;
  741. *
  742. T_ST1 = G_ULTI2D TTL1;
  743. 'SI' (T_ST1 '&lt;EG' 0.0);
  744. LAM_FIN = 0.0;
  745. TIT1 = 'CHAINE' ' Element ' I_IE1 ' Lambda='
  746. LAM_FIN '.....Sig0 externe';
  747. 'MESS' TIT1;
  748. *
  749. * results stored in the MCHAML field
  750. 'SI' (I_IE1 'EGA' 1);
  751. MOD1 = 'MODE' ELE_VOI1 'MECANIQUE' 'ELASTIQUE' 'ISOTROPE';
  752. MODTOT = MODTOT 'ET' MOD1;
  753. * CH_LAME = CH_LAME 'ET' ('MANU' 'CHML' MOD1 'LAME' LAM_FIN);
  754. CH_LAME = CH_LAME 'ET' ('MANU' 'CHML' ELE_VOI1 'LAME' LAM_FIN);
  755. 'SI' (LAM_FIN '<' 1.0);
  756. MAI_REE = MAI_REE 'ET' (ELE_VOI1 'COUL' 'ROUG');
  757. 'SINON';
  758. MAI_REE = MAI_REE 'ET' (ELE_VOI1 'COUL' 'VERT');
  759. 'FINSI';
  760. 'FINSI';
  761. 'SI' (I_IE1 'EGA' 2);
  762. MOD1 = 'MODE' ELE_VOI1 'MECANIQUE' 'ELASTIQUE' 'ISOTROPE';
  763. MODTOT = MODTOT 'ET' MOD1;
  764. * CH_LAMI = CH_LAMI 'ET' ('MANU' 'CHML' MOD1 'LAMI' LAM_FIN);
  765. CH_LAMI = CH_LAMI 'ET' ('MANU' 'CHML' ELE_VOI1 'LAMI' LAM_FIN);
  766. 'SI' (LAM_FIN '<' 1.0);
  767. MAI_REI = MAI_REI 'ET' (ELE_VOI1 'COUL' 'ROUG');
  768. 'SINON';
  769. MAI_REI = MAI_REI 'ET' (ELE_VOI1 'COUL' 'VERT');
  770. 'FINSI';
  771. 'FINSI';
  772. *
  773. 'OUBL' LAM_FIN;
  774. *
  775. 'SINON';
  776. *
  777. * Start of the iteration
  778. P1 = 0. 0. 0.;
  779. P2 = 1. 0. 0.;
  780. P3 = 2. 0. 0.;
  781. *
  782. MAI1 = P1;
  783. * Matrix X
  784. MATX1 = VIDE 'RIGIDITE'/'RIGIDITE';
  785. MATX1 = MATX1 'ET' ('MANU' 'RIGIDITE' MAI1 (MOTS 'UX' 'UY' 'UZ')
  786. ('PROG' (N11*N11) N11N22 N11N12
  787. N11N22 (N22*N22) N22N12
  788. N11N12 N22N12 (N12*N12)));
  789. *
  790. * Static state stress
  791. EF_ST0 = 'MANU' 'CHPO' MAI1 3 'FX' N110 'FY' N220 'FZ' N120;
  792. EF_ST0 = 'CHAN' 'ATTRIBUT' EF_ST0 'NATURE' 'DISCRET';
  793. *
  794. * Initial Vecteur
  795. ALP_0 = 'MANU' 'CHPO' MAI1 3 'UX' 2.0 'UY' 2.0 'UZ' 2.0;
  796. XALP_0 = (MATX1*ALP_0)/(('XTMX' MATX1 ALP_0)**(0.5));
  797. XALP_0 = ('CHAN' ATTRIBUT XALP_0 NATURE DISCRET) + EF_ST0;
  798. SB0 = ('XTX' (XALP_0 - EF_ST0))**(0.5);
  799. RB0 = SB0;
  800. LAMB0 = RB0/SB0;
  801. *
  802. * incremental step
  803. H_VAL1 = (SB0)/(100000.0);
  804. H_VAL2 = (SB0)/(100000.0);
  805. *
  806. * direction used for the ellispoide methode
  807. TB_DIR = 'TABLE';
  808. TB_DIR. 1 = 'MANU' 'CHPO' MAI1 3 'UX' 1.0 'UY' 0.0 'UZ' 0.0;
  809. TB_DIR. 2 = 'MANU' 'CHPO' MAI1 3 'UX' 0.0 'UY' 1.0 'UZ' 0.0;
  810. TB_DIR. 3 = 'MANU' 'CHPO' MAI1 3 'UX' 0.0 'UY' 0.0 'UZ' 1.0;
  811. TB_DIR. 4 = 'MANU' 'CHPO' MAI1 3 'UX' -1.0 'UY' 0.0 'UZ' 0.0;
  812. TB_DIR. 5 = 'MANU' 'CHPO' MAI1 3 'UX' 0.0 'UY' -1.0 'UZ' 0.0;
  813. TB_DIR. 6 = 'MANU' 'CHPO' MAI1 3 'UX' 0.0 'UY' 0.0 'UZ' -1.0;
  814. *
  815. * loop for each direction
  816. I_K1 = 1;
  817. 'REPE' IND3 (6);
  818. *
  819. TAB_ITE = 'TABLE';
  820. TAB_ITE. 0 = 'TABLE';
  821. TAB_ITE. 0 . 'ALPA' = ALP_0;
  822. TAB_ITE. 0 . 'LAMBDA' = LAMB0;
  823. TAB_ITE. 0 . 'RB' = RB0;
  824. *
  825. ALP_K = (TB_DIR. I_K1);
  826. I_M1 = 1;
  827. * first loop in order to have n_elllips=n_limite
  828. 'REPE' IND2 (200);
  829. * sauving Lambda for j iteraction
  830. TAB_ITE. I_M1 = 'TABLE';
  831. TAB_ITE. I_M1 . 'ALPA' = ALP_K;
  832. * determination of the stress state for the chosen direction
  833. XALP_J = (MATX1*ALP_K)/(('XTMX' MATX1 ALP_K)**(0.5));
  834. XALP_J = ('CHAN' ATTRIBUT XALP_J NATURE DISCRET) + EF_ST0;
  835. * nomalisez vector of hte rayon of the ellipsoide for the
  836. * chosen direction
  837. SBJ = ('XTX' (XALP_J - EF_ST0))**(0.5);
  838. BJ = (XALP_J - EF_ST0)/(SBJ);
  839. * rayon of the ellipsoide for the chosen direction
  840. RBVAL1 = (TAB_ITE.(I_M1 - 1). 'RB');
  841. * second loop in order to have f=0
  842. I_I1 = 1;
  843. REPE IND1 (200);
  844. * strees state x0, x0+h, x0-h
  845. VV1 = (RBVAL1 + H_VAL1)*(BJ);
  846. VV2 = (RBVAL1 - H_VAL1)*(BJ);
  847. VV3 = (RBVAL1)*(BJ);
  848. VV1 = ('CHAN' 'ATTRIBUT' VV1 'NATURE' 'DISCRET') + EF_ST0;
  849. VV2 = ('CHAN' 'ATTRIBUT' VV2 'NATURE' 'DISCRET') + EF_ST0;
  850. VV3 = ('CHAN' 'ATTRIBUT' VV3 'NATURE' 'DISCRET') + EF_ST0;
  851. *
  852. N11V1 = 'EXTR' VV1 'FX' MAI1;
  853. N22V1 = 'EXTR' VV1 'FY' MAI1;
  854. N12V1 = 'EXTR' VV1 'FZ' MAI1;
  855. N11V2 = 'EXTR' VV2 'FX' MAI1;
  856. N22V2 = 'EXTR' VV2 'FY' MAI1;
  857. N12V2 = 'EXTR' VV2 'FZ' MAI1;
  858. N11V3 = 'EXTR' VV3 'FX' MAI1;
  859. N22V3 = 'EXTR' VV3 'FY' MAI1;
  860. N12V3 = 'EXTR' VV3 'FZ' MAI1;
  861. 'OUBL' VV1;
  862. 'OUBL' VV2;
  863. 'OUBL' VV3;
  864. * calculation of f and D terms
  865. TTL1 = TABLE;
  866. TTL1.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  867. TTL1.'S11' = N11V3;
  868. TTL1.'S22' = N22V3;
  869. TTL1.'S12' = N12V3;
  870. TTL1.'FCK' = FCBET1;
  871. TTL1.'FSK_1' = FSACI1;
  872. TTL1.'FSK_2' = FSACI1;
  873. TTL1.'RHO_1' = RHOXS;
  874. TTL1.'RHO_2' = RHOYS;
  875. TTL1.'GAMMA_C' = GAMC;
  876. TTL1.'ALPA_C' = ALPC1;
  877. TTL1.'NU_C' = NUC1;
  878. TTL1.'GAMMA_S' = GAMS1;
  879. *
  880. TTL2 = TABLE;
  881. TTL2.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  882. TTL2.'S11' = N11V1;
  883. TTL2.'S22' = N22V1;
  884. TTL2.'S12' = N12V1;
  885. TTL2.'FCK' = FCBET1;
  886. TTL2.'FSK_1' = FSACI1;
  887. TTL2.'FSK_2' = FSACI1;
  888. TTL2.'RHO_1' = RHOXS;
  889. TTL2.'RHO_2' = RHOYS;
  890. TTL2.'GAMMA_C' = GAMC;
  891. TTL2.'ALPA_C' = ALPC1;
  892. TTL2.'NU_C' = NUC1;
  893. TTL2.'GAMMA_S' = GAMS1;
  894. *
  895. TTL3 = TABLE;
  896. TTL3.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  897. TTL3.'S11' = N11V2;
  898. TTL3.'S22' = N22V2;
  899. TTL3.'S12' = N12V2;
  900. TTL3.'FCK' = FCBET1;
  901. TTL3.'FSK_1' = FSACI1;
  902. TTL3.'FSK_2' = FSACI1;
  903. TTL3.'RHO_1' = RHOXS;
  904. TTL3.'RHO_2' = RHOYS;
  905. TTL3.'GAMMA_C' = GAMC;
  906. TTL3.'ALPA_C' = ALPC1;
  907. TTL3.'NU_C' = NUC1;
  908. TTL3.'GAMMA_S' = GAMS1;
  909. *
  910. F_VAL1 = G_ULTI2D TTL1;
  911. D_VAL1 = ((G_ULTI2D TTL2) - (G_ULTI2D TTL3))/
  912. ((2.0)*(H_VAL1));
  913. * controle
  914. 'SI' (('ABS'(F_VAL1)) '<' TOL_1);
  915. * convergence!!!
  916. RBJ = RBVAL1;
  917. 'QUIT' IND1;
  918. 'SINON';
  919. 'SI' (I_I1 'EGA' 200);
  920. * fin of loop, we take the last value!!!
  921. RBJ = RBVAL1;
  922. 'QUIT' IND1;
  923. 'FINSI';
  924. * Check beetwen 2 values of R (radius)!!!
  925. 'SI' (I_I1 > 2);
  926. 'SI' ((ABS((RBVAL1 - RBVAL2)/(RBVAL1))) < ((TOL_1)*(1.e-10)));
  927. RBJ = RBVAL1;
  928. 'QUIT' IND1;
  929. 'FINSI';
  930. 'FINSI';
  931. * Modification in case of the x0+h stress case is out of the
  932. * external boudary of the limit surface
  933. * [(-fc-rx*fs),(-fc-ry*fs)]x[(rx*fs),(ry*fs)]
  934. 'SI' (N11V3 > ((FSACI1*RHOXS)/(GAMS1)));
  935. RBVAL2 = RBVAL1;
  936. RBVAL1 = (((FSACI1*RHOXS)/(GAMS1)) -
  937. (EXTR EF_ST0 'FX' MAI1) -
  938. TOL_1)/
  939. (EXTR BJ 'FX' MAI1);
  940. 'SINON';
  941. 'SI' (N22V3 '>' ((FSACI1*RHOYS)/(GAMS1)));
  942. RBVAL2 = RBVAL1;
  943. RBVAL1 = (((FSACI1*RHOYS)/(GAMS1))
  944. - ('EXTR' EF_ST0 'FY' MAI1)
  945. - TOL_1)/
  946. ('EXTR' BJ 'FY' MAI1);
  947. 'SINON';
  948. 'SI' (N11V3 '<' (((-1.0)*(((FCBET1*ALPC1)*(NUC1))/(ALPC1)))
  949. + ((-1.0)*((FSACI1*RHOXS)/(GAMS1)))));
  950. RBVAL2 = RBVAL1;
  951. RBVAL1 = ((((-1.0)*(((FCBET1*ALPC1)*(NUC1))/(ALPC1)))
  952. + ((-1.0)*((FSACI1*RHOXS)/(GAMS1))))
  953. - ('EXTR' EF_ST0 'FX' MAI1)
  954. + TOL_1)/
  955. ('EXTR' BJ 'FX' MAI1);
  956. 'SINON';
  957. 'SI' (N22V3 < (((-1.0)*(((FCBET1*ALPC1)*(NUC1))/(ALPC1)))
  958. + ((-1.0)*((FSACI1*RHOYS)/(GAMS1)))));
  959. RBVAL2 = RBVAL1;
  960. RBVAL1 = ((((-1.0)*(((FCBET1*ALPC1)*(NUC1))/(ALPC1)))
  961. + ((-1.0)*((FSACI1*RHOYS)/(GAMS1))))
  962. - ('EXTR' EF_ST0 'FY' MAI1)
  963. + TOL_1)/
  964. ('EXTR' BJ 'FY' MAI1);
  965. 'SINON';
  966. * case when D is equal to sero
  967. 'SI' (('ABS'(D_VAL1)) < 1.E-16);
  968. RBVAL2 = RBVAL1;
  969. RBVAL1 = ((1.1)*(RBVAL1));
  970. 'SINON';
  971. * otherwise
  972. RBVAL2 = RBVAL1;
  973. RBVAL1 = RBVAL1 - ((F_VAL1)/(D_VAL1));
  974. 'FINSI';
  975. 'FINSI';
  976. 'FINSI';
  977. 'FINSI';
  978. 'FINSI';
  979. 'FINSI';
  980. *
  981. I_I1 = I_I1 + 1;
  982. 'FIN' IND1;
  983. * computation of lambda
  984. LAMBJ = RBJ/SBJ;
  985. TAB_ITE. I_M1 . 'LAMBDA' = LAMBJ;
  986. TAB_ITE. I_M1 . 'RB' = RBJ;
  987. XCOUB1 = (((TAB_ITE. I_M1 .'LAMBDA')*(TAB_ITE. I_M1 .'LAMBDA'))*
  988. (MATX1));
  989. * amplified stress state using the lambda coef
  990. XALP_L = (XCOUB1*ALP_K)/(('XTMX' XCOUB1 ALP_K)**(0.5));
  991. XALP_L = ('CHAN' ATTRIBUT XALP_L NATURE DISCRET) + EF_ST0;
  992. * Dh*ex ; Dh*ey ; Dh*ez
  993. DE_HX = 'MANU' 'CHPO' MAI1 3 'FX' H_VAL2 'FY' 0.0 'FZ' 0.0;
  994. DE_HY = 'MANU' 'CHPO' MAI1 3 'FX' 0.0 'FY' H_VAL2 'FZ' 0.0;
  995. DE_HZ = 'MANU' 'CHPO' MAI1 3 'FX' 0.0 'FY' 0.0 'FZ' H_VAL2;
  996. * x0*lam + Dh*ex ; x0*lam + Dh*ey ; x0*lam + Dh*ez
  997. VV_HXP = XALP_L + DE_HX;
  998. VV_HYP = XALP_L + DE_HY;
  999. VV_HZP = XALP_L + DE_HZ;
  1000. * x0*lam + Dh*ex ; x0*lam + Dh*ey ; x0*lam + Dh*ez
  1001. VV_HXN = XALP_L - DE_HX;
  1002. VV_HYN = XALP_L - DE_HY;
  1003. VV_HZN = XALP_L - DE_HZ;
  1004. * x0*lam
  1005. VV_0 = XALP_L;
  1006. *
  1007. VV_HXP1 = 'EXTR' VV_HXP 'FX' MAI1;
  1008. VV_HXP2 = 'EXTR' VV_HXP 'FY' MAI1;
  1009. VV_HXP3 = 'EXTR' VV_HXP 'FZ' MAI1;
  1010. VV_HYP1 = 'EXTR' VV_HYP 'FX' MAI1;
  1011. VV_HYP2 = 'EXTR' VV_HYP 'FY' MAI1;
  1012. VV_HYP3 = 'EXTR' VV_HYP 'FZ' MAI1;
  1013. VV_HZP1 = 'EXTR' VV_HZP 'FX' MAI1;
  1014. VV_HZP2 = 'EXTR' VV_HZP 'FY' MAI1;
  1015. VV_HZP3 = 'EXTR' VV_HZP 'FZ' MAI1;
  1016. VV_HXN1 = 'EXTR' VV_HXN 'FX' MAI1;
  1017. VV_HXN2 = 'EXTR' VV_HXN 'FY' MAI1;
  1018. VV_HXN3 = 'EXTR' VV_HXN 'FZ' MAI1;
  1019. VV_HYN1 = 'EXTR' VV_HYN 'FX' MAI1;
  1020. VV_HYN2 = 'EXTR' VV_HYN 'FY' MAI1;
  1021. VV_HYN3 = 'EXTR' VV_HYN 'FZ' MAI1;
  1022. VV_HZN1 = 'EXTR' VV_HZN 'FX' MAI1;
  1023. VV_HZN2 = 'EXTR' VV_HZN 'FY' MAI1;
  1024. VV_HZN3 = 'EXTR' VV_HZN 'FZ' MAI1;
  1025. *
  1026. VV_01 = 'EXTR' VV_HXP 'FX' MAI1;
  1027. VV_02 = 'EXTR' VV_HXP 'FY' MAI1;
  1028. VV_03 = 'EXTR' VV_HXP 'FZ' MAI1;
  1029. * Calculation of n_limite if x0*lam + Dh*ex is out of the external
  1030. * boudary of limite surface
  1031. 'SI' (VV_HXP1 '>' ((FSACI1*RHOXS)/(GAMS1)));
  1032. *
  1033. TTL2 = TABLE;
  1034. TTL2.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  1035. TTL2.'S11' = VV_01;
  1036. TTL2.'S22' = VV_02;
  1037. TTL2.'S12' = VV_03;
  1038. TTL2.'FCK' = FCBET1;
  1039. TTL2.'FSK_1' = FSACI1;
  1040. TTL2.'FSK_2' = FSACI1;
  1041. TTL2.'RHO_1' = RHOXS;
  1042. TTL2.'RHO_2' = RHOYS;
  1043. TTL2.'GAMMA_C' = GAMC;
  1044. TTL2.'ALPA_C' = ALPC1;
  1045. TTL2.'NU_C' = NUC1;
  1046. TTL2.'GAMMA_S' = GAMS1;
  1047. TTL3 = TABLE;
  1048. TTL3.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  1049. TTL3.'S11' = VV_HXN1;
  1050. TTL3.'S22' = VV_HXN2;
  1051. TTL3.'S12' = VV_HXN3;
  1052. TTL3.'FCK' = FCBET1;
  1053. TTL3.'FSK_1' = FSACI1;
  1054. TTL3.'FSK_2' = FSACI1;
  1055. TTL3.'RHO_1' = RHOXS;
  1056. TTL3.'RHO_2' = RHOYS;
  1057. TTL3.'GAMMA_C' = GAMC;
  1058. TTL3.'ALPA_C' = ALPC1;
  1059. TTL3.'NU_C' = NUC1;
  1060. TTL3.'GAMMA_S' = GAMS1;
  1061. VAL_X1 = ((G_ULTI2D TTL2) - (G_ULTI2D TTL3))/((1.0)*(H_VAL2));
  1062. *
  1063. TTL2 = TABLE;
  1064. TTL2.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  1065. TTL2.'S11' = VV_HYP1;
  1066. TTL2.'S22' = VV_HYP2;
  1067. TTL2.'S12' = VV_HYP3;
  1068. TTL2.'FCK' = FCBET1;
  1069. TTL2.'FSK_1' = FSACI1;
  1070. TTL2.'FSK_2' = FSACI1;
  1071. TTL2.'RHO_1' = RHOXS;
  1072. TTL2.'RHO_2' = RHOYS;
  1073. TTL2.'GAMMA_C' = GAMC;
  1074. TTL2.'ALPA_C' = ALPC1;
  1075. TTL2.'NU_C' = NUC1;
  1076. TTL2.'GAMMA_S' = GAMS1;
  1077. TTL3 = TABLE;
  1078. TTL3.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  1079. TTL3.'S11' = VV_HYN1;
  1080. TTL3.'S22' = VV_HYN2;
  1081. TTL3.'S12' = VV_HYN3;
  1082. TTL3.'FCK' = FCBET1;
  1083. TTL3.'FSK_1' = FSACI1;
  1084. TTL3.'FSK_2' = FSACI1;
  1085. TTL3.'RHO_1' = RHOXS;
  1086. TTL3.'RHO_2' = RHOYS;
  1087. TTL3.'GAMMA_C' = GAMC;
  1088. TTL3.'ALPA_C' = ALPC1;
  1089. TTL3.'NU_C' = NUC1;
  1090. TTL3.'GAMMA_S' = GAMS1;
  1091. VAL_Y1 = ((G_ULTI2D TTL2) - (G_ULTI2D TTL3))/((2.0)*(H_VAL2));
  1092. *
  1093. TTL2 = TABLE;
  1094. TTL2.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  1095. TTL2.'S11' = VV_HZP1;
  1096. TTL2.'S22' = VV_HZP2;
  1097. TTL2.'S12' = VV_HZP3;
  1098. TTL2.'FCK' = FCBET1;
  1099. TTL2.'FSK_1' = FSACI1;
  1100. TTL2.'FSK_2' = FSACI1;
  1101. TTL2.'RHO_1' = RHOXS;
  1102. TTL2.'RHO_2' = RHOYS;
  1103. TTL2.'GAMMA_C' = GAMC;
  1104. TTL2.'ALPA_C' = ALPC1;
  1105. TTL2.'NU_C' = NUC1;
  1106. TTL2.'GAMMA_S' = GAMS1;
  1107. TTL3 = TABLE;
  1108. TTL3.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  1109. TTL3.'S11' = VV_HZN1;
  1110. TTL3.'S22' = VV_HZN2;
  1111. TTL3.'S12' = VV_HZN3;
  1112. TTL3.'FCK' = FCBET1;
  1113. TTL3.'FSK_1' = FSACI1;
  1114. TTL3.'FSK_2' = FSACI1;
  1115. TTL3.'RHO_1' = RHOXS;
  1116. TTL3.'RHO_2' = RHOYS;
  1117. TTL3.'GAMMA_C' = GAMC;
  1118. TTL3.'ALPA_C' = ALPC1;
  1119. TTL3.'NU_C' = NUC1;
  1120. TTL3.'GAMMA_S' = GAMS1;
  1121. VAL_Z1 = ((G_ULTI2D TTL2) - (G_ULTI2D TTL3))/((2.0)*(H_VAL2));
  1122. 'SINON';
  1123. * Calculation of n_limit if x0*lam - Dh*ex is out of the external
  1124. * boudary of the limite surface
  1125. 'SI' (VV_HXN1 '<' (((-1.0)*(((FCBET1*ALPC1)*(NUC1))/(ALPC1)))
  1126. + ((-1.0)*((FSACI1*RHOXS)/(GAMS1)))));
  1127. *
  1128. TTL2 = TABLE;
  1129. TTL2.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  1130. TTL2.'S11' = VV_HXP1;
  1131. TTL2.'S22' = VV_HXP2;
  1132. TTL2.'S12' = VV_HXP3;
  1133. TTL2.'FCK' = FCBET1;
  1134. TTL2.'FSK_1' = FSACI1;
  1135. TTL2.'FSK_2' = FSACI1;
  1136. TTL2.'RHO_1' = RHOXS;
  1137. TTL2.'RHO_2' = RHOYS;
  1138. TTL2.'GAMMA_C' = GAMC;
  1139. TTL2.'ALPA_C' = ALPC1;
  1140. TTL2.'NU_C' = NUC1;
  1141. TTL2.'GAMMA_S' = GAMS1;
  1142. TTL3 = TABLE;
  1143. TTL3.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  1144. TTL3.'S11' = VV_01;
  1145. TTL3.'S22' = VV_02;
  1146. TTL3.'S12' = VV_03;
  1147. TTL3.'FCK' = FCBET1;
  1148. TTL3.'FSK_1' = FSACI1;
  1149. TTL3.'FSK_2' = FSACI1;
  1150. TTL3.'RHO_1' = RHOXS;
  1151. TTL3.'RHO_2' = RHOYS;
  1152. TTL3.'GAMMA_C' = GAMC;
  1153. TTL3.'ALPA_C' = ALPC1;
  1154. TTL3.'NU_C' = NUC1;
  1155. TTL3.'GAMMA_S' = GAMS1;
  1156. VAL_X1 = ((G_ULTI2D TTL2) - (G_ULTI2D TTL3))/((1.0)*(H_VAL2));
  1157. *
  1158. TTL2 = TABLE;
  1159. TTL2.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  1160. TTL2.'S11' = VV_HYP1;
  1161. TTL2.'S22' = VV_HYP2;
  1162. TTL2.'S12' = VV_HYP3;
  1163. TTL2.'FCK' = FCBET1;
  1164. TTL2.'FSK_1' = FSACI1;
  1165. TTL2.'FSK_2' = FSACI1;
  1166. TTL2.'RHO_1' = RHOXS;
  1167. TTL2.'RHO_2' = RHOYS;
  1168. TTL2.'GAMMA_C' = GAMC;
  1169. TTL2.'ALPA_C' = ALPC1;
  1170. TTL2.'NU_C' = NUC1;
  1171. TTL2.'GAMMA_S' = GAMS1;
  1172. TTL3 = TABLE;
  1173. TTL3.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  1174. TTL3.'S11' = VV_HYN1;
  1175. TTL3.'S22' = VV_HYN2;
  1176. TTL3.'S12' = VV_HYN3;
  1177. TTL3.'FCK' = FCBET1;
  1178. TTL3.'FSK_1' = FSACI1;
  1179. TTL3.'FSK_2' = FSACI1;
  1180. TTL3.'RHO_1' = RHOXS;
  1181. TTL3.'RHO_2' = RHOYS;
  1182. TTL3.'GAMMA_C' = GAMC;
  1183. TTL3.'ALPA_C' = ALPC1;
  1184. TTL3.'NU_C' = NUC1;
  1185. TTL3.'GAMMA_S' = GAMS1;
  1186. VAL_Y1 = ((G_ULTI2D TTL2) - (G_ULTI2D TTL3))/((2.0)*(H_VAL2));
  1187. *
  1188. TTL2 = TABLE;
  1189. TTL2.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  1190. TTL2.'S11' = VV_HZP1;
  1191. TTL2.'S22' = VV_HZP2;
  1192. TTL2.'S12' = VV_HZP3;
  1193. TTL2.'FCK' = FCBET1;
  1194. TTL2.'FSK_1' = FSACI1;
  1195. TTL2.'FSK_2' = FSACI1;
  1196. TTL2.'RHO_1' = RHOXS;
  1197. TTL2.'RHO_2' = RHOYS;
  1198. TTL2.'GAMMA_C' = GAMC;
  1199. TTL2.'ALPA_C' = ALPC1;
  1200. TTL2.'NU_C' = NUC1;
  1201. TTL2.'GAMMA_S' = GAMS1;
  1202. TTL3 = TABLE;
  1203. TTL3.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  1204. TTL3.'S11' = VV_HZN1;
  1205. TTL3.'S22' = VV_HZN2;
  1206. TTL3.'S12' = VV_HZN3;
  1207. TTL3.'FCK' = FCBET1;
  1208. TTL3.'FSK_1' = FSACI1;
  1209. TTL3.'FSK_2' = FSACI1;
  1210. TTL3.'RHO_1' = RHOXS;
  1211. TTL3.'RHO_2' = RHOYS;
  1212. TTL3.'GAMMA_C' = GAMC;
  1213. TTL3.'ALPA_C' = ALPC1;
  1214. TTL3.'NU_C' = NUC1;
  1215. TTL3.'GAMMA_S' = GAMS1;
  1216. VAL_Z1 = ((G_ULTI2D TTL2) - (G_ULTI2D TTL3))/((2.0)*(H_VAL2));
  1217. 'SINON';
  1218. * Calculation of n_limit if x0*lam + Dh*ey is out of the external
  1219. * boudary of the limite surface
  1220. 'SI' (VV_HYP1 '>' ((FSACI1*RHOYS)/(GAMS1)));
  1221. *
  1222. TTL2 = TABLE;
  1223. TTL2.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  1224. TTL2.'S11' = VV_HXP1;
  1225. TTL2.'S22' = VV_HXP2;
  1226. TTL2.'S12' = VV_HXP3;
  1227. TTL2.'FCK' = FCBET1;
  1228. TTL2.'FSK_1' = FSACI1;
  1229. TTL2.'FSK_2' = FSACI1;
  1230. TTL2.'RHO_1' = RHOXS;
  1231. TTL2.'RHO_2' = RHOYS;
  1232. TTL2.'GAMMA_C' = GAMC;
  1233. TTL2.'ALPA_C' = ALPC1;
  1234. TTL2.'NU_C' = NUC1;
  1235. TTL2.'GAMMA_S' = GAMS1;
  1236. TTL3 = TABLE;
  1237. TTL3.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  1238. TTL3.'S11' = VV_HXN1;
  1239. TTL3.'S22' = VV_HXN2;
  1240. TTL3.'S12' = VV_HXN3;
  1241. TTL3.'FCK' = FCBET1;
  1242. TTL3.'FSK_1' = FSACI1;
  1243. TTL3.'FSK_2' = FSACI1;
  1244. TTL3.'RHO_1' = RHOXS;
  1245. TTL3.'RHO_2' = RHOYS;
  1246. TTL3.'GAMMA_C' = GAMC;
  1247. TTL3.'ALPA_C' = ALPC1;
  1248. TTL3.'NU_C' = NUC1;
  1249. TTL3.'GAMMA_S' = GAMS1;
  1250. VAL_X1 = ((G_ULTI2D TTL2) - (G_ULTI2D TTL3))/((2.0)*(H_VAL2));
  1251. *
  1252. TTL2 = TABLE;
  1253. TTL2.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  1254. TTL2.'S11' = VV_01;
  1255. TTL2.'S22' = VV_02;
  1256. TTL2.'S12' = VV_03;
  1257. TTL2.'FCK' = FCBET1;
  1258. TTL2.'FSK_1' = FSACI1;
  1259. TTL2.'FSK_2' = FSACI1;
  1260. TTL2.'RHO_1' = RHOXS;
  1261. TTL2.'RHO_2' = RHOYS;
  1262. TTL2.'GAMMA_C' = GAMC;
  1263. TTL2.'ALPA_C' = ALPC1;
  1264. TTL2.'NU_C' = NUC1;
  1265. TTL2.'GAMMA_S' = GAMS1;
  1266. TTL3 = TABLE;
  1267. TTL3.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  1268. TTL3.'S11' = VV_HYN1;
  1269. TTL3.'S22' = VV_HYN2;
  1270. TTL3.'S12' = VV_HYN3;
  1271. TTL3.'FCK' = FCBET1;
  1272. TTL3.'FSK_1' = FSACI1;
  1273. TTL3.'FSK_2' = FSACI1;
  1274. TTL3.'RHO_1' = RHOXS;
  1275. TTL3.'RHO_2' = RHOYS;
  1276. TTL3.'GAMMA_C' = GAMC;
  1277. TTL3.'ALPA_C' = ALPC1;
  1278. TTL3.'NU_C' = NUC1;
  1279. TTL3.'GAMMA_S' = GAMS1;
  1280. VAL_Y1 = ((G_ULTI2D TTL2) - (G_ULTI2D TTL3))/((1.0)*(H_VAL2));
  1281. *
  1282. TTL2 = TABLE;
  1283. TTL2.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  1284. TTL2.'S11' = VV_HZP1;
  1285. TTL2.'S22' = VV_HZP2;
  1286. TTL2.'S12' = VV_HZP3;
  1287. TTL2.'FCK' = FCBET1;
  1288. TTL2.'FSK_1' = FSACI1;
  1289. TTL2.'FSK_2' = FSACI1;
  1290. TTL2.'RHO_1' = RHOXS;
  1291. TTL2.'RHO_2' = RHOYS;
  1292. TTL2.'GAMMA_C' = GAMC;
  1293. TTL2.'ALPA_C' = ALPC1;
  1294. TTL2.'NU_C' = NUC1;
  1295. TTL2.'GAMMA_S' = GAMS1;
  1296. TTL3 = TABLE;
  1297. TTL3.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  1298. TTL3.'S11' = VV_HZN1;
  1299. TTL3.'S22' = VV_HZN2;
  1300. TTL3.'S12' = VV_HZN3;
  1301. TTL3.'FCK' = FCBET1;
  1302. TTL3.'FSK_1' = FSACI1;
  1303. TTL3.'FSK_2' = FSACI1;
  1304. TTL3.'RHO_1' = RHOXS;
  1305. TTL3.'RHO_2' = RHOYS;
  1306. TTL3.'GAMMA_C' = GAMC;
  1307. TTL3.'ALPA_C' = ALPC1;
  1308. TTL3.'NU_C' = NUC1;
  1309. TTL3.'GAMMA_S' = GAMS1;
  1310. VAL_Z1 = ((G_ULTI2D TTL2) - (G_ULTI2D TTL3))/((2.0)*(H_VAL2));
  1311. 'SINON';
  1312. * Calculation of n_limit if x0*lam + Dh*ey is out of the external
  1313. * boudary of the limite surface
  1314. 'SI' (VV_HYN1 '<' (((-1.0)*(((FCBET1*ALPC1)*(NUC1))/(ALPC1)))
  1315. + ((-1.0)*((FSACI1*RHOYS)/(GAMS1)))));
  1316. *
  1317. TTL2 = TABLE;
  1318. TTL2.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  1319. TTL2.'S11' = VV_HXP1;
  1320. TTL2.'S22' = VV_HXP2;
  1321. TTL2.'S12' = VV_HXP3;
  1322. TTL2.'FCK' = FCBET1;
  1323. TTL2.'FSK_1' = FSACI1;
  1324. TTL2.'FSK_2' = FSACI1;
  1325. TTL2.'RHO_1' = RHOXS;
  1326. TTL2.'RHO_2' = RHOYS;
  1327. TTL2.'GAMMA_C' = GAMC;
  1328. TTL2.'ALPA_C' = ALPC1;
  1329. TTL2.'NU_C' = NUC1;
  1330. TTL2.'GAMMA_S' = GAMS1;
  1331. TTL3 = TABLE;
  1332. TTL3.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  1333. TTL3.'S11' = VV_HXN1;
  1334. TTL3.'S22' = VV_HXN2;
  1335. TTL3.'S12' = VV_HXN3;
  1336. TTL3.'FCK' = FCBET1;
  1337. TTL3.'FSK_1' = FSACI1;
  1338. TTL3.'FSK_2' = FSACI1;
  1339. TTL3.'RHO_1' = RHOXS;
  1340. TTL3.'RHO_2' = RHOYS;
  1341. TTL3.'GAMMA_C' = GAMC;
  1342. TTL3.'ALPA_C' = ALPC1;
  1343. TTL3.'NU_C' = NUC1;
  1344. TTL3.'GAMMA_S' = GAMS1;
  1345. VAL_X1 = ((G_ULTI2D TTL2) - (G_ULTI2D TTL3))/
  1346. ((2.0)*(H_VAL2));
  1347. *
  1348. TTL2 = TABLE;
  1349. TTL2.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  1350. TTL2.'S11' = VV_HYP1;
  1351. TTL2.'S22' = VV_HYP2;
  1352. TTL2.'S12' = VV_HYP3;
  1353. TTL2.'FCK' = FCBET1;
  1354. TTL2.'FSK_1' = FSACI1;
  1355. TTL2.'FSK_2' = FSACI1;
  1356. TTL2.'RHO_1' = RHOXS;
  1357. TTL2.'RHO_2' = RHOYS;
  1358. TTL2.'GAMMA_C' = GAMC;
  1359. TTL2.'ALPA_C' = ALPC1;
  1360. TTL2.'NU_C' = NUC1;
  1361. TTL2.'GAMMA_S' = GAMS1;
  1362. TTL3 = TABLE;
  1363. TTL3.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  1364. TTL3.'S11' = VV_01;
  1365. TTL3.'S22' = VV_02;
  1366. TTL3.'S12' = VV_03;
  1367. TTL3.'FCK' = FCBET1;
  1368. TTL3.'FSK_1' = FSACI1;
  1369. TTL3.'FSK_2' = FSACI1;
  1370. TTL3.'RHO_1' = RHOXS;
  1371. TTL3.'RHO_2' = RHOYS;
  1372. TTL3.'GAMMA_C' = GAMC;
  1373. TTL3.'ALPA_C' = ALPC1;
  1374. TTL3.'NU_C' = NUC1;
  1375. TTL3.'GAMMA_S' = GAMS1;
  1376. VAL_Y1 = ((G_ULTI2D TTL2) - (G_ULTI2D TTL3))/
  1377. ((1.0)*(H_VAL2));
  1378. *
  1379. TTL2 = TABLE;
  1380. TTL2.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  1381. TTL2.'S11' = VV_HZP1;
  1382. TTL2.'S22' = VV_HZP2;
  1383. TTL2.'S12' = VV_HZP3;
  1384. TTL2.'FCK' = FCBET1;
  1385. TTL2.'FSK_1' = FSACI1;
  1386. TTL2.'FSK_2' = FSACI1;
  1387. TTL2.'RHO_1' = RHOXS;
  1388. TTL2.'RHO_2' = RHOYS;
  1389. TTL2.'GAMMA_C' = GAMC;
  1390. TTL2.'ALPA_C' = ALPC1;
  1391. TTL2.'NU_C' = NUC1;
  1392. TTL2.'GAMMA_S' = GAMS1;
  1393. TTL3 = TABLE;
  1394. TTL3.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  1395. TTL3.'S11' = VV_HZN1;
  1396. TTL3.'S22' = VV_HZN2;
  1397. TTL3.'S12' = VV_HZN3;
  1398. TTL3.'FCK' = FCBET1;
  1399. TTL3.'FSK_1' = FSACI1;
  1400. TTL3.'FSK_2' = FSACI1;
  1401. TTL3.'RHO_1' = RHOXS;
  1402. TTL3.'RHO_2' = RHOYS;
  1403. TTL3.'GAMMA_C' = GAMC;
  1404. TTL3.'ALPA_C' = ALPC1;
  1405. TTL3.'NU_C' = NUC1;
  1406. TTL3.'GAMMA_S' = GAMS1;
  1407. VAL_Z1 = ((G_ULTI2D TTL2) - (G_ULTI2D TTL3))/
  1408. ((2.0)*(H_VAL2));
  1409. 'SINON';
  1410. * Ordinary method
  1411. TTL2 = TABLE;
  1412. TTL2.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  1413. TTL2.'S11' = VV_HXP1;
  1414. TTL2.'S22' = VV_HXP2;
  1415. TTL2.'S12' = VV_HXP3;
  1416. TTL2.'FCK' = FCBET1;
  1417. TTL2.'FSK_1' = FSACI1;
  1418. TTL2.'FSK_2' = FSACI1;
  1419. TTL2.'RHO_1' = RHOXS;
  1420. TTL2.'RHO_2' = RHOYS;
  1421. TTL2.'GAMMA_C' = GAMC;
  1422. TTL2.'ALPA_C' = ALPC1;
  1423. TTL2.'NU_C' = NUC1;
  1424. TTL2.'GAMMA_S' = GAMS1;
  1425. TTL3 = TABLE;
  1426. TTL3.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  1427. TTL3.'S11' = VV_HXN1;
  1428. TTL3.'S22' = VV_HXN2;
  1429. TTL3.'S12' = VV_HXN3;
  1430. TTL3.'FCK' = FCBET1;
  1431. TTL3.'FSK_1' = FSACI1;
  1432. TTL3.'FSK_2' = FSACI1;
  1433. TTL3.'RHO_1' = RHOXS;
  1434. TTL3.'RHO_2' = RHOYS;
  1435. TTL3.'GAMMA_C' = GAMC;
  1436. TTL3.'ALPA_C' = ALPC1;
  1437. TTL3.'NU_C' = NUC1;
  1438. TTL3.'GAMMA_S' = GAMS1;
  1439. VAL_X1 = ((G_ULTI2D TTL2) - (G_ULTI2D TTL3))/
  1440. ((2.0)*(H_VAL2));
  1441. *
  1442. TTL2 = TABLE;
  1443. TTL2.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  1444. TTL2.'S11' = VV_HYP1;
  1445. TTL2.'S22' = VV_HYP2;
  1446. TTL2.'S12' = VV_HYP3;
  1447. TTL2.'FCK' = FCBET1;
  1448. TTL2.'FSK_1' = FSACI1;
  1449. TTL2.'FSK_2' = FSACI1;
  1450. TTL2.'RHO_1' = RHOXS;
  1451. TTL2.'RHO_2' = RHOYS;
  1452. TTL2.'GAMMA_C' = GAMC;
  1453. TTL2.'ALPA_C' = ALPC1;
  1454. TTL2.'NU_C' = NUC1;
  1455. TTL2.'GAMMA_S' = GAMS1;
  1456. TTL3 = TABLE;
  1457. TTL3.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  1458. TTL3.'S11' = VV_HYN1;
  1459. TTL3.'S22' = VV_HYN2;
  1460. TTL3.'S12' = VV_HYN3;
  1461. TTL3.'FCK' = FCBET1;
  1462. TTL3.'FSK_1' = FSACI1;
  1463. TTL3.'FSK_2' = FSACI1;
  1464. TTL3.'RHO_1' = RHOXS;
  1465. TTL3.'RHO_2' = RHOYS;
  1466. TTL3.'GAMMA_C' = GAMC;
  1467. TTL3.'ALPA_C' = ALPC1;
  1468. TTL3.'NU_C' = NUC1;
  1469. TTL3.'GAMMA_S' = GAMS1;
  1470. VAL_Y1 = ((G_ULTI2D TTL2) - (G_ULTI2D TTL3))/
  1471. ((2.0)*(H_VAL2));
  1472. *
  1473. TTL2 = TABLE;
  1474. TTL2.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  1475. TTL2.'S11' = VV_HZP1;
  1476. TTL2.'S22' = VV_HZP2;
  1477. TTL2.'S12' = VV_HZP3;
  1478. TTL2.'FCK' = FCBET1;
  1479. TTL2.'FSK_1' = FSACI1;
  1480. TTL2.'FSK_2' = FSACI1;
  1481. TTL2.'RHO_1' = RHOXS;
  1482. TTL2.'RHO_2' = RHOYS;
  1483. TTL2.'GAMMA_C' = GAMC;
  1484. TTL2.'ALPA_C' = ALPC1;
  1485. TTL2.'NU_C' = NUC1;
  1486. TTL2.'GAMMA_S' = GAMS1;
  1487. TTL3 = TABLE;
  1488. TTL3.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  1489. TTL3.'S11' = VV_HZN1;
  1490. TTL3.'S22' = VV_HZN2;
  1491. TTL3.'S12' = VV_HZN3;
  1492. TTL3.'FCK' = FCBET1;
  1493. TTL3.'FSK_1' = FSACI1;
  1494. TTL3.'FSK_2' = FSACI1;
  1495. TTL3.'RHO_1' = RHOXS;
  1496. TTL3.'RHO_2' = RHOYS;
  1497. TTL3.'GAMMA_C' = GAMC;
  1498. TTL3.'ALPA_C' = ALPC1;
  1499. TTL3.'NU_C' = NUC1;
  1500. TTL3.'GAMMA_S' = GAMS1;
  1501. VAL_Z1 = ((G_ULTI2D TTL2) - (G_ULTI2D TTL3))/
  1502. ((2.0)*(H_VAL2));
  1503. 'FINSI';
  1504. 'FINSI';
  1505. 'FINSI';
  1506. 'FINSI';
  1507. *
  1508. * costruction n_limit
  1509. DELTG1 = 'MANU' 'CHPO' MAI1 'UX' ((-1.0)*(VAL_X1))
  1510. 'UY' ((-1.0)*(VAL_Y1))
  1511. 'UZ' ((-1.0)*(VAL_Z1));
  1512. *
  1513. * variable for the convergence test
  1514. ID1_CON = 0;
  1515. * check on the n_limit
  1516. 'SI' ((('XTX' DELTG1)**(0.5)) < 1.E-7);
  1517. * if |n_limit|=0 rotate the chosen direction by 10 degrees
  1518. MATR1 = 'VIDE' 'RIGIDITE'/'RIGIDITE';
  1519. MATR1 = MATR1 'ET'
  1520. ('MANU' 'RIGIDITE' MAI1 ('MOTS' 'UX' 'UY' 'UZ') 'QUEL'
  1521. ('PROG' (COS(10.0)) ((-1.0)*(SIN(10.0))) 0.0
  1522. (SIN(10.0)) (COS(10.0)) 0.0
  1523. 0.0 0.0 1.0));
  1524. AAA1 = MATR1*ALP_K;
  1525. DELTG1 = MANU CHPO MAI1 'UX' (EXTR AAA1 MAI1 'FX')
  1526. 'UY' (EXTR AAA1 MAI1 'FY')
  1527. 'UZ' (EXTR AAA1 MAI1 'FZ');
  1528. 'FINSI';
  1529. * convergence test
  1530. VET_TEST = (TAB_ITE. I_M1 . 'ALPA')
  1531. - (TAB_ITE. (I_M1 - 1) . 'ALPA');
  1532. *
  1533. 'SI' ((('XTX' VET_TEST)**(0.5)) '<' 0.001);
  1534. * deduction of the final value of Lambda
  1535. 'SI' ((TAB_ITE. I_M1 . 'LAMBDA') '>' 0.0);
  1536. 'SI' ('NEG' ('TYPE' LAM_FIN) 'FLOTTANT');
  1537. LAM_FIN = (TAB_ITE. I_M1 . 'LAMBDA');
  1538. 'SINON';
  1539. 'SI' (LAM_FIN '>' (TAB_ITE. I_M1 . 'LAMBDA'));
  1540. LAM_FIN = (TAB_ITE. I_M1 . 'LAMBDA');
  1541. 'FINSI';
  1542. 'FINSI';
  1543. 'FINSI';
  1544. 'QUIT' IND2;
  1545. 'SINON';
  1546. 'SI' (I_M1 'EGA' 200);
  1547. ID1_CON = 1;
  1548. 'SI' ((TAB_ITE. I_M1 . 'LAMBDA') '>' 0.0);
  1549. 'SI' ('NEG' ('TYPE' LAM_FIN) 'FLOTTANT');
  1550. LAM_FIN = (TAB_ITE. I_M1 . 'LAMBDA');
  1551. 'SINON';
  1552. 'SI' (LAM_FIN '>' (TAB_ITE. I_M1 . 'LAMBDA'));
  1553. LAM_FIN = (TAB_ITE. I_M1 . 'LAMBDA');
  1554. 'FINSI';
  1555. 'FINSI';
  1556. 'FINSI';
  1557. 'SINON';
  1558. * otherwise updating the n_limit
  1559. ALP_K = DELTG1/((XTX DELTG1)**(0.5));
  1560. 'FINSI';
  1561. 'FINSI';
  1562. I_M1 = I_M1 + 1;
  1563. 'FIN' IND2;
  1564. I_K1 = I_K1 + 1;
  1565. 'FIN' IND3;
  1566. *
  1567. * screen message
  1568. 'SI' (ID1_CON 'EGA' 0);
  1569. TIT1 = 'CHAINE' ' Element ' I_ELE1 ' Lambda='
  1570. LAM_FIN;
  1571. 'MESS' TIT1;
  1572. 'FINSI';
  1573. 'SI' (ID1_CON 'EGA' 1);
  1574.  
  1575. TIT1 = 'CHAINE' ' Element ' I_ELE1 ' Lambda='
  1576. LAM_FIN '.....Attention non convergence';
  1577.  
  1578. * New computation of Lambda....rectangle method
  1579. * H_VAL3 = FCBET1/100000;
  1580. LAMB0 = 1.0;
  1581. H_VAL3 = LAMB0/10000;
  1582. TOL_2 = FCBET1/1000;
  1583. *
  1584. * reference list for the 8 point for rectangle solid
  1585. LL_I = PROG 1. 2. 3. 4. 5. 6. 7. 8.;
  1586. *
  1587. * creation of the resuming table
  1588. TAB_ITE = 'TABLE';
  1589. TAB_ITE. 0 = 'TABLE';
  1590. TAB_ITE. 0 .'LAMBDA' = LAMB0 ;
  1591. *
  1592. I_MM1 = 0;
  1593. ID1_CON = 0;
  1594. *
  1595. * loop for in order to find f=0
  1596. 'REPE' IND4 (200);
  1597. *
  1598. * stress state for the 8 points
  1599. X1_0 = ((N11)*(((-1.0)*(LAMB0)))) + N110;
  1600. Y1_0 = ((N22)*(((-1.0)*(LAMB0)))) + N220;
  1601. Z1_0 = ((N12)*(((-1.0)*(LAMB0)))) + N120;
  1602. X2_0 = ((N11)*(((1.0)*(LAMB0)))) + N110;
  1603. Y2_0 = ((N22)*(((-1.0)*(LAMB0)))) + N220;
  1604. Z2_0 = ((N12)*(((-1.0)*(LAMB0)))) + N120;
  1605. X3_0 = ((N11)*(((1.0)*(LAMB0)))) + N110;
  1606. Y3_0 = ((N22)*(((1.0)*(LAMB0)))) + N220;
  1607. Z3_0 = ((N12)*(((-1.0)*(LAMB0)))) + N120;
  1608. X4_0 = ((N11)*(((-1.0)*(LAMB0)))) + N110;
  1609. Y4_0 = ((N22)*(((1.0)*(LAMB0)))) + N220;
  1610. Z4_0 = ((N12)*(((-1.0)*(LAMB0)))) + N120;
  1611. X5_0 = ((N11)*(((-1.0)*(LAMB0)))) + N110;
  1612. Y5_0 = ((N22)*(((-1.0)*(LAMB0)))) + N220;
  1613. Z5_0 = ((N12)*(((1.0)*(LAMB0)))) + N120;
  1614. X6_0 = ((N11)*(((1.0)*(LAMB0)))) + N110;
  1615. Y6_0 = ((N22)*(((-1.0)*(LAMB0)))) + N220;
  1616. Z6_0 = ((N12)*(((1.0)*(LAMB0)))) + N120;
  1617. X7_0 = ((N11)*(((1.0)*(LAMB0)))) + N110;
  1618. Y7_0 = ((N22)*(((1.0)*(LAMB0)))) + N220;
  1619. Z7_0 = ((N12)*(((1.0)*(LAMB0)))) + N120;
  1620. X8_0 = ((N11)*(((-1.0)*(LAMB0)))) + N110;
  1621. Y8_0 = ((N22)*(((1.0)*(LAMB0)))) + N220;
  1622. Z8_0 = ((N12)*(((1.0)*(LAMB0)))) + N120;
  1623. *
  1624. * put the N11, N22 et N12 stress state in the lists
  1625. LL_X0 = 'PROG' (X1_0) (X2_0) (X3_0) (X4_0)
  1626. (X5_0) (X6_0) (X7_0) (X8_0);
  1627. LL_Y0 = 'PROG' (Y1_0) (Y2_0) (Y3_0) (Y4_0)
  1628. (Y5_0) (Y6_0) (Y7_0) (Y8_0);
  1629. LL_Z0 = 'PROG' (Z1_0) (Z2_0) (Z3_0) (Z4_0)
  1630. (Z5_0) (Z6_0) (Z7_0) (Z8_0);
  1631. LL_F0 = 'PROG';
  1632. *
  1633. * deduction of f for each point
  1634. III1 = 1;
  1635. 'REPE' IND2 (8);
  1636. TTL1 = TABLE;
  1637. TTL1.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  1638. TTL1.'S11' = ('EXTR' LL_X0 III1);
  1639. TTL1.'S22' = ('EXTR' LL_Y0 III1);
  1640. TTL1.'S12' = ('EXTR' LL_Z0 III1);
  1641. TTL1.'FCK' = FCBET1;
  1642. TTL1.'FSK_1' = FSACI1;
  1643. TTL1.'FSK_2' = FSACI1;
  1644. TTL1.'RHO_1' = RHOXS;
  1645. TTL1.'RHO_2' = RHOYS;
  1646. TTL1.'GAMMA_C' = GAMC;
  1647. TTL1.'ALPA_C' = ALPC1;
  1648. TTL1.'NU_C' = NUC1;
  1649. TTL1.'GAMMA_S' = GAMS1;
  1650. LL_F0 = LL_F0 ET
  1651. ('PROG' (G_ULTI2D TTL1));
  1652. III1 = III1 + 1;
  1653. 'FIN' IND2;
  1654. * saving
  1655. TAB_ITE. I_MM1 .'L_X' = LL_X0;
  1656. TAB_ITE. I_MM1 .'L_Y' = LL_Y0;
  1657. TAB_ITE. I_MM1 .'L_Z' = LL_Z0;
  1658. TAB_ITE. I_MM1 .'L_F' = LL_F0;
  1659. * finding the minimum value of f and the corresponding point
  1660. EV1 = 'EVOL' 'MANU' LL_I LL_F0;
  1661. II1 II2 VAL_F = 'MINI' EV1;
  1662. * computation of D (gradiant) in case of Point_1=Argmin(fmin)
  1663. 'SI' (II1 'EGA' 1);
  1664. X1_DP = ((N11)*(((-1.0)*(LAMB0 + H_VAL3)))) + N110;
  1665. Y1_DP = ((N22)*(((-1.0)*(LAMB0 + H_VAL3)))) + N220;
  1666. Z1_DP = ((N12)*(((-1.0)*(LAMB0 + H_VAL3)))) + N120;
  1667. X1_DN = ((N11)*(((-1.0)*(LAMB0 - H_VAL3)))) + N110;
  1668. Y1_DN = ((N22)*(((-1.0)*(LAMB0 - H_VAL3)))) + N220;
  1669. Z1_DN = ((N12)*(((-1.0)*(LAMB0 - H_VAL3)))) + N120;
  1670. 'SI' (((X1_DP) '>' ((FSACI1*RHOXS)/(GAMS1)))
  1671. 'OU' ((Y1_DP) '>' ((FSACI1*RHOYS)/(GAMS1))));
  1672. X1_DP = ((N11)*(((-1.0)*(LAMB0)))) + N110;
  1673. Y1_DP = ((N22)*(((-1.0)*(LAMB0)))) + N220;
  1674. Z1_DP = ((N12)*(((-1.0)*(LAMB0)))) + N120;
  1675. X1_DN = ((N11)*(((-1.0)*(LAMB0 - H_VAL3)))) + N110;
  1676. Y1_DN = ((N22)*(((-1.0)*(LAMB0 - H_VAL3)))) + N220;
  1677. Z1_DN = ((N12)*(((-1.0)*(LAMB0 - H_VAL3)))) + N120;
  1678. *
  1679. TTL2 = TABLE;
  1680. TTL2.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  1681. TTL2.'S11' = X1_DP;
  1682. TTL2.'S22' = Y1_DP;
  1683. TTL2.'S12' = Z1_DP;
  1684. TTL2.'FCK' = FCBET1;
  1685. TTL2.'FSK_1' = FSACI1;
  1686. TTL2.'FSK_2' = FSACI1;
  1687. TTL2.'RHO_1' = RHOXS;
  1688. TTL2.'RHO_2' = RHOYS;
  1689. TTL2.'GAMMA_C' = GAMC;
  1690. TTL2.'ALPA_C' = ALPC1;
  1691. TTL2.'NU_C' = NUC1;
  1692. TTL2.'GAMMA_S' = GAMS1;
  1693. TTL3 = TABLE;
  1694. TTL3.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  1695. TTL3.'S11' = X1_DN;
  1696. TTL3.'S22' = Y1_DN;
  1697. TTL3.'S12' = Z1_DN;
  1698. TTL3.'FCK' = FCBET1;
  1699. TTL3.'FSK_1' = FSACI1;
  1700. TTL3.'FSK_2' = FSACI1;
  1701. TTL3.'RHO_1' = RHOXS;
  1702. TTL3.'RHO_2' = RHOYS;
  1703. TTL3.'GAMMA_C' = GAMC;
  1704. TTL3.'ALPA_C' = ALPC1;
  1705. TTL3.'NU_C' = NUC1;
  1706. TTL3.'GAMMA_S' = GAMS1;
  1707. D_VAL1 = ((G_ULTI2D TTL2) - (G_ULTI2D TTL3))/((1.0)*(H_VAL3));
  1708. 'SINON';
  1709. 'SI' (((X1_DN) '<' (((-1.0)*(((FCBET1*ALPC1)*(NUC1))/(ALPC1)))
  1710. + ((-1.0)*((FSACI1*RHOXS)/(GAMS1)))))
  1711. 'OU' ((Y1_DN) '<' (((-1.0)*(((FCBET1*ALPC1)*(NUC1))/(ALPC1)))
  1712. + ((-1.0)*((FSACI1*RHOYS)/(GAMS1))))));
  1713. X1_DP = ((N11)*(((-1.0)*(LAMB0 + H_VAL3)))) + N110;
  1714. Y1_DP = ((N22)*(((-1.0)*(LAMB0 + H_VAL3)))) + N220;
  1715. Z1_DP = ((N12)*(((-1.0)*(LAMB0 + H_VAL3)))) + N120;
  1716. X1_DN = ((N11)*(((-1.0)*(LAMB0)))) + N110;
  1717. Y1_DN = ((N22)*(((-1.0)*(LAMB0)))) + N220;
  1718. Z1_DN = ((N12)*(((-1.0)*(LAMB0)))) + N120;
  1719. TTL2 = TABLE;
  1720. TTL2.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  1721. TTL2.'S11' = X1_DP;
  1722. TTL2.'S22' = Y1_DP;
  1723. TTL2.'S12' = Z1_DP;
  1724. TTL2.'FCK' = FCBET1;
  1725. TTL2.'FSK_1' = FSACI1;
  1726. TTL2.'FSK_2' = FSACI1;
  1727. TTL2.'RHO_1' = RHOXS;
  1728. TTL2.'RHO_2' = RHOYS;
  1729. TTL2.'GAMMA_C' = GAMC;
  1730. TTL2.'ALPA_C' = ALPC1;
  1731. TTL2.'NU_C' = NUC1;
  1732. TTL2.'GAMMA_S' = GAMS1;
  1733. TTL3 = TABLE;
  1734. TTL3.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  1735. TTL3.'S11' = X1_DN;
  1736. TTL3.'S22' = Y1_DN;
  1737. TTL3.'S12' = Z1_DN;
  1738. TTL3.'FCK' = FCBET1;
  1739. TTL3.'FSK_1' = FSACI1;
  1740. TTL3.'FSK_2' = FSACI1;
  1741. TTL3.'RHO_1' = RHOXS;
  1742. TTL3.'RHO_2' = RHOYS;
  1743. TTL3.'GAMMA_C' = GAMC;
  1744. TTL3.'ALPA_C' = ALPC1;
  1745. TTL3.'NU_C' = NUC1;
  1746. TTL3.'GAMMA_S' = GAMS1;
  1747. D_VAL1 = ((G_ULTI2D TTL2) - (G_ULTI2D TTL3))/((1.0)*(H_VAL3));
  1748. 'SINON';
  1749. TTL2 = TABLE;
  1750. TTL2.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  1751. TTL2.'S11' = X1_DP;
  1752. TTL2.'S22' = Y1_DP;
  1753. TTL2.'S12' = Z1_DP;
  1754. TTL2.'FCK' = FCBET1;
  1755. TTL2.'FSK_1' = FSACI1;
  1756. TTL2.'FSK_2' = FSACI1;
  1757. TTL2.'RHO_1' = RHOXS;
  1758. TTL2.'RHO_2' = RHOYS;
  1759. TTL2.'GAMMA_C' = GAMC;
  1760. TTL2.'ALPA_C' = ALPC1;
  1761. TTL2.'NU_C' = NUC1;
  1762. TTL2.'GAMMA_S' = GAMS1;
  1763. TTL3 = TABLE;
  1764. TTL3.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  1765. TTL3.'S11' = X1_DN;
  1766. TTL3.'S22' = Y1_DN;
  1767. TTL3.'S12' = Z1_DN;
  1768. TTL3.'FCK' = FCBET1;
  1769. TTL3.'FSK_1' = FSACI1;
  1770. TTL3.'FSK_2' = FSACI1;
  1771. TTL3.'RHO_1' = RHOXS;
  1772. TTL3.'RHO_2' = RHOYS;
  1773. TTL3.'GAMMA_C' = GAMC;
  1774. TTL3.'ALPA_C' = ALPC1;
  1775. TTL3.'NU_C' = NUC1;
  1776. TTL3.'GAMMA_S' = GAMS1;
  1777. D_VAL1 = ((G_ULTI2D TTL2) - (G_ULTI2D TTL3))/((2.0)*(H_VAL3));
  1778. 'FINSI';
  1779. 'FINSI';
  1780. 'FINSI';
  1781. * computation of D (gradiant) in case of Point_2=Argmin(fmin)
  1782. 'SI' (II1 'EGA' 2);
  1783. X2_DP = ((N11)*(((1.0)*(LAMB0 + H_VAL3)))) + N110;
  1784. Y2_DP = ((N22)*(((-1.0)*(LAMB0 + H_VAL3)))) + N220;
  1785. Z2_DP = ((N12)*(((-1.0)*(LAMB0 + H_VAL3)))) + N120;
  1786. X2_DN = ((N11)*(((1.0)*(LAMB0 - H_VAL3)))) + N110;
  1787. Y2_DN = ((N22)*(((-1.0)*(LAMB0 - H_VAL3)))) + N220;
  1788. Z2_DN = ((N12)*(((-1.0)*(LAMB0 - H_VAL3)))) + N120;
  1789. 'SI' (((X2_DP) '>' ((FSACI1*RHOXS)/(GAMS1)))
  1790. 'OU' ((Y2_DP) '>' ((FSACI1*RHOYS)/(GAMS1))));
  1791. X2_DP = ((N11)*(((1.0)*(LAMB0)))) + N110;
  1792. Y2_DP = ((N22)*(((-1.0)*(LAMB0)))) + N220;
  1793. Z2_DP = ((N12)*(((-1.0)*(LAMB0)))) + N120;
  1794. X2_DN = ((N11)*(((1.0)*(LAMB0 - H_VAL3)))) + N110;
  1795. Y2_DN = ((N22)*(((-1.0)*(LAMB0 - H_VAL3)))) + N220;
  1796. Z2_DN = ((N12)*(((-1.0)*(LAMB0 - H_VAL3)))) + N120;
  1797. *
  1798. TTL2 = TABLE;
  1799. TTL2.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  1800. TTL2.'S11' = X2_DP;
  1801. TTL2.'S22' = Y2_DP;
  1802. TTL2.'S12' = Z2_DP;
  1803. TTL2.'FCK' = FCBET1;
  1804. TTL2.'FSK_1' = FSACI1;
  1805. TTL2.'FSK_2' = FSACI1;
  1806. TTL2.'RHO_1' = RHOXS;
  1807. TTL2.'RHO_2' = RHOYS;
  1808. TTL2.'GAMMA_C' = GAMC;
  1809. TTL2.'ALPA_C' = ALPC1;
  1810. TTL2.'NU_C' = NUC1;
  1811. TTL2.'GAMMA_S' = GAMS1;
  1812. TTL3 = TABLE;
  1813. TTL3.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  1814. TTL3.'S11' = X2_DN;
  1815. TTL3.'S22' = Y2_DN;
  1816. TTL3.'S12' = Z2_DN;
  1817. TTL3.'FCK' = FCBET1;
  1818. TTL3.'FSK_1' = FSACI1;
  1819. TTL3.'FSK_2' = FSACI1;
  1820. TTL3.'RHO_1' = RHOXS;
  1821. TTL3.'RHO_2' = RHOYS;
  1822. TTL3.'GAMMA_C' = GAMC;
  1823. TTL3.'ALPA_C' = ALPC1;
  1824. TTL3.'NU_C' = NUC1;
  1825. TTL3.'GAMMA_S' = GAMS1;
  1826. D_VAL1 = ((G_ULTI2D TTL2) - (G_ULTI2D TTL3))/((1.0)*(H_VAL3));
  1827. 'SINON';
  1828. 'SI' (((X2_DN) '<' (((-1.0)*(((FCBET1*ALPC1)*(NUC1))/(ALPC1)))
  1829. + ((-1.0)*((FSACI1*RHOXS)/(GAMS1)))))
  1830. 'OU' ((Y2_DN) '<' (((-1.0)*(((FCBET1*ALPC1)*(NUC1))/(ALPC1)))
  1831. + ((-1.0)*((FSACI1*RHOYS)/(GAMS1))))));
  1832. X2_DP = ((N11)*(((1.0)*(LAMB0 + H_VAL3)))) + N110;
  1833. Y2_DP = ((N22)*(((-1.0)*(LAMB0 + H_VAL3)))) + N220;
  1834. Z2_DP = ((N12)*(((-1.0)*(LAMB0 + H_VAL3)))) + N120;
  1835. X2_DN = ((N11)*(((1.0)*(LAMB0)))) + N110;
  1836. Y2_DN = ((N22)*(((-1.0)*(LAMB0)))) + N220;
  1837. Z2_DN = ((N12)*(((-1.0)*(LAMB0)))) + N120;
  1838. *
  1839. TTL2 = TABLE;
  1840. TTL2.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  1841. TTL2.'S11' = X2_DP;
  1842. TTL2.'S22' = Y2_DP;
  1843. TTL2.'S12' = Z2_DP;
  1844. TTL2.'FCK' = FCBET1;
  1845. TTL2.'FSK_1' = FSACI1;
  1846. TTL2.'FSK_2' = FSACI1;
  1847. TTL2.'RHO_1' = RHOXS;
  1848. TTL2.'RHO_2' = RHOYS;
  1849. TTL2.'GAMMA_C' = GAMC;
  1850. TTL2.'ALPA_C' = ALPC1;
  1851. TTL2.'NU_C' = NUC1;
  1852. TTL2.'GAMMA_S' = GAMS1;
  1853. TTL3 = TABLE;
  1854. TTL3.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  1855. TTL3.'S11' = X2_DN;
  1856. TTL3.'S22' = Y2_DN;
  1857. TTL3.'S12' = Z2_DN;
  1858. TTL3.'FCK' = FCBET1;
  1859. TTL3.'FSK_1' = FSACI1;
  1860. TTL3.'FSK_2' = FSACI1;
  1861. TTL3.'RHO_1' = RHOXS;
  1862. TTL3.'RHO_2' = RHOYS;
  1863. TTL3.'GAMMA_C' = GAMC;
  1864. TTL3.'ALPA_C' = ALPC1;
  1865. TTL3.'NU_C' = NUC1;
  1866. TTL3.'GAMMA_S' = GAMS1;
  1867. D_VAL1 = ((G_ULTI2D TTL2) - (G_ULTI2D TTL3))/((1.0)*(H_VAL3));
  1868. 'SINON';
  1869. TTL2 = TABLE;
  1870. TTL2.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  1871. TTL2.'S11' = X2_DP;
  1872. TTL2.'S22' = Y2_DP;
  1873. TTL2.'S12' = Z2_DP;
  1874. TTL2.'FCK' = FCBET1;
  1875. TTL2.'FSK_1' = FSACI1;
  1876. TTL2.'FSK_2' = FSACI1;
  1877. TTL2.'RHO_1' = RHOXS;
  1878. TTL2.'RHO_2' = RHOYS;
  1879. TTL2.'GAMMA_C' = GAMC;
  1880. TTL2.'ALPA_C' = ALPC1;
  1881. TTL2.'NU_C' = NUC1;
  1882. TTL2.'GAMMA_S' = GAMS1;
  1883. TTL3 = TABLE;
  1884. TTL3.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  1885. TTL3.'S11' = X2_DN;
  1886. TTL3.'S22' = Y2_DN;
  1887. TTL3.'S12' = Z2_DN;
  1888. TTL3.'FCK' = FCBET1;
  1889. TTL3.'FSK_1' = FSACI1;
  1890. TTL3.'FSK_2' = FSACI1;
  1891. TTL3.'RHO_1' = RHOXS;
  1892. TTL3.'RHO_2' = RHOYS;
  1893. TTL3.'GAMMA_C' = GAMC;
  1894. TTL3.'ALPA_C' = ALPC1;
  1895. TTL3.'NU_C' = NUC1;
  1896. TTL3.'GAMMA_S' = GAMS1;
  1897. D_VAL1 = ((G_ULTI2D TTL2) - (G_ULTI2D TTL3))/((2.0)*(H_VAL3));
  1898. 'FINSI';
  1899. 'FINSI';
  1900. 'FINSI';
  1901. * computation of D (gradiant) in case of Point_3=Argmin(fmin)
  1902. 'SI' (II1 'EGA' 3);
  1903. X3_DP = ((N11)*(((1.0)*(LAMB0 + H_VAL3)))) + N110;
  1904. Y3_DP = ((N22)*(((1.0)*(LAMB0 + H_VAL3)))) + N220;
  1905. Z3_DP = ((N12)*(((-1.0)*(LAMB0 + H_VAL3)))) + N120;
  1906. X3_DN = ((N11)*(((1.0)*(LAMB0 - H_VAL3)))) + N110;
  1907. Y3_DN = ((N22)*(((1.0)*(LAMB0 - H_VAL3)))) + N220;
  1908. Z3_DN = ((N12)*(((-1.0)*(LAMB0 - H_VAL3)))) + N120;
  1909. 'SI' (((X3_DP) '>' ((FSACI1*RHOXS)/(GAMS1)))
  1910. 'OU' ((Y3_DP) '>' ((FSACI1*RHOYS)/(GAMS1))));
  1911. X3_DP = ((N11)*(((1.0)*(LAMB0)))) + N110;
  1912. Y3_DP = ((N22)*(((1.0)*(LAMB0)))) + N220;
  1913. Z3_DP = ((N12)*(((-1.0)*(LAMB0)))) + N120;
  1914. X3_DN = ((N11)*(((1.0)*(LAMB0 - H_VAL3)))) + N110;
  1915. Y3_DN = ((N22)*(((1.0)*(LAMB0 - H_VAL3)))) + N220;
  1916. Z3_DN = ((N12)*(((-1.0)*(LAMB0 - H_VAL3)))) + N120;
  1917. *
  1918. TTL2 = TABLE;
  1919. TTL2.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  1920. TTL2.'S11' = X3_DP;
  1921. TTL2.'S22' = Y3_DP;
  1922. TTL2.'S12' = Z3_DP;
  1923. TTL2.'FCK' = FCBET1;
  1924. TTL2.'FSK_1' = FSACI1;
  1925. TTL2.'FSK_2' = FSACI1;
  1926. TTL2.'RHO_1' = RHOXS;
  1927. TTL2.'RHO_2' = RHOYS;
  1928. TTL2.'GAMMA_C' = GAMC;
  1929. TTL2.'ALPA_C' = ALPC1;
  1930. TTL2.'NU_C' = NUC1;
  1931. TTL2.'GAMMA_S' = GAMS1;
  1932. TTL3 = TABLE;
  1933. TTL3.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  1934. TTL3.'S11' = X3_DN;
  1935. TTL3.'S22' = Y3_DN;
  1936. TTL3.'S12' = Z3_DN;
  1937. TTL3.'FCK' = FCBET1;
  1938. TTL3.'FSK_1' = FSACI1;
  1939. TTL3.'FSK_2' = FSACI1;
  1940. TTL3.'RHO_1' = RHOXS;
  1941. TTL3.'RHO_2' = RHOYS;
  1942. TTL3.'GAMMA_C' = GAMC;
  1943. TTL3.'ALPA_C' = ALPC1;
  1944. TTL3.'NU_C' = NUC1;
  1945. TTL3.'GAMMA_S' = GAMS1;
  1946. D_VAL1 = ((G_ULTI2D TTL2) - (G_ULTI2D TTL3))/((1.0)*(H_VAL3));
  1947. 'SINON';
  1948. 'SI' (((X3_DN) '<' (((-1.0)*(((FCBET1*ALPC1)*(NUC1))/(ALPC1)))
  1949. + ((-1.0)*((FSACI1*RHOXS)/(GAMS1)))))
  1950. 'OU' ((Y3_DN) '<' (((-1.0)*(((FCBET1*ALPC1)*(NUC1))/(ALPC1)))
  1951. + ((-1.0)*((FSACI1*RHOYS)/(GAMS1))))));
  1952. X3_DP = ((N11)*(((1.0)*(LAMB0 + H_VAL3)))) + N110;
  1953. Y3_DP = ((N22)*(((1.0)*(LAMB0 + H_VAL3)))) + N220;
  1954. Z3_DP = ((N12)*(((-1.0)*(LAMB0 + H_VAL3)))) + N120;
  1955. X3_DN = ((N11)*(((1.0)*(LAMB0)))) + N110;
  1956. Y3_DN = ((N22)*(((1.0)*(LAMB0)))) + N220;
  1957. Z3_DN = ((N12)*(((-1.0)*(LAMB0)))) + N120;
  1958. *
  1959. TTL2 = TABLE;
  1960. TTL2.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  1961. TTL2.'S11' = X3_DP;
  1962. TTL2.'S22' = Y3_DP;
  1963. TTL2.'S12' = Z3_DP;
  1964. TTL2.'FCK' = FCBET1;
  1965. TTL2.'FSK_1' = FSACI1;
  1966. TTL2.'FSK_2' = FSACI1;
  1967. TTL2.'RHO_1' = RHOXS;
  1968. TTL2.'RHO_2' = RHOYS;
  1969. TTL2.'GAMMA_C' = GAMC;
  1970. TTL2.'ALPA_C' = ALPC1;
  1971. TTL2.'NU_C' = NUC1;
  1972. TTL2.'GAMMA_S' = GAMS1;
  1973. TTL3 = TABLE;
  1974. TTL3.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  1975. TTL3.'S11' = X3_DN;
  1976. TTL3.'S22' = Y3_DN;
  1977. TTL3.'S12' = Z3_DN;
  1978. TTL3.'FCK' = FCBET1;
  1979. TTL3.'FSK_1' = FSACI1;
  1980. TTL3.'FSK_2' = FSACI1;
  1981. TTL3.'RHO_1' = RHOXS;
  1982. TTL3.'RHO_2' = RHOYS;
  1983. TTL3.'GAMMA_C' = GAMC;
  1984. TTL3.'ALPA_C' = ALPC1;
  1985. TTL3.'NU_C' = NUC1;
  1986. TTL3.'GAMMA_S' = GAMS1;
  1987. D_VAL1 = ((G_ULTI2D TTL2) - (G_ULTI2D TTL3))/((1.0)*(H_VAL3));
  1988. 'SINON';
  1989. TTL2 = TABLE;
  1990. TTL2.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  1991. TTL2.'S11' = X3_DP;
  1992. TTL2.'S22' = Y3_DP;
  1993. TTL2.'S12' = Z3_DP;
  1994. TTL2.'FCK' = FCBET1;
  1995. TTL2.'FSK_1' = FSACI1;
  1996. TTL2.'FSK_2' = FSACI1;
  1997. TTL2.'RHO_1' = RHOXS;
  1998. TTL2.'RHO_2' = RHOYS;
  1999. TTL2.'GAMMA_C' = GAMC;
  2000. TTL2.'ALPA_C' = ALPC1;
  2001. TTL2.'NU_C' = NUC1;
  2002. TTL2.'GAMMA_S' = GAMS1;
  2003. TTL3 = TABLE;
  2004. TTL3.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  2005. TTL3.'S11' = X3_DN;
  2006. TTL3.'S22' = Y3_DN;
  2007. TTL3.'S12' = Z3_DN;
  2008. TTL3.'FCK' = FCBET1;
  2009. TTL3.'FSK_1' = FSACI1;
  2010. TTL3.'FSK_2' = FSACI1;
  2011. TTL3.'RHO_1' = RHOXS;
  2012. TTL3.'RHO_2' = RHOYS;
  2013. TTL3.'GAMMA_C' = GAMC;
  2014. TTL3.'ALPA_C' = ALPC1;
  2015. TTL3.'NU_C' = NUC1;
  2016. TTL3.'GAMMA_S' = GAMS1;
  2017. D_VAL1 = ((G_ULTI2D TTL2) - (G_ULTI2D TTL3))/((2.0)*(H_VAL3));
  2018. 'FINSI';
  2019. 'FINSI';
  2020. 'FINSI';
  2021. * computation of D (gradiant) in case of Point_4=Argmin(fmin)
  2022. 'SI' (II1 'EGA' 4);
  2023. X4_DP = ((N11)*(((-1.0)*(LAMB0 + H_VAL3)))) + N110;
  2024. Y4_DP = ((N22)*(((1.0)*(LAMB0 + H_VAL3)))) + N220;
  2025. Z4_DP = ((N12)*(((-1.0)*(LAMB0 + H_VAL3)))) + N120;
  2026. X4_DN = ((N11)*(((-1.0)*(LAMB0 - H_VAL3)))) + N110;
  2027. Y4_DN = ((N22)*(((1.0)*(LAMB0 - H_VAL3)))) + N220;
  2028. Z4_DN = ((N12)*(((-1.0)*(LAMB0 - H_VAL3)))) + N120;
  2029. 'SI' (((X4_DP) '>' ((FSACI1*RHOXS)/(GAMS1)))
  2030. 'OU' ((Y4_DP) '>' ((FSACI1*RHOYS)/(GAMS1))));
  2031. X4_DP = ((N11)*(((-1.0)*(LAMB0)))) + N110;
  2032. Y4_DP = ((N22)*(((1.0)*(LAMB0)))) + N220;
  2033. Z4_DP = ((N12)*(((-1.0)*(LAMB0)))) + N120;
  2034. X4_DN = ((N11)*(((-1.0)*(LAMB0 - H_VAL3)))) + N110;
  2035. Y4_DN = ((N22)*(((1.0)*(LAMB0 - H_VAL3)))) + N220;
  2036. Z4_DN = ((N12)*(((-1.0)*(LAMB0 - H_VAL3)))) + N120;
  2037. *
  2038. TTL2 = TABLE;
  2039. TTL2.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  2040. TTL2.'S11' = X4_DP;
  2041. TTL2.'S22' = Y4_DP;
  2042. TTL2.'S12' = Z4_DP;
  2043. TTL2.'FCK' = FCBET1;
  2044. TTL2.'FSK_1' = FSACI1;
  2045. TTL2.'FSK_2' = FSACI1;
  2046. TTL2.'RHO_1' = RHOXS;
  2047. TTL2.'RHO_2' = RHOYS;
  2048. TTL2.'GAMMA_C' = GAMC;
  2049. TTL2.'ALPA_C' = ALPC1;
  2050. TTL2.'NU_C' = NUC1;
  2051. TTL2.'GAMMA_S' = GAMS1;
  2052. TTL3 = TABLE;
  2053. TTL3.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  2054. TTL3.'S11' = X4_DN;
  2055. TTL3.'S22' = Y4_DN;
  2056. TTL3.'S12' = Z4_DN;
  2057. TTL3.'FCK' = FCBET1;
  2058. TTL3.'FSK_1' = FSACI1;
  2059. TTL3.'FSK_2' = FSACI1;
  2060. TTL3.'RHO_1' = RHOXS;
  2061. TTL3.'RHO_2' = RHOYS;
  2062. TTL3.'GAMMA_C' = GAMC;
  2063. TTL3.'ALPA_C' = ALPC1;
  2064. TTL3.'NU_C' = NUC1;
  2065. TTL3.'GAMMA_S' = GAMS1;
  2066. D_VAL1 = ((G_ULTI2D TTL2) - (G_ULTI2D TTL3))/((1.0)*(H_VAL3));
  2067. 'SINON';
  2068. 'SI' (((X4_DN) '>' (((-1.0)*(((FCBET1*ALPC1)*(NUC1))/(ALPC1)))
  2069. + ((-1.0)*((FSACI1*RHOXS)/(GAMS1)))))
  2070. 'OU' ((Y4_DN) '>' (((-1.0)*(((FCBET1*ALPC1)*(NUC1))/(ALPC1)))
  2071. + ((-1.0)*((FSACI1*RHOYS)/(GAMS1))))));
  2072. X4_DP = ((N11)*(((-1.0)*(LAMB0 + H_VAL3)))) + N110;
  2073. Y4_DP = ((N22)*(((1.0)*(LAMB0 + H_VAL3)))) + N220;
  2074. Z4_DP = ((N12)*(((-1.0)*(LAMB0 + H_VAL3)))) + N120;
  2075. X4_DN = ((N11)*(((-1.0)*(LAMB0)))) + N110;
  2076. Y4_DN = ((N22)*(((1.0)*(LAMB0)))) + N220;
  2077. Z4_DN = ((N12)*(((-1.0)*(LAMB0)))) + N120;
  2078. *
  2079. TTL2 = TABLE;
  2080. TTL2.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  2081. TTL2.'S11' = X4_DP;
  2082. TTL2.'S22' = Y4_DP;
  2083. TTL2.'S12' = Z4_DP;
  2084. TTL2.'FCK' = FCBET1;
  2085. TTL2.'FSK_1' = FSACI1;
  2086. TTL2.'FSK_2' = FSACI1;
  2087. TTL2.'RHO_1' = RHOXS;
  2088. TTL2.'RHO_2' = RHOYS;
  2089. TTL2.'GAMMA_C' = GAMC;
  2090. TTL2.'ALPA_C' = ALPC1;
  2091. TTL2.'NU_C' = NUC1;
  2092. TTL2.'GAMMA_S' = GAMS1;
  2093. TTL3 = TABLE;
  2094. TTL3.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  2095. TTL3.'S11' = X4_DN;
  2096. TTL3.'S22' = Y4_DN;
  2097. TTL3.'S12' = Z4_DN;
  2098. TTL3.'FCK' = FCBET1;
  2099. TTL3.'FSK_1' = FSACI1;
  2100. TTL3.'FSK_2' = FSACI1;
  2101. TTL3.'RHO_1' = RHOXS;
  2102. TTL3.'RHO_2' = RHOYS;
  2103. TTL3.'GAMMA_C' = GAMC;
  2104. TTL3.'ALPA_C' = ALPC1;
  2105. TTL3.'NU_C' = NUC1;
  2106. TTL3.'GAMMA_S' = GAMS1;
  2107. D_VAL1 = ((G_ULTI2D TTL2) - (G_ULTI2D TTL3))/((1.0)*(H_VAL3));
  2108. 'SINON';
  2109. TTL2 = TABLE;
  2110. TTL2.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  2111. TTL2.'S11' = X4_DP;
  2112. TTL2.'S22' = Y4_DP;
  2113. TTL2.'S12' = Z4_DP;
  2114. TTL2.'FCK' = FCBET1;
  2115. TTL2.'FSK_1' = FSACI1;
  2116. TTL2.'FSK_2' = FSACI1;
  2117. TTL2.'RHO_1' = RHOXS;
  2118. TTL2.'RHO_2' = RHOYS;
  2119. TTL2.'GAMMA_C' = GAMC;
  2120. TTL2.'ALPA_C' = ALPC1;
  2121. TTL2.'NU_C' = NUC1;
  2122. TTL2.'GAMMA_S' = GAMS1;
  2123. TTL3 = TABLE;
  2124. TTL3.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  2125. TTL3.'S11' = X4_DN;
  2126. TTL3.'S22' = Y4_DN;
  2127. TTL3.'S12' = Z4_DN;
  2128. TTL3.'FCK' = FCBET1;
  2129. TTL3.'FSK_1' = FSACI1;
  2130. TTL3.'FSK_2' = FSACI1;
  2131. TTL3.'RHO_1' = RHOXS;
  2132. TTL3.'RHO_2' = RHOYS;
  2133. TTL3.'GAMMA_C' = GAMC;
  2134. TTL3.'ALPA_C' = ALPC1;
  2135. TTL3.'NU_C' = NUC1;
  2136. TTL3.'GAMMA_S' = GAMS1;
  2137. D_VAL1 = ((G_ULTI2D TTL2) - (G_ULTI2D TTL3))/((2.0)*(H_VAL3));
  2138. 'FINSI';
  2139. 'FINSI';
  2140. 'FINSI';
  2141. * computation of D (gradiant) in case of Point_5=Argmin(fmin)
  2142. 'SI' (II1 'EGA' 5);
  2143. X5_DP = ((N11)*(((-1.0)*(LAMB0) + H_VAL3))) + N110;
  2144. Y5_DP = ((N22)*(((-1.0)*(LAMB0) + H_VAL3))) + N220;
  2145. Z5_DP = ((N12)*(((1.0)*(LAMB0) + H_VAL3))) + N120;
  2146. X5_DN = ((N11)*(((-1.0)*(LAMB0) - H_VAL3))) + N110;
  2147. Y5_DN = ((N22)*(((-1.0)*(LAMB0) - H_VAL3))) + N220;
  2148. Z5_DN = ((N12)*(((1.0)*(LAMB0) - H_VAL3))) + N120;
  2149. 'SI' (((X5_DP) '>' ((FSACI1*RHOXS)/(GAMS1)))
  2150. 'OU' ((Y5_DP) '>' ((FSACI1*RHOYS)/(GAMS1))));
  2151. X5_DP = ((N11)*(((-1.0)*(LAMB0)))) + N110;
  2152. Y5_DP = ((N22)*(((-1.0)*(LAMB0)))) + N220;
  2153. Z5_DP = ((N12)*(((1.0)*(LAMB0)))) + N120;
  2154. X5_DN = ((N11)*(((-1.0)*(LAMB0 - H_VAL3)))) + N110;
  2155. Y5_DN = ((N22)*(((-1.0)*(LAMB0 - H_VAL3)))) + N220;
  2156. Z5_DN = ((N12)*(((1.0)*(LAMB0 - H_VAL3)))) + N120;
  2157. *
  2158. TTL2 = TABLE;
  2159. TTL2.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  2160. TTL2.'S11' = X5_DP;
  2161. TTL2.'S22' = Y5_DP;
  2162. TTL2.'S12' = Z5_DP;
  2163. TTL2.'FCK' = FCBET1;
  2164. TTL2.'FSK_1' = FSACI1;
  2165. TTL2.'FSK_2' = FSACI1;
  2166. TTL2.'RHO_1' = RHOXS;
  2167. TTL2.'RHO_2' = RHOYS;
  2168. TTL2.'GAMMA_C' = GAMC;
  2169. TTL2.'ALPA_C' = ALPC1;
  2170. TTL2.'NU_C' = NUC1;
  2171. TTL2.'GAMMA_S' = GAMS1;
  2172. TTL3 = TABLE;
  2173. TTL3.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  2174. TTL3.'S11' = X5_DN;
  2175. TTL3.'S22' = Y5_DN;
  2176. TTL3.'S12' = Z5_DN;
  2177. TTL3.'FCK' = FCBET1;
  2178. TTL3.'FSK_1' = FSACI1;
  2179. TTL3.'FSK_2' = FSACI1;
  2180. TTL3.'RHO_1' = RHOXS;
  2181. TTL3.'RHO_2' = RHOYS;
  2182. TTL3.'GAMMA_C' = GAMC;
  2183. TTL3.'ALPA_C' = ALPC1;
  2184. TTL3.'NU_C' = NUC1;
  2185. TTL3.'GAMMA_S' = GAMS1;
  2186. D_VAL1 = ((G_ULTI2D TTL2) - (G_ULTI2D TTL3))/((1.0)*(H_VAL3));
  2187. 'SINON';
  2188. 'SI' (((X5_DN) '>' (((-1.0)*(((FCBET1*ALPC1)*(NUC1))/(ALPC1)))
  2189. + ((-1.0)*((FSACI1*RHOXS)/(GAMS1)))))
  2190. 'OU' ((Y5_DN) '>' (((-1.0)*(((FCBET1*ALPC1)*(NUC1))/(ALPC1)))
  2191. + ((-1.0)*((FSACI1*RHOYS)/(GAMS1))))));
  2192. X5_DP = ((N11)*(((-1.0)*(LAMB0 + H_VAL3)))) + N110;
  2193. Y5_DP = ((N22)*(((-1.0)*(LAMB0 + H_VAL3)))) + N220;
  2194. Z5_DP = ((N12)*(((1.0)*(LAMB0 + H_VAL3)))) + N120;
  2195. X5_DN = ((N11)*(((-1.0)*(LAMB0)))) + N110;
  2196. Y5_DN = ((N22)*(((-1.0)*(LAMB0)))) + N220;
  2197. Z5_DN = ((N12)*(((1.0)*(LAMB0)))) + N120;
  2198. *
  2199. TTL2 = TABLE;
  2200. TTL2.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  2201. TTL2.'S11' = X5_DP;
  2202. TTL2.'S22' = Y5_DP;
  2203. TTL2.'S12' = Z5_DP;
  2204. TTL2.'FCK' = FCBET1;
  2205. TTL2.'FSK_1' = FSACI1;
  2206. TTL2.'FSK_2' = FSACI1;
  2207. TTL2.'RHO_1' = RHOXS;
  2208. TTL2.'RHO_2' = RHOYS;
  2209. TTL2.'GAMMA_C' = GAMC;
  2210. TTL2.'ALPA_C' = ALPC1;
  2211. TTL2.'NU_C' = NUC1;
  2212. TTL2.'GAMMA_S' = GAMS1;
  2213. TTL3 = TABLE;
  2214. TTL3.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  2215. TTL3.'S11' = X5_DN;
  2216. TTL3.'S22' = Y5_DN;
  2217. TTL3.'S12' = Z5_DN;
  2218. TTL3.'FCK' = FCBET1;
  2219. TTL3.'FSK_1' = FSACI1;
  2220. TTL3.'FSK_2' = FSACI1;
  2221. TTL3.'RHO_1' = RHOXS;
  2222. TTL3.'RHO_2' = RHOYS;
  2223. TTL3.'GAMMA_C' = GAMC;
  2224. TTL3.'ALPA_C' = ALPC1;
  2225. TTL3.'NU_C' = NUC1;
  2226. TTL3.'GAMMA_S' = GAMS1;
  2227. D_VAL1 = ((G_ULTI2D TTL2) - (G_ULTI2D TTL3))/((1.0)*(H_VAL3));
  2228. 'SINON';
  2229. TTL2 = TABLE;
  2230. TTL2.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  2231. TTL2.'S11' = X5_DP;
  2232. TTL2.'S22' = Y5_DP;
  2233. TTL2.'S12' = Z5_DP;
  2234. TTL2.'FCK' = FCBET1;
  2235. TTL2.'FSK_1' = FSACI1;
  2236. TTL2.'FSK_2' = FSACI1;
  2237. TTL2.'RHO_1' = RHOXS;
  2238. TTL2.'RHO_2' = RHOYS;
  2239. TTL2.'GAMMA_C' = GAMC;
  2240. TTL2.'ALPA_C' = ALPC1;
  2241. TTL2.'NU_C' = NUC1;
  2242. TTL2.'GAMMA_S' = GAMS1;
  2243. TTL3 = TABLE;
  2244. TTL3.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  2245. TTL3.'S11' = X5_DN;
  2246. TTL3.'S22' = Y5_DN;
  2247. TTL3.'S12' = Z5_DN;
  2248. TTL3.'FCK' = FCBET1;
  2249. TTL3.'FSK_1' = FSACI1;
  2250. TTL3.'FSK_2' = FSACI1;
  2251. TTL3.'RHO_1' = RHOXS;
  2252. TTL3.'RHO_2' = RHOYS;
  2253. TTL3.'GAMMA_C' = GAMC;
  2254. TTL3.'ALPA_C' = ALPC1;
  2255. TTL3.'NU_C' = NUC1;
  2256. TTL3.'GAMMA_S' = GAMS1;
  2257. D_VAL1 = ((G_ULTI2D TTL2) - (G_ULTI2D TTL3))/((2.0)*(H_VAL3));
  2258. 'FINSI';
  2259. 'FINSI';
  2260. 'FINSI';
  2261. * computation of D (gradiant) in case of Point_6=Argmin(fmin)
  2262. 'SI' (II1 'EGA' 6);
  2263. X6_DP = ((N11)*(((1.0)*(LAMB0 + H_VAL3)))) + N110;
  2264. Y6_DP = ((N22)*(((-1.0)*(LAMB0 + H_VAL3)))) + N220;
  2265. Z6_DP = ((N12)*(((1.0)*(LAMB0 + H_VAL3)))) + N120;
  2266. X6_DN = ((N11)*(((1.0)*(LAMB0 - H_VAL3)))) + N110;
  2267. Y6_DN = ((N22)*(((-1.0)*(LAMB0 - H_VAL3)))) + N220;
  2268. Z6_DN = ((N12)*(((1.0)*(LAMB0 - H_VAL3)))) + N120;
  2269. 'SI' (((X6_DP) '>' ((FSACI1*RHOXS)/(GAMS1)))
  2270. 'OU' ((Y6_DP) '>' ((FSACI1*RHOYS)/(GAMS1))));
  2271. X6_DP = ((N11)*(((1.0)*(LAMB0)))) + N110;
  2272. Y6_DP = ((N22)*(((-1.0)*(LAMB0)))) + N220;
  2273. Z6_DP = ((N12)*(((1.0)*(LAMB0)))) + N120;
  2274. X6_DN = ((N11)*(((1.0)*(LAMB0 - H_VAL3)))) + N110;
  2275. Y6_DN = ((N22)*(((-1.0)*(LAMB0 - H_VAL3)))) + N220;
  2276. Z6_DN = ((N12)*(((1.0)*(LAMB0 - H_VAL3)))) + N120;
  2277. *
  2278. TTL2 = TABLE;
  2279. TTL2.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  2280. TTL2.'S11' = X6_DP;
  2281. TTL2.'S22' = Y6_DP;
  2282. TTL2.'S12' = Z6_DP;
  2283. TTL2.'FCK' = FCBET1;
  2284. TTL2.'FSK_1' = FSACI1;
  2285. TTL2.'FSK_2' = FSACI1;
  2286. TTL2.'RHO_1' = RHOXS;
  2287. TTL2.'RHO_2' = RHOYS;
  2288. TTL2.'GAMMA_C' = GAMC;
  2289. TTL2.'ALPA_C' = ALPC1;
  2290. TTL2.'NU_C' = NUC1;
  2291. TTL2.'GAMMA_S' = GAMS1;
  2292. TTL3 = TABLE;
  2293. TTL3.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  2294. TTL3.'S11' = X6_DN;
  2295. TTL3.'S22' = Y6_DN;
  2296. TTL3.'S12' = Z6_DN;
  2297. TTL3.'FCK' = FCBET1;
  2298. TTL3.'FSK_1' = FSACI1;
  2299. TTL3.'FSK_2' = FSACI1;
  2300. TTL3.'RHO_1' = RHOXS;
  2301. TTL3.'RHO_2' = RHOYS;
  2302. TTL3.'GAMMA_C' = GAMC;
  2303. TTL3.'ALPA_C' = ALPC1;
  2304. TTL3.'NU_C' = NUC1;
  2305. TTL3.'GAMMA_S' = GAMS1;
  2306. D_VAL1 = ((G_ULTI2D TTL2) - (G_ULTI2D TTL3))/((1.0)*(H_VAL3));
  2307. 'SINON';
  2308. 'SI' (((X6_DN) '>' (((-1.0)*(((FCBET1*ALPC1)*(NUC1))/(ALPC1)))
  2309. + ((-1.0)*((FSACI1*RHOXS)/(GAMS1)))))
  2310. 'OU' ((Y6_DN) '>' (((-1.0)*(((FCBET1*ALPC1)*(NUC1))/(ALPC1)))
  2311. + ((-1.0)*((FSACI1*RHOYS)/(GAMS1))))));
  2312. X6_DP = ((N11)*(((1.0)*(LAMB0 + H_VAL3)))) + N110;
  2313. Y6_DP = ((N22)*(((-1.0)*(LAMB0 + H_VAL3)))) + N220;
  2314. Z6_DP = ((N12)*(((1.0)*(LAMB0 + H_VAL3)))) + N120;
  2315. X6_DN = ((N11)*(((1.0)*(LAMB0)))) + N110;
  2316. Y6_DN = ((N22)*(((-1.0)*(LAMB0)))) + N220;
  2317. Z6_DN = ((N12)*(((1.0)*(LAMB0)))) + N120;
  2318. *
  2319. TTL2 = TABLE;
  2320. TTL2.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  2321. TTL2.'S11' = X6_DP;
  2322. TTL2.'S22' = Y6_DP;
  2323. TTL2.'S12' = Z6_DP;
  2324. TTL2.'FCK' = FCBET1;
  2325. TTL2.'FSK_1' = FSACI1;
  2326. TTL2.'FSK_2' = FSACI1;
  2327. TTL2.'RHO_1' = RHOXS;
  2328. TTL2.'RHO_2' = RHOYS;
  2329. TTL2.'GAMMA_C' = GAMC;
  2330. TTL2.'ALPA_C' = ALPC1;
  2331. TTL2.'NU_C' = NUC1;
  2332. TTL2.'GAMMA_S' = GAMS1;
  2333. TTL3 = TABLE;
  2334. TTL3.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  2335. TTL3.'S11' = X6_DN;
  2336. TTL3.'S22' = Y6_DN;
  2337. TTL3.'S12' = Z6_DN;
  2338. TTL3.'FCK' = FCBET1;
  2339. TTL3.'FSK_1' = FSACI1;
  2340. TTL3.'FSK_2' = FSACI1;
  2341. TTL3.'RHO_1' = RHOXS;
  2342. TTL3.'RHO_2' = RHOYS;
  2343. TTL3.'GAMMA_C' = GAMC;
  2344. TTL3.'ALPA_C' = ALPC1;
  2345. TTL3.'NU_C' = NUC1;
  2346. TTL3.'GAMMA_S' = GAMS1;
  2347. D_VAL1 = ((G_ULTI2D TTL2) - (G_ULTI2D TTL3))/((1.0)*(H_VAL3));
  2348. 'SINON';
  2349. TTL2 = TABLE;
  2350. TTL2.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  2351. TTL2.'S11' = X6_DP;
  2352. TTL2.'S22' = Y6_DP;
  2353. TTL2.'S12' = Z6_DP;
  2354. TTL2.'FCK' = FCBET1;
  2355. TTL2.'FSK_1' = FSACI1;
  2356. TTL2.'FSK_2' = FSACI1;
  2357. TTL2.'RHO_1' = RHOXS;
  2358. TTL2.'RHO_2' = RHOYS;
  2359. TTL2.'GAMMA_C' = GAMC;
  2360. TTL2.'ALPA_C' = ALPC1;
  2361. TTL2.'NU_C' = NUC1;
  2362. TTL2.'GAMMA_S' = GAMS1;
  2363. TTL3 = TABLE;
  2364. TTL3.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  2365. TTL3.'S11' = X6_DN;
  2366. TTL3.'S22' = Y6_DN;
  2367. TTL3.'S12' = Z6_DN;
  2368. TTL3.'FCK' = FCBET1;
  2369. TTL3.'FSK_1' = FSACI1;
  2370. TTL3.'FSK_2' = FSACI1;
  2371. TTL3.'RHO_1' = RHOXS;
  2372. TTL3.'RHO_2' = RHOYS;
  2373. TTL3.'GAMMA_C' = GAMC;
  2374. TTL3.'ALPA_C' = ALPC1;
  2375. TTL3.'NU_C' = NUC1;
  2376. TTL3.'GAMMA_S' = GAMS1;
  2377. D_VAL1 = ((G_ULTI2D TTL2) - (G_ULTI2D TTL3))/((2.0)*(H_VAL3));
  2378. 'FINSI';
  2379. 'FINSI';
  2380. 'FINSI';
  2381. * computation of D (gradiant) in case of Point_7=Argmin(fmin)
  2382. 'SI' (II2 'EGA' 7);
  2383. X7_DP = ((N11)*(((1.0)*(LAMB0 + H_VAL3)))) + N110;
  2384. Y7_DP = ((N22)*(((1.0)*(LAMB0 + H_VAL3)))) + N220;
  2385. Z7_DP = ((N12)*(((1.0)*(LAMB0 + H_VAL3)))) + N120;
  2386. X7_DN = ((N11)*(((1.0)*(LAMB0 - H_VAL3)))) + N110;
  2387. Y7_DN = ((N22)*(((1.0)*(LAMB0 - H_VAL3)))) + N220;
  2388. Z7_DN = ((N12)*(((1.0)*(LAMB0 - H_VAL3)))) + N120;
  2389. 'SI' (((X7_DP) '>' ((FSACI1*RHOXS)/(GAMS1)))
  2390. 'OU' ((Y7_DP) '>' ((FSACI1*RHOYS)/(GAMS1))));
  2391. X7_DP = ((N11)*(((1.0)*(LAMB0)))) + N110;
  2392. Y7_DP = ((N22)*(((1.0)*(LAMB0)))) + N220;
  2393. Z7_DP = ((N12)*(((1.0)*(LAMB0)))) + N120;
  2394. X7_DN = ((N11)*(((1.0)*(LAMB0 - H_VAL3)))) + N110;
  2395. Y7_DN = ((N22)*(((1.0)*(LAMB0 - H_VAL3)))) + N220;
  2396. Z7_DN = ((N12)*(((1.0)*(LAMB0 - H_VAL3)))) + N120;
  2397. *
  2398. TTL2 = TABLE;
  2399. TTL2.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  2400. TTL2.'S11' = X7_DP;
  2401. TTL2.'S22' = Y7_DP;
  2402. TTL2.'S12' = Z7_DP;
  2403. TTL2.'FCK' = FCBET1;
  2404. TTL2.'FSK_1' = FSACI1;
  2405. TTL2.'FSK_2' = FSACI1;
  2406. TTL2.'RHO_1' = RHOXS;
  2407. TTL2.'RHO_2' = RHOYS;
  2408. TTL2.'GAMMA_C' = GAMC;
  2409. TTL2.'ALPA_C' = ALPC1;
  2410. TTL2.'NU_C' = NUC1;
  2411. TTL2.'GAMMA_S' = GAMS1;
  2412. TTL3 = TABLE;
  2413. TTL3.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  2414. TTL3.'S11' = X7_DN;
  2415. TTL3.'S22' = Y7_DN;
  2416. TTL3.'S12' = Z7_DN;
  2417. TTL3.'FCK' = FCBET1;
  2418. TTL3.'FSK_1' = FSACI1;
  2419. TTL3.'FSK_2' = FSACI1;
  2420. TTL3.'RHO_1' = RHOXS;
  2421. TTL3.'RHO_2' = RHOYS;
  2422. TTL3.'GAMMA_C' = GAMC;
  2423. TTL3.'ALPA_C' = ALPC1;
  2424. TTL3.'NU_C' = NUC1;
  2425. TTL3.'GAMMA_S' = GAMS1;
  2426.  
  2427. D_VAL1 = ((G_ULTI2D TTL2) - (G_ULTI2D TTL3))/((1.0)*(H_VAL3));
  2428. 'SINON';
  2429. 'SI' (((X7_DN) '>' (((-1.0)*(((FCBET1*ALPC1)*(NUC1))/(ALPC1)))
  2430. + ((-1.0)*((FSACI1*RHOXS)/(GAMS1)))))
  2431. 'OU' ((Y7_DN) '>' (((-1.0)*(((FCBET1*ALPC1)*(NUC1))/(ALPC1)))
  2432. + ((-1.0)*((FSACI1*RHOYS)/(GAMS1))))));
  2433. X7_DP = ((N11)*(((1.0)*(LAMB0 + H_VAL3)))) + N110;
  2434. Y7_DP = ((N22)*(((1.0)*(LAMB0 + H_VAL3)))) + N220;
  2435. Z7_DP = ((N12)*(((1.0)*(LAMB0 + H_VAL3)))) + N120;
  2436. X7_DN = ((N11)*(((1.0)*(LAMB0)))) + N110;
  2437. Y7_DN = ((N22)*(((1.0)*(LAMB0)))) + N220;
  2438. Z7_DN = ((N12)*(((1.0)*(LAMB0)))) + N120;
  2439. *
  2440. TTL2 = TABLE;
  2441. TTL2.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  2442. TTL2.'S11' = X7_DP;
  2443. TTL2.'S22' = Y7_DP;
  2444. TTL2.'S12' = Z7_DP;
  2445. TTL2.'FCK' = FCBET1;
  2446. TTL2.'FSK_1' = FSACI1;
  2447. TTL2.'FSK_2' = FSACI1;
  2448. TTL2.'RHO_1' = RHOXS;
  2449. TTL2.'RHO_2' = RHOYS;
  2450. TTL2.'GAMMA_C' = GAMC;
  2451. TTL2.'ALPA_C' = ALPC1;
  2452. TTL2.'NU_C' = NUC1;
  2453. TTL2.'GAMMA_S' = GAMS1;
  2454. TTL3 = TABLE;
  2455. TTL3.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  2456. TTL3.'S11' = X7_DN;
  2457. TTL3.'S22' = Y7_DN;
  2458. TTL3.'S12' = Z7_DN;
  2459. TTL3.'FCK' = FCBET1;
  2460. TTL3.'FSK_1' = FSACI1;
  2461. TTL3.'FSK_2' = FSACI1;
  2462. TTL3.'RHO_1' = RHOXS;
  2463. TTL3.'RHO_2' = RHOYS;
  2464. TTL3.'GAMMA_C' = GAMC;
  2465. TTL3.'ALPA_C' = ALPC1;
  2466. TTL3.'NU_C' = NUC1;
  2467. TTL3.'GAMMA_S' = GAMS1;
  2468. D_VAL1 = ((G_ULTI2D TTL2) - (G_ULTI2D TTL3))/((1.0)*(H_VAL3));
  2469. 'SINON';
  2470. TTL2 = TABLE;
  2471. TTL2.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  2472. TTL2.'S11' = X7_DP;
  2473. TTL2.'S22' = Y7_DP;
  2474. TTL2.'S12' = Z7_DP;
  2475. TTL2.'FCK' = FCBET1;
  2476. TTL2.'FSK_1' = FSACI1;
  2477. TTL2.'FSK_2' = FSACI1;
  2478. TTL2.'RHO_1' = RHOXS;
  2479. TTL2.'RHO_2' = RHOYS;
  2480. TTL2.'GAMMA_C' = GAMC;
  2481. TTL2.'ALPA_C' = ALPC1;
  2482. TTL2.'NU_C' = NUC1;
  2483. TTL2.'GAMMA_S' = GAMS1;
  2484. TTL3 = TABLE;
  2485. TTL3.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  2486. TTL3.'S11' = X7_DN;
  2487. TTL3.'S22' = Y7_DN;
  2488. TTL3.'S12' = Z7_DN;
  2489. TTL3.'FCK' = FCBET1;
  2490. TTL3.'FSK_1' = FSACI1;
  2491. TTL3.'FSK_2' = FSACI1;
  2492. TTL3.'RHO_1' = RHOXS;
  2493. TTL3.'RHO_2' = RHOYS;
  2494. TTL3.'GAMMA_C' = GAMC;
  2495. TTL3.'ALPA_C' = ALPC1;
  2496. TTL3.'NU_C' = NUC1;
  2497. TTL3.'GAMMA_S' = GAMS1;
  2498. D_VAL1 = ((G_ULTI2D TTL2) - (G_ULTI2D TTL3))/((2.0)*(H_VAL3));
  2499. 'FINSI';
  2500. 'FINSI';
  2501. 'FINSI';
  2502. * computation of D (gradiant) in case of Point_8=Argmin(fmin)
  2503. 'SI' (II1 'EGA' 8);
  2504. X8_DP = ((N11)*(((-1.0)*(LAMB0 + H_VAL3)))) + N110;
  2505. Y8_DP = ((N22)*(((1.0)*(LAMB0 + H_VAL3)))) + N220;
  2506. Z8_DP = ((N12)*(((1.0)*(LAMB0 + H_VAL3)))) + N120;
  2507. X8_DN = ((N11)*(((-1.0)*(LAMB0 - H_VAL3)))) + N110;
  2508. Y8_DN = ((N22)*(((1.0)*(LAMB0 - H_VAL3)))) + N220;
  2509. Z8_DN = ((N12)*(((1.0)*(LAMB0 - H_VAL3)))) + N120;
  2510. 'SI' (((X8_DP) '>' ((FSACI1*RHOXS)/(GAMS1)))
  2511. 'OU' ((Y8_DP) '>' ((FSACI1*RHOYS)/(GAMS1))));
  2512. X8_DP = ((N11)*(((-1.0)*(LAMB0)))) + N110;
  2513. Y8_DP = ((N22)*(((1.0)*(LAMB0)))) + N220;
  2514. Z8_DP = ((N12)*(((1.0)*(LAMB0)))) + N120;
  2515. X8_DN = ((N11)*(((-1.0)*(LAMB0 - H_VAL3)))) + N110;
  2516. Y8_DN = ((N22)*(((1.0)*(LAMB0 - H_VAL3)))) + N220;
  2517. Z8_DN = ((N12)*(((1.0)*(LAMB0 - H_VAL3)))) + N120;
  2518. *
  2519. TTL2 = TABLE;
  2520. TTL2.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  2521. TTL2.'S11' = X8_DP;
  2522. TTL2.'S22' = Y8_DP;
  2523. TTL2.'S12' = Z8_DP;
  2524. TTL2.'FCK' = FCBET1;
  2525. TTL2.'FSK_1' = FSACI1;
  2526. TTL2.'FSK_2' = FSACI1;
  2527. TTL2.'RHO_1' = RHOXS;
  2528. TTL2.'RHO_2' = RHOYS;
  2529. TTL2.'GAMMA_C' = GAMC;
  2530. TTL2.'ALPA_C' = ALPC1;
  2531. TTL2.'NU_C' = NUC1;
  2532. TTL2.'GAMMA_S' = GAMS1;
  2533. TTL3 = TABLE;
  2534. TTL3.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  2535. TTL3.'S11' = X8_DN;
  2536. TTL3.'S22' = Y8_DN;
  2537. TTL3.'S12' = Z8_DN;
  2538. TTL3.'FCK' = FCBET1;
  2539. TTL3.'FSK_1' = FSACI1;
  2540. TTL3.'FSK_2' = FSACI1;
  2541. TTL3.'RHO_1' = RHOXS;
  2542. TTL3.'RHO_2' = RHOYS;
  2543. TTL3.'GAMMA_C' = GAMC;
  2544. TTL3.'ALPA_C' = ALPC1;
  2545. TTL3.'NU_C' = NUC1;
  2546. TTL3.'GAMMA_S' = GAMS1;
  2547. D_VAL1 = ((G_ULTI2D TTL2) - (G_ULTI2D TTL3))/((1.0)*(H_VAL3));
  2548. 'SINON';
  2549. 'SI' (((X8_DN) '>' (((-1.0)*(((FCBET1*ALPC1)*(NUC1))/(ALPC1)))
  2550. + ((-1.0)*((FSACI1*RHOXS)/(GAMS1)))))
  2551. 'OU' ((Y8_DN) '>' (((-1.0)*(((FCBET1*ALPC1)*(NUC1))/(ALPC1)))
  2552. + ((-1.0)*((FSACI1*RHOYS)/(GAMS1))))));
  2553. X8_DP = ((N11)*(((-1.0)*(LAMB0 + H_VAL3)))) + N110;
  2554. Y8_DP = ((N22)*(((1.0)*(LAMB0 + H_VAL3)))) + N220;
  2555. Z8_DP = ((N12)*(((1.0)*(LAMB0 + H_VAL3)))) + N120;
  2556. X8_DN = ((N11)*(((-1.0)*(LAMB0)))) + N110;
  2557. Y8_DN = ((N22)*(((1.0)*(LAMB0)))) + N220;
  2558. Z8_DN = ((N12)*(((1.0)*(LAMB0)))) + N120;
  2559. *
  2560. TTL2 = TABLE;
  2561. TTL2.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  2562. TTL2.'S11' = X8_DP;
  2563. TTL2.'S22' = Y8_DP;
  2564. TTL2.'S12' = Z8_DP;
  2565. TTL2.'FCK' = FCBET1;
  2566. TTL2.'FSK_1' = FSACI1;
  2567. TTL2.'FSK_2' = FSACI1;
  2568. TTL2.'RHO_1' = RHOXS;
  2569. TTL2.'RHO_2' = RHOYS;
  2570. TTL2.'GAMMA_C' = GAMC;
  2571. TTL2.'ALPA_C' = ALPC1;
  2572. TTL2.'NU_C' = NUC1;
  2573. TTL2.'GAMMA_S' = GAMS1;
  2574. TTL3 = TABLE;
  2575. TTL3.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  2576. TTL3.'S11' = X8_DN;
  2577. TTL3.'S22' = Y8_DN;
  2578. TTL3.'S12' = Z8_DN;
  2579. TTL3.'FCK' = FCBET1;
  2580. TTL3.'FSK_1' = FSACI1;
  2581. TTL3.'FSK_2' = FSACI1;
  2582. TTL3.'RHO_1' = RHOXS;
  2583. TTL3.'RHO_2' = RHOYS;
  2584. TTL3.'GAMMA_C' = GAMC;
  2585. TTL3.'ALPA_C' = ALPC1;
  2586. TTL3.'NU_C' = NUC1;
  2587. TTL3.'GAMMA_S' = GAMS1;
  2588. D_VAL1 = ((G_ULTI2D TTL2) - (G_ULTI2D TTL3))/((1.0)*(H_VAL3));
  2589. 'SINON';
  2590. TTL2 = TABLE;
  2591. TTL2.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  2592. TTL2.'S11' = X8_DP;
  2593. TTL2.'S22' = Y8_DP;
  2594. TTL2.'S12' = Z8_DP;
  2595. TTL2.'FCK' = FCBET1;
  2596. TTL2.'FSK_1' = FSACI1;
  2597. TTL2.'FSK_2' = FSACI1;
  2598. TTL2.'RHO_1' = RHOXS;
  2599. TTL2.'RHO_2' = RHOYS;
  2600. TTL2.'GAMMA_C' = GAMC;
  2601. TTL2.'ALPA_C' = ALPC1;
  2602. TTL2.'NU_C' = NUC1;
  2603. TTL2.'GAMMA_S' = GAMS1;
  2604. TTL3 = TABLE;
  2605. TTL3.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  2606. TTL3.'S11' = X8_DN;
  2607. TTL3.'S22' = Y8_DN;
  2608. TTL3.'S12' = Z8_DN;
  2609. TTL3.'FCK' = FCBET1;
  2610. TTL3.'FSK_1' = FSACI1;
  2611. TTL3.'FSK_2' = FSACI1;
  2612. TTL3.'RHO_1' = RHOXS;
  2613. TTL3.'RHO_2' = RHOYS;
  2614. TTL3.'GAMMA_C' = GAMC;
  2615. TTL3.'ALPA_C' = ALPC1;
  2616. TTL3.'NU_C' = NUC1;
  2617. TTL3.'GAMMA_S' = GAMS1;
  2618. D_VAL1 = ((G_ULTI2D TTL2) - (G_ULTI2D TTL3))/((2.0)*(H_VAL3));
  2619. 'FINSI';
  2620. 'FINSI';
  2621. 'FINSI';
  2622. 'OUBL' X1_DP;
  2623. 'OUBL' Y1_DP;
  2624. 'OUBL' Z1_DP;
  2625. 'OUBL' X1_DN;
  2626. 'OUBL' Y1_DN;
  2627. 'OUBL' Z1_DN;
  2628. 'OUBL' X2_DP;
  2629. 'OUBL' Y2_DP;
  2630. 'OUBL' Z2_DP;
  2631. 'OUBL' X2_DN;
  2632. 'OUBL' Y2_DN;
  2633. 'OUBL' Z2_DN;
  2634. 'OUBL' X3_DP;
  2635. 'OUBL' Y3_DP;
  2636. 'OUBL' Z3_DP;
  2637. 'OUBL' X3_DN;
  2638. 'OUBL' Y3_DN;
  2639. 'OUBL' Z3_DN;
  2640. 'OUBL' X4_DP;
  2641. 'OUBL' Y4_DP;
  2642. 'OUBL' Z4_DP;
  2643. 'OUBL' X4_DN;
  2644. 'OUBL' Y4_DN;
  2645. 'OUBL' Z4_DN;
  2646. 'OUBL' X5_DP;
  2647. 'OUBL' Y5_DP;
  2648. 'OUBL' Z5_DP;
  2649. 'OUBL' X5_DN;
  2650. 'OUBL' Y5_DN;
  2651. 'OUBL' Z5_DN;
  2652. 'OUBL' X6_DP;
  2653. 'OUBL' Y6_DP;
  2654. 'OUBL' Z6_DP;
  2655. 'OUBL' X6_DN;
  2656. 'OUBL' Y6_DN;
  2657. 'OUBL' Z6_DN;
  2658. 'OUBL' X7_DP;
  2659. 'OUBL' Y7_DP;
  2660. 'OUBL' Z7_DP;
  2661. 'OUBL' X7_DN;
  2662. 'OUBL' Y7_DN;
  2663. 'OUBL' Z7_DN;
  2664. 'OUBL' X8_DP;
  2665. 'OUBL' Y8_DP;
  2666. 'OUBL' Z8_DP;
  2667. 'OUBL' X8_DN;
  2668. 'OUBL' Y8_DN;
  2669. 'OUBL' Z8_DN;
  2670. *
  2671. * test convergence
  2672. 'SI' (('ABS'(VAL_F)) '<' TOL_1);
  2673. * convergence!!!
  2674. LAMBJ = LAMB0;
  2675. 'QUIT' IND4;
  2676. 'SINON';
  2677. 'SI' (I_MM1 'EGA' 200);
  2678. * reach the limits of loop
  2679. ID1_CON = 1;
  2680. LAMBJ = LAMB0;
  2681. 'QUIT' IND4;
  2682. 'FINSI';
  2683. 'SI' (I_MM1 > 2);
  2684. * controle on the variation of Lambda
  2685. 'SI' ((ABS((LAMB0 - LAMB1)/(LAMB0))) < ((TOL_1)*(1.e-10)));
  2686. LAMBJ = LAMB0;
  2687. 'QUIT' IND4;
  2688. 'FINSI';
  2689. 'FINSI';
  2690. * if N11 stress of Point_j is out of the external boundary of the
  2691. * limite surface
  2692. XX_T_MIN = 'MINI' LL_X0;
  2693. XX_T_MAX = 'MAXI' LL_X0;
  2694. YY_T_MIN = 'MINI' LL_Y0;
  2695. YY_T_MAX = 'MAXI' LL_Y0;
  2696. 'SI' (((XX_T_MAX) '>' ((FSACI1*RHOXS)/(GAMS1))) 'OU'
  2697. ((YY_T_MAX) '>' ((FSACI1*RHOYS)/(GAMS1))) 'OU'
  2698. ((XX_T_MIN)
  2699. '<' (((-1.0)*(((FCBET1*ALPC1)*(NUC1))/(ALPC1)))
  2700. + ((-1.0)*((FSACI1*RHOXS)/(GAMS1))))) 'OU'
  2701. ((YY_T_MIN)
  2702. '<' (((-1.0)*(((FCBET1*ALPC1)*(NUC1))/(ALPC1)))
  2703. + ((-1.0)*((FSACI1*RHOYS)/(GAMS1))))));
  2704. LAMB1 = LAMB0;
  2705. LAMB2 = 1000000000.;
  2706. 'SI' ((XX_T_MAX) '>' ((FSACI1*RHOXS)/(GAMS1)));
  2707. LAMB3 = (((FSACI1*RHOXS)/(GAMS1)) - (N110) - TOL_2)/(N11);
  2708. 'SI' (LAMB3 '<' LAMB2);
  2709. LAMB2 = LAMB3;
  2710. 'FINSI';
  2711. 'FINSI';
  2712. 'SI' ((YY_T_MAX) '>' ((FSACI1*RHOYS)/(GAMS1)));
  2713. LAMB3 = (((FSACI1*RHOYS)/(GAMS1)) - (N220) - TOL_2)/(N22);
  2714. 'SI' (LAMB3 '<' LAMB2);
  2715. LAMB2 = LAMB3;
  2716. 'FINSI';
  2717. 'FINSI';
  2718. 'SI' ((XX_T_MIN) '<'
  2719. (((-1.0)*(((FCBET1*ALPC1)*(NUC1))/(ALPC1)))
  2720. + ((-1.0)*((FSACI1*RHOXS)/(GAMS1)))));
  2721. LAMB3 = ((((-1.0)*(((FCBET1*ALPC1)*(NUC1))/(ALPC1)))
  2722. + ((-1.0)*((FSACI1*RHOXS)/(GAMS1))))
  2723. - (N110) + TOL_2)/(N11);
  2724. 'SI' (LAMB3 '<' LAMB2);
  2725. LAMB2 = LAMB3;
  2726. 'FINSI';
  2727. 'FINSI';
  2728. 'SI' ((YY_T_MIN) '<' (((-1.0)*(((FCBET1*ALPC1)*(NUC1))/(ALPC1)))
  2729. + ((-1.0)*((FSACI1*RHOYS)/(GAMS1)))));
  2730. LAMB3 = ((((-1.0)*(((FCBET1*ALPC1)*(NUC1))/(ALPC1)))
  2731. + ((-1.0)*((FSACI1*RHOYS)/(GAMS1))))
  2732. - (N220) + TOL_2)/(N22);
  2733. 'SI' (LAMB3 '<' LAMB2);
  2734. LAMB2 = LAMB3;
  2735. 'FINSI';
  2736. 'FINSI';
  2737. LAMB0 = LAMB2;
  2738. 'OUBL' LAMB2;
  2739. 'OUBL' LAMB3;
  2740. 'SINON';
  2741. 'SI' (('ABS'(D_VAL1)) < 1.E-16);
  2742. * in case of D is equal to zero
  2743. LAMB1 = LAMB0;
  2744. LAMB0 = ((1.1)*(LAMB0));
  2745. 'SINON';
  2746. * otherwise
  2747. LAMB1 = LAMB0;
  2748. LAMB0 = LAMB0 - ((VAL_F)/(D_VAL1));
  2749. 'FINSI';
  2750. 'FINSI';
  2751. 'FINSI';
  2752. 'OUBL' VAL_F;
  2753. 'OUBL' D_VAL1;
  2754. *
  2755. TAB_ITE. (I_MM1 + 1) = 'TABLE';
  2756. TAB_ITE. (I_MM1 + 1) .'LAMBDA' = ABS(LAMB0) ;
  2757. *
  2758. I_MM1 = I_MM1 + 1;
  2759. 'FIN' IND4;
  2760.  
  2761. LAM_FIN2 = TAB_ITE. (('DIME' TAB_ITE) - 1) .'LAMBDA';
  2762. 'OUBL' TAB_ITE;
  2763. 'OUBL' LAMB0;
  2764. 'OUBL' LAMB1;
  2765. 'OUBL' LL_X0;
  2766. 'OUBL' LL_Y0;
  2767. 'OUBL' LL_Z0;
  2768. 'OUBL' LL_Y0;
  2769. 'OUBL' D_VAL1;
  2770. 'OUBL' VAL_F;
  2771. *
  2772. TIT1 = CHAINE TIT1 '....new value ' LAM_FIN2;
  2773. *
  2774. LAM_FIN = LAM_FIN2;
  2775. *
  2776. 'SI' ('EGA' ('TYPE' LL_ERRE1) 'LISTENTI');
  2777. LL_ERRE1 = LL_ERRE1 ET ('LECT' I_ELE1);
  2778. 'SINON';
  2779. LL_ERRE1 = ('LECT' I_ELE1);
  2780. 'FINSI';
  2781. 'MESS' TIT1;
  2782. *
  2783. 'FINSI';
  2784. *
  2785. * results stored in the MCHAML field
  2786. 'SI' (I_IE1 'EGA' 1);
  2787. MOD1 = 'MODE' ELE_VOI1 'MECANIQUE' 'ELASTIQUE' 'ISOTROPE';
  2788. MODTOT = MODTOT 'ET' MOD1;
  2789. * CH_LAME = CH_LAME 'ET' ('MANU' 'CHML' MOD1 'LAME' LAM_FIN);
  2790. CH_LAME = CH_LAME 'ET' ('MANU' 'CHML' ELE_VOI1 'LAME' LAM_FIN);
  2791. 'SI' (LAM_FIN '<' 1.0);
  2792. MAI_REE = MAI_REE 'ET' (ELE_VOI1 'COUL' 'ROUG');
  2793. 'SINON';
  2794. MAI_REE = MAI_REE 'ET' (ELE_VOI1 'COUL' 'VERT');
  2795. 'FINSI';
  2796. 'FINSI';
  2797. 'SI' (I_IE1 'EGA' 2);
  2798. MOD1 = 'MODE' ELE_VOI1 'MECANIQUE' 'ELASTIQUE' 'ISOTROPE';
  2799. MODTOT = MODTOT 'ET' MOD1;
  2800. * CH_LAMI = CH_LAMI 'ET' ('MANU' 'CHML' MOD1 'LAMI' LAM_FIN);
  2801. CH_LAMI = CH_LAMI 'ET' ('MANU' 'CHML' ELE_VOI1 'LAMI' LAM_FIN);
  2802. 'SI' (LAM_FIN '<' 1.0);
  2803. MAI_REI = MAI_REI 'ET' (ELE_VOI1 'COUL' 'ROUG');
  2804. 'SINON';
  2805. MAI_REI = MAI_REI 'ET' (ELE_VOI1 'COUL' 'VERT');
  2806. 'FINSI';
  2807. 'FINSI';
  2808. *
  2809. 'OUBL' LAM_FIN;
  2810. 'OUBL' LAM_FIN2;
  2811. *
  2812. 'FINSI';
  2813. 'FINSI';
  2814. *
  2815. I_ELE1 = I_ELE1 + 1;
  2816. 'FIN' IND_ELE1;
  2817. I_IE1 = I_IE1 + 1;
  2818. 'FIN' IND_IE1 ;
  2819. *
  2820. 'OUBL' MOD1;
  2821. *
  2822. 'SINON';
  2823. *------------------ Calcul par le rectangle ---------------------------*
  2824. *
  2825. * Rectangle methode
  2826. 'MESS' ' ------------------------------------------------------------';
  2827. 'MESS' ' Methode Rectangle';
  2828. 'MESS' ' ------------------------------------------------------------';
  2829. 'MESS';
  2830. *
  2831. * loop for the layer (external or intenal)
  2832. I_IE1 = 1;
  2833. 'REPE' IND_IE1 (3);
  2834. *
  2835. 'SI' (I_IE1 'EGA' 1);
  2836. *
  2837. * I_IE1 = 1 External layer
  2838. 'MESS';
  2839. 'MESS' ' Membrane Exterieure';
  2840. 'FINSI';
  2841. *
  2842. * I_IE1 = 2 Internal layer
  2843. 'SI' (I_IE1 'EGA' 2);
  2844. 'MESS';
  2845. 'MESS' ' Membrane Interieure';
  2846. 'FINSI';
  2847. *
  2848. 'SI' (I_IE1 'EGA' 3);
  2849. 'MESS';
  2850. 'MESS' ' Core';
  2851. 'FINSI';
  2852. *
  2853. * loop for the elements
  2854. I_ELE1 = 1;
  2855. 'REPE' IND_ELE1 (N_ELE1);
  2856. * element I
  2857. ELE_VOI1 = MAI_V ELEM I_ELE1;
  2858. * extracting the force and caracteristics for the external layer
  2859. 'SI' (I_IE1 'EGA' 1);
  2860. RHOXS = 'EXTR' ('REDU' CH_CARE ELE_VOI1) 'RHO1' 1 1 1;
  2861. RHOYS = 'EXTR' ('REDU' CH_CARE ELE_VOI1) 'RHO2' 1 1 1;
  2862. ENR1 = 'EXTR' ('REDU' CH_CARE ELE_VOI1) 'ENRO' 1 1 1;
  2863. *
  2864. N11 = ('EXTR' ('REDU' CH_SEI1 ELE_VOI1) 'C11E' 1 1 1)**(0.5);
  2865. N11N22 = ('EXTR' ('REDU' CH_SEI1 ELE_VOI1) 'C12E' 1 1 1);
  2866. N11N12 = ('EXTR' ('REDU' CH_SEI1 ELE_VOI1) 'C13E' 1 1 1);
  2867. N22 = ('EXTR' ('REDU' CH_SEI1 ELE_VOI1) 'C22E' 1 1 1)**(0.5);
  2868. N22N12 = ('EXTR' ('REDU' CH_SEI1 ELE_VOI1) 'C23E' 1 1 1);
  2869. N12 = ('EXTR' ('REDU' CH_SEI1 ELE_VOI1) 'C33E' 1 1 1)**(0.5);
  2870. N110 = ('EXTR' ('REDU' CH_STA1 ELE_VOI1) 'N11E' 1 1 1);
  2871. N220 = ('EXTR' ('REDU' CH_STA1 ELE_VOI1) 'N22E' 1 1 1);
  2872. N120 = ('EXTR' ('REDU' CH_STA1 ELE_VOI1) 'N12E' 1 1 1);
  2873. *
  2874. * seismic stress
  2875. N11 = ((N11)/((2.0)*(ENR1)));
  2876. N22 = ((N22)/((2.0)*(ENR1)));
  2877. N12 = ((N12)/((2.0)*(ENR1)));
  2878. N11N22 = ((N11N22)/(((2.0)*(ENR1))**(2.0)));
  2879. N11N12 = ((N11N12)/(((2.0)*(ENR1))**(2.0)));
  2880. N22N12 = ((N22N12)/(((2.0)*(ENR1))**(2.0)));
  2881. *
  2882. * static stress
  2883. N110 = ((N110)/((2.0)*(ENR1)));
  2884. N220 = ((N220)/((2.0)*(ENR1)));
  2885. N120 = ((N120)/((2.0)*(ENR1)));
  2886. *
  2887.  
  2888. 'FINSI';
  2889. * extracting the force and caracteristics for the internal layer
  2890. 'SI' (I_IE1 'EGA' 2);
  2891. RHOXS = 'EXTR' ('REDU' CH_CARI ELE_VOI1) 'RHO1' 1 1 1;
  2892. RHOYS = 'EXTR' ('REDU' CH_CARI ELE_VOI1) 'RHO2' 1 1 1;
  2893. ENR1 = 'EXTR' ('REDU' CH_CARI ELE_VOI1) 'ENRO' 1 1 1;
  2894. *
  2895. N11 = ('EXTR' ('REDU' CH_SEI1 ELE_VOI1) 'C11I' 1 1 1)**(0.5);
  2896. N11N22 = ('EXTR' ('REDU' CH_SEI1 ELE_VOI1) 'C12I' 1 1 1);
  2897. N11N12 = ('EXTR' ('REDU' CH_SEI1 ELE_VOI1) 'C13I' 1 1 1);
  2898. N22 = ('EXTR' ('REDU' CH_SEI1 ELE_VOI1) 'C22I' 1 1 1)**(0.5);
  2899. N22N12 = ('EXTR' ('REDU' CH_SEI1 ELE_VOI1) 'C23I' 1 1 1);
  2900. N12 = ('EXTR' ('REDU' CH_SEI1 ELE_VOI1) 'C33I' 1 1 1)**(0.5);
  2901. N110 = ('EXTR' ('REDU' CH_STA1 ELE_VOI1) 'N11I' 1 1 1);
  2902. N220 = ('EXTR' ('REDU' CH_STA1 ELE_VOI1) 'N22I' 1 1 1);
  2903. N120 = ('EXTR' ('REDU' CH_STA1 ELE_VOI1) 'N12I' 1 1 1);
  2904. *
  2905. * seismic stress
  2906. N11 = ((N11)/((2.0)*(ENR1)));
  2907. N22 = ((N22)/((2.0)*(ENR1)));
  2908. N12 = ((N12)/((2.0)*(ENR1)));
  2909. N11N22 = ((N11N22)/(((2.0)*(ENR1))**(2.0)));
  2910. N11N12 = ((N11N12)/(((2.0)*(ENR1))**(2.0)));
  2911. N22N12 = ((N22N12)/(((2.0)*(ENR1))**(2.0)));
  2912. *
  2913. * static stress
  2914. N110 = ((N110)/((2.0)*(ENR1)));
  2915. N220 = ((N220)/((2.0)*(ENR1)));
  2916. N120 = ((N120)/((2.0)*(ENR1)));
  2917. *
  2918. 'FINSI';
  2919. *
  2920. * extracting the force and caracteristics for the internal layer
  2921. 'SI' (I_IE1 'EGA' 3);
  2922. RHOT = 'EXTR' ('REDU' CH_CARC ELE_VOI1) 'RHOT' 1 1 1;
  2923. ENR1 = 'EXTR' ('REDU' CH_CARE ELE_VOI1) 'ENRO' 1 1 1;
  2924. ENR2 = 'EXTR' ('REDU' CH_CARI ELE_VOI1) 'ENRO' 1 1 1;
  2925. H_11 = 'EXTR' ('REDU' CH_CARC ELE_VOI1) 'H' 1 1 1;
  2926. D_11 = H_11 - ((2.0)*(ENR1)) - ((2.0)*(ENR2));
  2927. CO_TH1 = 'EXTR' ('REDU' CH_CARC ELE_VOI1) 'COTH' 1 1 1;
  2928. *
  2929. V1 = ('EXTR' ('REDU' CH_SEI1 ELE_VOI1) 'CV11' 1 1 1)**(0.5);
  2930. V1V2 = ('EXTR' ('REDU' CH_SEI1 ELE_VOI1) 'CV12' 1 1 1);
  2931. V2 = ('EXTR' ('REDU' CH_SEI1 ELE_VOI1) 'CV22' 1 1 1)**(0.5);
  2932. *
  2933. V10 = ('EXTR' ('REDU' CH_STA1 ELE_VOI1) 'V1T' 1 1 1);
  2934. V20 = ('EXTR' ('REDU' CH_STA1 ELE_VOI1) 'V2T' 1 1 1);
  2935. *
  2936. * seismic stress
  2937. T1 = ((V1)/((D_11)));
  2938. T2 = ((V2)/((D_11)));
  2939. T1T2 = ((V1V2)/(((D_11))**(2.0)));
  2940. *
  2941. * static stress
  2942. T10 = ((V10)/((D_11)));
  2943. T20 = ((V20)/((D_11)));
  2944. *
  2945. 'FINSI';
  2946. *
  2947. * Verificatiuon Core--------------------------------------------
  2948. 'SI' (I_IE1 'EGA' 3);
  2949. * --------------------------------------------------------------
  2950. TTL1 = TABLE;
  2951. TTL1.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_COR';
  2952. TTL1.'T1' = T10;
  2953. TTL1.'T2' = T20;
  2954. TTL1.'FCK' = FCBET1;
  2955. TTL1.'FSK_T' = FSACI1;
  2956. TTL1.'RHO_T' = RHOT;
  2957. TTL1.'GAMMA_C' = GAMC;
  2958. TTL1.'ALPA_C' = ALPC1;
  2959. TTL1.'GAMMA_S' = GAMS1;
  2960. TTL1.'NU_C' = NUC1;
  2961. TTL1.'COT_THETA' = CO_TH1;
  2962. T_ST1 = G_ULTI2D TTL1;
  2963. 'SI' (T_ST1 '&lt;EG' 0.0);
  2964. LAM_FIN = 0.0;
  2965. TIT1 = 'CHAINE' ' Element ' I_ELE1 ' Lambda='
  2966. LAM_FIN '.....Sig0 externe';
  2967. 'MESS' TIT1;
  2968. 'SINON';
  2969. H_VAL1 = FCBET1/100000;
  2970. LAMB0 = 1.0;
  2971. *
  2972. T1 = ABS(T1);
  2973. T2 = ABS(T2);
  2974. T10 = ABS(T10);
  2975. T20 = ABS(T20);
  2976. *
  2977. I_M1 = 0;
  2978. TAB_ITE = TABLE;
  2979. *
  2980. 'REPE' IND1 (200);
  2981. X1_0 = ((T1)*(((1.0)*(LAMB0)))) + T10;
  2982. Y1_0 = ((T2)*(((1.0)*(LAMB0)))) + T20;
  2983. *
  2984. X1_DP = ((T1)*(((1.0)*(LAMB0 + H_VAL1)))) + T10;
  2985. Y1_DP = ((T2)*(((1.0)*(LAMB0 + H_VAL1)))) + T20;
  2986. X1_DN = ((T1)*(((1.0)*(LAMB0 - H_VAL1)))) + T10;
  2987. Y1_DN = ((T2)*(((1.0)*(LAMB0 - H_VAL1)))) + T20;
  2988. *
  2989. TTL1 = TABLE;
  2990. TTL1.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_COR';
  2991. TTL1.'T1' = X1_0;
  2992. TTL1.'T2' = Y1_0;
  2993. TTL1.'FCK' = FCBET1;
  2994. TTL1.'FSK_T' = FSACI1;
  2995. TTL1.'RHO_T' = RHOT;
  2996. TTL1.'GAMMA_C' = GAMC;
  2997. TTL1.'ALPA_C' = ALPC1;
  2998. TTL1.'GAMMA_S' = GAMS1;
  2999. TTL1.'NU_C' = NUC1;
  3000. TTL1.'COT_THETA' = CO_TH1;
  3001. TTL2 = TABLE;
  3002. TTL2.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_COR';
  3003. TTL2.'T1' = X1_DP;
  3004. TTL2.'T2' = Y1_DP;
  3005. TTL2.'FCK' = FCBET1;
  3006. TTL2.'FSK_T' = FSACI1;
  3007. TTL2.'RHO_T' = RHOT;
  3008. TTL2.'GAMMA_C' = GAMC;
  3009. TTL2.'ALPA_C' = ALPC1;
  3010. TTL2.'GAMMA_S' = GAMS1;
  3011. TTL2.'NU_C' = NUC1;
  3012. TTL2.'COT_THETA' = CO_TH1;
  3013. TTL3 = TABLE;
  3014. TTL3.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_COR';
  3015. TTL3.'T1' = X1_DN;
  3016. TTL3.'T2' = Y1_DN;
  3017. TTL3.'FCK' = FCBET1;
  3018. TTL3.'FSK_T' = FSACI1;
  3019. TTL3.'RHO_T' = RHOT;
  3020. TTL3.'GAMMA_C' = GAMC;
  3021. TTL3.'ALPA_C' = ALPC1;
  3022. TTL3.'GAMMA_S' = GAMS1;
  3023. TTL3.'NU_C' = NUC1;
  3024. TTL3.'COT_THETA' = CO_TH1;
  3025. VAL_F = (G_ULTI2D TTL1);
  3026. D_VAL1 = ((G_ULTI2D TTL2) - (G_ULTI2D TTL3))/((2.0)*(H_VAL1));
  3027. *
  3028. 'SI' (('ABS'(VAL_F)) '<' TOL_1);
  3029. * 'SI' (('ABS'(VAL_F)) '<' 0.00001);
  3030. * convergence!!!
  3031. LAMBJ = LAMB0;
  3032. 'QUIT' IND1;
  3033. 'SINON';
  3034. 'SI' (I_M1 'EGA' 200);
  3035. * reach the limits of loop
  3036. ID1_CON = 1;
  3037. LAMBJ = LAMB0;
  3038. 'QUIT' IND1;
  3039. 'FINSI';
  3040. * otherwise
  3041. LAMB1 = LAMB0;
  3042. LAMB0 = LAMB0 - ((VAL_F)/(D_VAL1));
  3043. 'FINSI';
  3044. *
  3045. TAB_ITE. (I_M1) = 'TABLE';
  3046. TAB_ITE. (I_M1) .'LAMBDA' = ABS(LAMB0) ;
  3047. *
  3048. I_M1 = I_M1 + 1;
  3049. 'FIN' IND1;
  3050. * final Lambda
  3051. LAM_FIN = TAB_ITE. ((DIME TAB_ITE) - 1) .'LAMBDA';
  3052. 'SI' (ID1_CON 'EGA' 0);
  3053. TIT1 = 'CHAINE' ' Element ' I_ELE1 ' Lambda='
  3054. LAM_FIN;
  3055. 'MESS' TIT1;
  3056. 'FINSI';
  3057. *
  3058. 'FINSI';
  3059. *
  3060. * Verification couches interne et externe-----------------------
  3061. 'SINON';
  3062. * --------------------------------------------------------------
  3063. *
  3064. * Test about the static state stress
  3065. TTL1 = TABLE;
  3066. TTL1.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  3067. TTL1.'S11' = N110;
  3068. TTL1.'S22' = N220;
  3069. TTL1.'S12' = N120;
  3070. TTL1.'FCK' = FCBET1;
  3071. TTL1.'FSK_1' = FSACI1;
  3072. TTL1.'FSK_2' = FSACI1;
  3073. TTL1.'RHO_1' = RHOXS;
  3074. TTL1.'RHO_2' = RHOYS;
  3075. TTL1.'GAMMA_C' = GAMC;
  3076. TTL1.'ALPA_C' = ALPC1;
  3077. TTL1.'NU_C' = NUC1;
  3078. TTL1.'GAMMA_S' = GAMS1;
  3079. *
  3080. ID1_CON = 0;
  3081. *
  3082. T_ST1 = G_ULTI2D TTL1;
  3083. 'SI' (T_ST1 '&lt;EG' 0.0);
  3084. LAM_FIN = 0.0;
  3085. TIT1 = 'CHAINE' ' Element ' I_ELE1 ' Lambda='
  3086. LAM_FIN '.....Sig0 externe';
  3087. 'MESS' TIT1;
  3088. 'SINON';
  3089. *
  3090. * Start of the iteration
  3091. *
  3092. * incremental step et starting point
  3093. *H_VAL1 = FCBET1/100000;
  3094. LAMB0 = 1.0;
  3095. H_VAL1 = LAMB0/10000;
  3096. TOL_2 = FCBET1/1000;
  3097. *
  3098. * reference list for the 8 point for rectangle solid
  3099. LL_I = PROG 1. 2. 3. 4. 5. 6. 7. 8.;
  3100. *
  3101. * creation of resuming table
  3102. TAB_ITE = 'TABLE';
  3103. TAB_ITE. 0 = 'TABLE';
  3104. TAB_ITE. 0 .'LAMBDA' = LAMB0 ;
  3105. *
  3106. I_M1 = 0;
  3107. *
  3108. * loop for in order to find f=0
  3109. 'REPE' IND1 (200);
  3110. *
  3111. * stress state for the 8 points
  3112. X1_0 = ((N11)*(((-1.0)*(LAMB0)))) + N110;
  3113. Y1_0 = ((N22)*(((-1.0)*(LAMB0)))) + N220;
  3114. Z1_0 = ((N12)*(((-1.0)*(LAMB0)))) + N120;
  3115. X2_0 = ((N11)*(((1.0)*(LAMB0)))) + N110;
  3116. Y2_0 = ((N22)*(((-1.0)*(LAMB0)))) + N220;
  3117. Z2_0 = ((N12)*(((-1.0)*(LAMB0)))) + N120;
  3118. X3_0 = ((N11)*(((1.0)*(LAMB0)))) + N110;
  3119. Y3_0 = ((N22)*(((1.0)*(LAMB0)))) + N220;
  3120. Z3_0 = ((N12)*(((-1.0)*(LAMB0)))) + N120;
  3121. X4_0 = ((N11)*(((-1.0)*(LAMB0)))) + N110;
  3122. Y4_0 = ((N22)*(((1.0)*(LAMB0)))) + N220;
  3123. Z4_0 = ((N12)*(((-1.0)*(LAMB0)))) + N120;
  3124. X5_0 = ((N11)*(((-1.0)*(LAMB0)))) + N110;
  3125. Y5_0 = ((N22)*(((-1.0)*(LAMB0)))) + N220;
  3126. Z5_0 = ((N12)*(((1.0)*(LAMB0)))) + N120;
  3127. X6_0 = ((N11)*(((1.0)*(LAMB0)))) + N110;
  3128. Y6_0 = ((N22)*(((-1.0)*(LAMB0)))) + N220;
  3129. Z6_0 = ((N12)*(((1.0)*(LAMB0)))) + N120;
  3130. X7_0 = ((N11)*(((1.0)*(LAMB0)))) + N110;
  3131. Y7_0 = ((N22)*(((1.0)*(LAMB0)))) + N220;
  3132. Z7_0 = ((N12)*(((1.0)*(LAMB0)))) + N120;
  3133. X8_0 = ((N11)*(((-1.0)*(LAMB0)))) + N110;
  3134. Y8_0 = ((N22)*(((1.0)*(LAMB0)))) + N220;
  3135. Z8_0 = ((N12)*(((1.0)*(LAMB0)))) + N120;
  3136. *
  3137. * put the N11, N22 et N12 stress state in the lists
  3138. LL_X0 = PROG (X1_0) (X2_0) (X3_0) (X4_0)
  3139. (X5_0) (X6_0) (X7_0) (X8_0);
  3140. LL_Y0 = PROG (Y1_0) (Y2_0) (Y3_0) (Y4_0)
  3141. (Y5_0) (Y6_0) (Y7_0) (Y8_0);
  3142. LL_Z0 = PROG (Z1_0) (Z2_0) (Z3_0) (Z4_0)
  3143. (Z5_0) (Z6_0) (Z7_0) (Z8_0);
  3144. LL_F0 = PROG;
  3145. *
  3146. * deduction of f for each point
  3147. I = 1;
  3148. 'REPE' IND2 (8);
  3149. TTL1 = TABLE;
  3150. TTL1.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  3151. TTL1.'S11' = (EXTR LL_X0 I);
  3152. TTL1.'S22' = (EXTR LL_Y0 I);
  3153. TTL1.'S12' = (EXTR LL_Z0 I);
  3154. TTL1.'FCK' = FCBET1;
  3155. TTL1.'FSK_1' = FSACI1;
  3156. TTL1.'FSK_2' = FSACI1;
  3157. TTL1.'RHO_1' = RHOXS;
  3158. TTL1.'RHO_2' = RHOYS;
  3159. TTL1.'GAMMA_C' = GAMC;
  3160. TTL1.'ALPA_C' = ALPC1;
  3161. TTL1.'NU_C' = NUC1;
  3162. TTL1.'GAMMA_S' = GAMS1;
  3163. LL_F0 = LL_F0 ET
  3164. (PROG (G_ULTI2D TTL1));
  3165. I = I + 1;
  3166. 'FIN' IND2;
  3167. * saving
  3168. TAB_ITE. I_M1 .'L_X' = LL_X0;
  3169. TAB_ITE. I_M1 .'L_Y' = LL_Y0;
  3170. TAB_ITE. I_M1 .'L_Z' = LL_Z0;
  3171. TAB_ITE. I_M1 .'L_F' = LL_F0;
  3172. * finding the minimum value of f and the corresponding point
  3173. EV1 = EVOL MANU LL_I LL_F0;
  3174. II1 II2 VAL_F = MINI EV1;
  3175. * computation of D (gradiant) in case of Point_1=Argmin(fmin)
  3176. 'SI' (II1 'EGA' 1);
  3177. X1_DP = ((N11)*(((-1.0)*(LAMB0 + H_VAL1)))) + N110;
  3178. Y1_DP = ((N22)*(((-1.0)*(LAMB0 + H_VAL1)))) + N220;
  3179. Z1_DP = ((N12)*(((-1.0)*(LAMB0 + H_VAL1)))) + N120;
  3180. X1_DN = ((N11)*(((-1.0)*(LAMB0 - H_VAL1)))) + N110;
  3181. Y1_DN = ((N22)*(((-1.0)*(LAMB0 - H_VAL1)))) + N220;
  3182. Z1_DN = ((N12)*(((-1.0)*(LAMB0 - H_VAL1)))) + N120;
  3183. 'SI' (((X1_DP) '>' ((FSACI1*RHOXS)/(GAMS1)))
  3184. 'OU' ((Y1_DP) '>' ((FSACI1*RHOYS)/(GAMS1))));
  3185. X1_DP = ((N11)*(((-1.0)*(LAMB0)))) + N110;
  3186. Y1_DP = ((N22)*(((-1.0)*(LAMB0)))) + N220;
  3187. Z1_DP = ((N12)*(((-1.0)*(LAMB0)))) + N120;
  3188. X1_DN = ((N11)*(((-1.0)*(LAMB0 - H_VAL1)))) + N110;
  3189. Y1_DN = ((N22)*(((-1.0)*(LAMB0 - H_VAL1)))) + N220;
  3190. Z1_DN = ((N12)*(((-1.0)*(LAMB0 - H_VAL1)))) + N120;
  3191. *
  3192. TTL2 = TABLE;
  3193. TTL2.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  3194. TTL2.'S11' = X1_DP;
  3195. TTL2.'S22' = Y1_DP;
  3196. TTL2.'S12' = Z1_DP;
  3197. TTL2.'FCK' = FCBET1;
  3198. TTL2.'FSK_1' = FSACI1;
  3199. TTL2.'FSK_2' = FSACI1;
  3200. TTL2.'RHO_1' = RHOXS;
  3201. TTL2.'RHO_2' = RHOYS;
  3202. TTL2.'GAMMA_C' = GAMC;
  3203. TTL2.'ALPA_C' = ALPC1;
  3204. TTL2.'NU_C' = NUC1;
  3205. TTL2.'GAMMA_S' = GAMS1;
  3206. TTL3 = TABLE;
  3207. TTL3.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  3208. TTL3.'S11' = X1_DN;
  3209. TTL3.'S22' = Y1_DN;
  3210. TTL3.'S12' = Z1_DN;
  3211. TTL3.'FCK' = FCBET1;
  3212. TTL3.'FSK_1' = FSACI1;
  3213. TTL3.'FSK_2' = FSACI1;
  3214. TTL3.'RHO_1' = RHOXS;
  3215. TTL3.'RHO_2' = RHOYS;
  3216. TTL3.'GAMMA_C' = GAMC;
  3217. TTL3.'ALPA_C' = ALPC1;
  3218. TTL3.'NU_C' = NUC1;
  3219. TTL3.'GAMMA_S' = GAMS1;
  3220. D_VAL1 = ((G_ULTI2D TTL2) - (G_ULTI2D TTL3))/((1.0)*(H_VAL1));
  3221. 'SINON';
  3222. 'SI' (((X1_DN) '<' (((-1.0)*(((FCBET1*ALPC1)*(NUC1))/(ALPC1)))
  3223. + ((-1.0)*((FSACI1*RHOXS)/(GAMS1)))))
  3224. 'OU' ((Y1_DN) '<' (((-1.0)*(((FCBET1*ALPC1)*(NUC1))/(ALPC1)))
  3225. + ((-1.0)*((FSACI1*RHOYS)/(GAMS1))))));
  3226. X1_DP = ((N11)*(((-1.0)*(LAMB0 + H_VAL1)))) + N110;
  3227. Y1_DP = ((N22)*(((-1.0)*(LAMB0 + H_VAL1)))) + N220;
  3228. Z1_DP = ((N12)*(((-1.0)*(LAMB0 + H_VAL1)))) + N120;
  3229. X1_DN = ((N11)*(((-1.0)*(LAMB0)))) + N110;
  3230. Y1_DN = ((N22)*(((-1.0)*(LAMB0)))) + N220;
  3231. Z1_DN = ((N12)*(((-1.0)*(LAMB0)))) + N120;
  3232. *
  3233. TTL2 = TABLE;
  3234. TTL2.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  3235. TTL2.'S11' = X1_DP;
  3236. TTL2.'S22' = Y1_DP;
  3237. TTL2.'S12' = Z1_DP;
  3238. TTL2.'FCK' = FCBET1;
  3239. TTL2.'FSK_1' = FSACI1;
  3240. TTL2.'FSK_2' = FSACI1;
  3241. TTL2.'RHO_1' = RHOXS;
  3242. TTL2.'RHO_2' = RHOYS;
  3243. TTL2.'GAMMA_C' = GAMC;
  3244. TTL2.'ALPA_C' = ALPC1;
  3245. TTL2.'NU_C' = NUC1;
  3246. TTL2.'GAMMA_S' = GAMS1;
  3247. TTL3 = TABLE;
  3248. TTL3.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  3249. TTL3.'S11' = X1_DN;
  3250. TTL3.'S22' = Y1_DN;
  3251. TTL3.'S12' = Z1_DN;
  3252. TTL3.'FCK' = FCBET1;
  3253. TTL3.'FSK_1' = FSACI1;
  3254. TTL3.'FSK_2' = FSACI1;
  3255. TTL3.'RHO_1' = RHOXS;
  3256. TTL3.'RHO_2' = RHOYS;
  3257. TTL3.'GAMMA_C' = GAMC;
  3258. TTL3.'ALPA_C' = ALPC1;
  3259. TTL3.'NU_C' = NUC1;
  3260. TTL3.'GAMMA_S' = GAMS1;
  3261. D_VAL1 = ((G_ULTI2D TTL2) - (G_ULTI2D TTL3))/((1.0)*(H_VAL1));
  3262. 'SINON';
  3263. TTL2 = TABLE;
  3264. TTL2.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  3265. TTL2.'S11' = X1_DP;
  3266. TTL2.'S22' = Y1_DP;
  3267. TTL2.'S12' = Z1_DP;
  3268. TTL2.'FCK' = FCBET1;
  3269. TTL2.'FSK_1' = FSACI1;
  3270. TTL2.'FSK_2' = FSACI1;
  3271. TTL2.'RHO_1' = RHOXS;
  3272. TTL2.'RHO_2' = RHOYS;
  3273. TTL2.'GAMMA_C' = GAMC;
  3274. TTL2.'ALPA_C' = ALPC1;
  3275. TTL2.'NU_C' = NUC1;
  3276. TTL2.'GAMMA_S' = GAMS1;
  3277. TTL3 = TABLE;
  3278. TTL3.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  3279. TTL3.'S11' = X1_DN;
  3280. TTL3.'S22' = Y1_DN;
  3281. TTL3.'S12' = Z1_DN;
  3282. TTL3.'FCK' = FCBET1;
  3283. TTL3.'FSK_1' = FSACI1;
  3284. TTL3.'FSK_2' = FSACI1;
  3285. TTL3.'RHO_1' = RHOXS;
  3286. TTL3.'RHO_2' = RHOYS;
  3287. TTL3.'GAMMA_C' = GAMC;
  3288. TTL3.'ALPA_C' = ALPC1;
  3289. TTL3.'NU_C' = NUC1;
  3290. TTL3.'GAMMA_S' = GAMS1;
  3291. D_VAL1 = ((G_ULTI2D TTL2) - (G_ULTI2D TTL3))/((2.0)*(H_VAL1));
  3292. 'FINSI';
  3293. 'FINSI';
  3294. 'FINSI';
  3295. * computation of D (gradiant) in case of Point_2=Argmin(fmin)
  3296. 'SI' (II1 'EGA' 2);
  3297. X2_DP = ((N11)*(((1.0)*(LAMB0 + H_VAL1)))) + N110;
  3298. Y2_DP = ((N22)*(((-1.0)*(LAMB0 + H_VAL1)))) + N220;
  3299. Z2_DP = ((N12)*(((-1.0)*(LAMB0 + H_VAL1)))) + N120;
  3300. X2_DN = ((N11)*(((1.0)*(LAMB0 - H_VAL1)))) + N110;
  3301. Y2_DN = ((N22)*(((-1.0)*(LAMB0 - H_VAL1)))) + N220;
  3302. Z2_DN = ((N12)*(((-1.0)*(LAMB0 - H_VAL1)))) + N120;
  3303. 'SI' (((X2_DP) '>' ((FSACI1*RHOXS)/(GAMS1)))
  3304. 'OU' ((Y2_DP) '>' ((FSACI1*RHOYS)/(GAMS1))));
  3305. X2_DP = ((N11)*(((1.0)*(LAMB0)))) + N110;
  3306. Y2_DP = ((N22)*(((-1.0)*(LAMB0)))) + N220;
  3307. Z2_DP = ((N12)*(((-1.0)*(LAMB0)))) + N120;
  3308. X2_DN = ((N11)*(((1.0)*(LAMB0 - H_VAL1)))) + N110;
  3309. Y2_DN = ((N22)*(((-1.0)*(LAMB0 - H_VAL1)))) + N220;
  3310. Z2_DN = ((N12)*(((-1.0)*(LAMB0 - H_VAL1)))) + N120;
  3311. *
  3312. TTL2 = TABLE;
  3313. TTL2.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  3314. TTL2.'S11' = X2_DP;
  3315. TTL2.'S22' = Y2_DP;
  3316. TTL2.'S12' = Z2_DP;
  3317. TTL2.'FCK' = FCBET1;
  3318. TTL2.'FSK_1' = FSACI1;
  3319. TTL2.'FSK_2' = FSACI1;
  3320. TTL2.'RHO_1' = RHOXS;
  3321. TTL2.'RHO_2' = RHOYS;
  3322. TTL2.'GAMMA_C' = GAMC;
  3323. TTL2.'ALPA_C' = ALPC1;
  3324. TTL2.'NU_C' = NUC1;
  3325. TTL2.'GAMMA_S' = GAMS1;
  3326. TTL3 = TABLE;
  3327. TTL3.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  3328. TTL3.'S11' = X2_DN;
  3329. TTL3.'S22' = Y2_DN;
  3330. TTL3.'S12' = Z2_DN;
  3331. TTL3.'FCK' = FCBET1;
  3332. TTL3.'FSK_1' = FSACI1;
  3333. TTL3.'FSK_2' = FSACI1;
  3334. TTL3.'RHO_1' = RHOXS;
  3335. TTL3.'RHO_2' = RHOYS;
  3336. TTL3.'GAMMA_C' = GAMC;
  3337. TTL3.'ALPA_C' = ALPC1;
  3338. TTL3.'NU_C' = NUC1;
  3339. TTL3.'GAMMA_S' = GAMS1;
  3340. D_VAL1 = ((G_ULTI2D TTL2) - (G_ULTI2D TTL3))/((1.0)*(H_VAL1));
  3341. 'SINON';
  3342. 'SI' (((X2_DN) '<' (((-1.0)*(((FCBET1*ALPC1)*(NUC1))/(ALPC1)))
  3343. + ((-1.0)*((FSACI1*RHOXS)/(GAMS1)))))
  3344. 'OU' ((Y2_DN) '<' (((-1.0)*(((FCBET1*ALPC1)*(NUC1))/(ALPC1)))
  3345. + ((-1.0)*((FSACI1*RHOYS)/(GAMS1))))));
  3346. X2_DP = ((N11)*(((1.0)*(LAMB0 + H_VAL1)))) + N110;
  3347. Y2_DP = ((N22)*(((-1.0)*(LAMB0 + H_VAL1)))) + N220;
  3348. Z2_DP = ((N12)*(((-1.0)*(LAMB0 + H_VAL1)))) + N120;
  3349. X2_DN = ((N11)*(((1.0)*(LAMB0)))) + N110;
  3350. Y2_DN = ((N22)*(((-1.0)*(LAMB0)))) + N220;
  3351. Z2_DN = ((N12)*(((-1.0)*(LAMB0)))) + N120;
  3352. *
  3353. TTL2 = TABLE;
  3354. TTL2.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  3355. TTL2.'S11' = X2_DP;
  3356. TTL2.'S22' = Y2_DP;
  3357. TTL2.'S12' = Z2_DP;
  3358. TTL2.'FCK' = FCBET1;
  3359. TTL2.'FSK_1' = FSACI1;
  3360. TTL2.'FSK_2' = FSACI1;
  3361. TTL2.'RHO_1' = RHOXS;
  3362. TTL2.'RHO_2' = RHOYS;
  3363. TTL2.'GAMMA_C' = GAMC;
  3364. TTL2.'ALPA_C' = ALPC1;
  3365. TTL2.'NU_C' = NUC1;
  3366. TTL2.'GAMMA_S' = GAMS1;
  3367. TTL3 = TABLE;
  3368. TTL3.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  3369. TTL3.'S11' = X2_DN;
  3370. TTL3.'S22' = Y2_DN;
  3371. TTL3.'S12' = Z2_DN;
  3372. TTL3.'FCK' = FCBET1;
  3373. TTL3.'FSK_1' = FSACI1;
  3374. TTL3.'FSK_2' = FSACI1;
  3375. TTL3.'RHO_1' = RHOXS;
  3376. TTL3.'RHO_2' = RHOYS;
  3377. TTL3.'GAMMA_C' = GAMC;
  3378. TTL3.'ALPA_C' = ALPC1;
  3379. TTL3.'NU_C' = NUC1;
  3380. TTL3.'GAMMA_S' = GAMS1;
  3381. D_VAL1 = ((G_ULTI2D TTL2) - (G_ULTI2D TTL3))/((1.0)*(H_VAL1));
  3382. 'SINON';
  3383. TTL2 = TABLE;
  3384. TTL2.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  3385. TTL2.'S11' = X2_DP;
  3386. TTL2.'S22' = Y2_DP;
  3387. TTL2.'S12' = Z2_DP;
  3388. TTL2.'FCK' = FCBET1;
  3389. TTL2.'FSK_1' = FSACI1;
  3390. TTL2.'FSK_2' = FSACI1;
  3391. TTL2.'RHO_1' = RHOXS;
  3392. TTL2.'RHO_2' = RHOYS;
  3393. TTL2.'GAMMA_C' = GAMC;
  3394. TTL2.'ALPA_C' = ALPC1;
  3395. TTL2.'NU_C' = NUC1;
  3396. TTL2.'GAMMA_S' = GAMS1;
  3397. TTL3 = TABLE;
  3398. TTL3.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  3399. TTL3.'S11' = X2_DN;
  3400. TTL3.'S22' = Y2_DN;
  3401. TTL3.'S12' = Z2_DN;
  3402. TTL3.'FCK' = FCBET1;
  3403. TTL3.'FSK_1' = FSACI1;
  3404. TTL3.'FSK_2' = FSACI1;
  3405. TTL3.'RHO_1' = RHOXS;
  3406. TTL3.'RHO_2' = RHOYS;
  3407. TTL3.'GAMMA_C' = GAMC;
  3408. TTL3.'ALPA_C' = ALPC1;
  3409. TTL3.'NU_C' = NUC1;
  3410. TTL3.'GAMMA_S' = GAMS1;
  3411. D_VAL1 = ((G_ULTI2D TTL2) - (G_ULTI2D TTL3))/((2.0)*(H_VAL1));
  3412. 'FINSI';
  3413. 'FINSI';
  3414. 'FINSI';
  3415. * computation of D (gradiant) in case of Point_3=Argmin(fmin)
  3416. 'SI' (II1 'EGA' 3);
  3417. X3_DP = ((N11)*(((1.0)*(LAMB0 + H_VAL1)))) + N110;
  3418. Y3_DP = ((N22)*(((1.0)*(LAMB0 + H_VAL1)))) + N220;
  3419. Z3_DP = ((N12)*(((-1.0)*(LAMB0 + H_VAL1)))) + N120;
  3420. X3_DN = ((N11)*(((1.0)*(LAMB0 - H_VAL1)))) + N110;
  3421. Y3_DN = ((N22)*(((1.0)*(LAMB0 - H_VAL1)))) + N220;
  3422. Z3_DN = ((N12)*(((-1.0)*(LAMB0 - H_VAL1)))) + N120;
  3423. 'SI' (((X3_DP) '>' ((FSACI1*RHOXS)/(GAMS1)))
  3424. 'OU' ((Y3_DP) '>' ((FSACI1*RHOYS)/(GAMS1))));
  3425. X3_DP = ((N11)*(((1.0)*(LAMB0)))) + N110;
  3426. Y3_DP = ((N22)*(((1.0)*(LAMB0)))) + N220;
  3427. Z3_DP = ((N12)*(((-1.0)*(LAMB0)))) + N120;
  3428. X3_DN = ((N11)*(((1.0)*(LAMB0 - H_VAL1)))) + N110;
  3429. Y3_DN = ((N22)*(((1.0)*(LAMB0 - H_VAL1)))) + N220;
  3430. Z3_DN = ((N12)*(((-1.0)*(LAMB0 - H_VAL1)))) + N120;
  3431. *
  3432. TTL2 = TABLE;
  3433. TTL2.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  3434. TTL2.'S11' = X3_DP;
  3435. TTL2.'S22' = Y3_DP;
  3436. TTL2.'S12' = Z3_DP;
  3437. TTL2.'FCK' = FCBET1;
  3438. TTL2.'FSK_1' = FSACI1;
  3439. TTL2.'FSK_2' = FSACI1;
  3440. TTL2.'RHO_1' = RHOXS;
  3441. TTL2.'RHO_2' = RHOYS;
  3442. TTL2.'GAMMA_C' = GAMC;
  3443. TTL2.'ALPA_C' = ALPC1;
  3444. TTL2.'NU_C' = NUC1;
  3445. TTL2.'GAMMA_S' = GAMS1;
  3446. TTL3 = TABLE;
  3447. TTL3.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  3448. TTL3.'S11' = X3_DN;
  3449. TTL3.'S22' = Y3_DN;
  3450. TTL3.'S12' = Z3_DN;
  3451. TTL3.'FCK' = FCBET1;
  3452. TTL3.'FSK_1' = FSACI1;
  3453. TTL3.'FSK_2' = FSACI1;
  3454. TTL3.'RHO_1' = RHOXS;
  3455. TTL3.'RHO_2' = RHOYS;
  3456. TTL3.'GAMMA_C' = GAMC;
  3457. TTL3.'ALPA_C' = ALPC1;
  3458. TTL3.'NU_C' = NUC1;
  3459. TTL3.'GAMMA_S' = GAMS1;
  3460. D_VAL1 = ((G_ULTI2D TTL2) - (G_ULTI2D TTL3))/((1.0)*(H_VAL1));
  3461. 'SINON';
  3462. 'SI' (((X3_DN) '<' (((-1.0)*(((FCBET1*ALPC1)*(NUC1))/(ALPC1)))
  3463. + ((-1.0)*((FSACI1*RHOXS)/(GAMS1)))))
  3464. 'OU' ((Y3_DN) '<' (((-1.0)*(((FCBET1*ALPC1)*(NUC1))/(ALPC1)))
  3465. + ((-1.0)*((FSACI1*RHOYS)/(GAMS1))))));
  3466. X3_DP = ((N11)*(((1.0)*(LAMB0 + H_VAL1)))) + N110;
  3467. Y3_DP = ((N22)*(((1.0)*(LAMB0 + H_VAL1)))) + N220;
  3468. Z3_DP = ((N12)*(((-1.0)*(LAMB0 + H_VAL1)))) + N120;
  3469. X3_DN = ((N11)*(((1.0)*(LAMB0)))) + N110;
  3470. Y3_DN = ((N22)*(((1.0)*(LAMB0)))) + N220;
  3471. Z3_DN = ((N12)*(((-1.0)*(LAMB0)))) + N120;
  3472. *
  3473. TTL2 = TABLE;
  3474. TTL2.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  3475. TTL2.'S11' = X3_DP;
  3476. TTL2.'S22' = Y3_DP;
  3477. TTL2.'S12' = Z3_DP;
  3478. TTL2.'FCK' = FCBET1;
  3479. TTL2.'FSK_1' = FSACI1;
  3480. TTL2.'FSK_2' = FSACI1;
  3481. TTL2.'RHO_1' = RHOXS;
  3482. TTL2.'RHO_2' = RHOYS;
  3483. TTL2.'GAMMA_C' = GAMC;
  3484. TTL2.'ALPA_C' = ALPC1;
  3485. TTL2.'NU_C' = NUC1;
  3486. TTL2.'GAMMA_S' = GAMS1;
  3487. TTL3 = TABLE;
  3488. TTL3.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  3489. TTL3.'S11' = X3_DN;
  3490. TTL3.'S22' = Y3_DN;
  3491. TTL3.'S12' = Z3_DN;
  3492. TTL3.'FCK' = FCBET1;
  3493. TTL3.'FSK_1' = FSACI1;
  3494. TTL3.'FSK_2' = FSACI1;
  3495. TTL3.'RHO_1' = RHOXS;
  3496. TTL3.'RHO_2' = RHOYS;
  3497. TTL3.'GAMMA_C' = GAMC;
  3498. TTL3.'ALPA_C' = ALPC1;
  3499. TTL3.'NU_C' = NUC1;
  3500. TTL3.'GAMMA_S' = GAMS1;
  3501. D_VAL1 = ((G_ULTI2D TTL2) - (G_ULTI2D TTL3))/((1.0)*(H_VAL1));
  3502. 'SINON';
  3503. TTL2 = TABLE;
  3504. TTL2.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  3505. TTL2.'S11' = X3_DP;
  3506. TTL2.'S22' = Y3_DP;
  3507. TTL2.'S12' = Z3_DP;
  3508. TTL2.'FCK' = FCBET1;
  3509. TTL2.'FSK_1' = FSACI1;
  3510. TTL2.'FSK_2' = FSACI1;
  3511. TTL2.'RHO_1' = RHOXS;
  3512. TTL2.'RHO_2' = RHOYS;
  3513. TTL2.'GAMMA_C' = GAMC;
  3514. TTL2.'ALPA_C' = ALPC1;
  3515. TTL2.'NU_C' = NUC1;
  3516. TTL2.'GAMMA_S' = GAMS1;
  3517. TTL3 = TABLE;
  3518. TTL3.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  3519. TTL3.'S11' = X3_DN;
  3520. TTL3.'S22' = Y3_DN;
  3521. TTL3.'S12' = Z3_DN;
  3522. TTL3.'FCK' = FCBET1;
  3523. TTL3.'FSK_1' = FSACI1;
  3524. TTL3.'FSK_2' = FSACI1;
  3525. TTL3.'RHO_1' = RHOXS;
  3526. TTL3.'RHO_2' = RHOYS;
  3527. TTL3.'GAMMA_C' = GAMC;
  3528. TTL3.'ALPA_C' = ALPC1;
  3529. TTL3.'NU_C' = NUC1;
  3530. TTL3.'GAMMA_S' = GAMS1;
  3531. D_VAL1 = ((G_ULTI2D TTL2) - (G_ULTI2D TTL3))/((2.0)*(H_VAL1));
  3532. 'FINSI';
  3533. 'FINSI';
  3534. 'FINSI';
  3535. * computation of D (gradiant) in case of Point_4=Argmin(fmin)
  3536. 'SI' (II1 'EGA' 4);
  3537. X4_DP = ((N11)*(((-1.0)*(LAMB0 + H_VAL1)))) + N110;
  3538. Y4_DP = ((N22)*(((1.0)*(LAMB0 + H_VAL1)))) + N220;
  3539. Z4_DP = ((N12)*(((-1.0)*(LAMB0 + H_VAL1)))) + N120;
  3540. X4_DN = ((N11)*(((-1.0)*(LAMB0 - H_VAL1)))) + N110;
  3541. Y4_DN = ((N22)*(((1.0)*(LAMB0 - H_VAL1)))) + N220;
  3542. Z4_DN = ((N12)*(((-1.0)*(LAMB0 - H_VAL1)))) + N120;
  3543. 'SI' (((X4_DP) '>' ((FSACI1*RHOXS)/(GAMS1)))
  3544. 'OU' ((Y4_DP) '>' ((FSACI1*RHOYS)/(GAMS1))));
  3545. X4_DP = ((N11)*(((-1.0)*(LAMB0)))) + N110;
  3546. Y4_DP = ((N22)*(((1.0)*(LAMB0)))) + N220;
  3547. Z4_DP = ((N12)*(((-1.0)*(LAMB0)))) + N120;
  3548. X4_DN = ((N11)*(((-1.0)*(LAMB0 - H_VAL1)))) + N110;
  3549. Y4_DN = ((N22)*(((1.0)*(LAMB0 - H_VAL1)))) + N220;
  3550. Z4_DN = ((N12)*(((-1.0)*(LAMB0 - H_VAL1)))) + N120;
  3551. *
  3552. TTL2 = TABLE;
  3553. TTL2.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  3554. TTL2.'S11' = X4_DP;
  3555. TTL2.'S22' = Y4_DP;
  3556. TTL2.'S12' = Z4_DP;
  3557. TTL2.'FCK' = FCBET1;
  3558. TTL2.'FSK_1' = FSACI1;
  3559. TTL2.'FSK_2' = FSACI1;
  3560. TTL2.'RHO_1' = RHOXS;
  3561. TTL2.'RHO_2' = RHOYS;
  3562. TTL2.'GAMMA_C' = GAMC;
  3563. TTL2.'ALPA_C' = ALPC1;
  3564. TTL2.'NU_C' = NUC1;
  3565. TTL2.'GAMMA_S' = GAMS1;
  3566. TTL3 = TABLE;
  3567. TTL3.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  3568. TTL3.'S11' = X4_DN;
  3569. TTL3.'S22' = Y4_DN;
  3570. TTL3.'S12' = Z4_DN;
  3571. TTL3.'FCK' = FCBET1;
  3572. TTL3.'FSK_1' = FSACI1;
  3573. TTL3.'FSK_2' = FSACI1;
  3574. TTL3.'RHO_1' = RHOXS;
  3575. TTL3.'RHO_2' = RHOYS;
  3576. TTL3.'GAMMA_C' = GAMC;
  3577. TTL3.'ALPA_C' = ALPC1;
  3578. TTL3.'NU_C' = NUC1;
  3579. TTL3.'GAMMA_S' = GAMS1;
  3580. D_VAL1 = ((G_ULTI2D TTL2) - (G_ULTI2D TTL3))/((1.0)*(H_VAL1));
  3581. 'SINON';
  3582. 'SI' (((X4_DN) '>' (((-1.0)*(((FCBET1*ALPC1)*(NUC1))/(ALPC1)))
  3583. + ((-1.0)*((FSACI1*RHOXS)/(GAMS1)))))
  3584. 'OU' ((Y4_DN) '>' (((-1.0)*(((FCBET1*ALPC1)*(NUC1))/(ALPC1)))
  3585. + ((-1.0)*((FSACI1*RHOYS)/(GAMS1))))));
  3586. X4_DP = ((N11)*(((-1.0)*(LAMB0 + H_VAL1)))) + N110;
  3587. Y4_DP = ((N22)*(((1.0)*(LAMB0 + H_VAL1)))) + N220;
  3588. Z4_DP = ((N12)*(((-1.0)*(LAMB0 + H_VAL1)))) + N120;
  3589. X4_DN = ((N11)*(((-1.0)*(LAMB0)))) + N110;
  3590. Y4_DN = ((N22)*(((1.0)*(LAMB0)))) + N220;
  3591. Z4_DN = ((N12)*(((-1.0)*(LAMB0)))) + N120;
  3592. *
  3593. TTL2 = TABLE;
  3594. TTL2.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  3595. TTL2.'S11' = X4_DP;
  3596. TTL2.'S22' = Y4_DP;
  3597. TTL2.'S12' = Z4_DP;
  3598. TTL2.'FCK' = FCBET1;
  3599. TTL2.'FSK_1' = FSACI1;
  3600. TTL2.'FSK_2' = FSACI1;
  3601. TTL2.'RHO_1' = RHOXS;
  3602. TTL2.'RHO_2' = RHOYS;
  3603. TTL2.'GAMMA_C' = GAMC;
  3604. TTL2.'ALPA_C' = ALPC1;
  3605. TTL2.'NU_C' = NUC1;
  3606. TTL2.'GAMMA_S' = GAMS1;
  3607. TTL3 = TABLE;
  3608. TTL3.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  3609. TTL3.'S11' = X4_DN;
  3610. TTL3.'S22' = Y4_DN;
  3611. TTL3.'S12' = Z4_DN;
  3612. TTL3.'FCK' = FCBET1;
  3613. TTL3.'FSK_1' = FSACI1;
  3614. TTL3.'FSK_2' = FSACI1;
  3615. TTL3.'RHO_1' = RHOXS;
  3616. TTL3.'RHO_2' = RHOYS;
  3617. TTL3.'GAMMA_C' = GAMC;
  3618. TTL3.'ALPA_C' = ALPC1;
  3619. TTL3.'NU_C' = NUC1;
  3620. TTL3.'GAMMA_S' = GAMS1;
  3621. D_VAL1 = ((G_ULTI2D TTL2) - (G_ULTI2D TTL3))/((1.0)*(H_VAL1));
  3622. 'SINON';
  3623. TTL2 = TABLE;
  3624. TTL2.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  3625. TTL2.'S11' = X4_DP;
  3626. TTL2.'S22' = Y4_DP;
  3627. TTL2.'S12' = Z4_DP;
  3628. TTL2.'FCK' = FCBET1;
  3629. TTL2.'FSK_1' = FSACI1;
  3630. TTL2.'FSK_2' = FSACI1;
  3631. TTL2.'RHO_1' = RHOXS;
  3632. TTL2.'RHO_2' = RHOYS;
  3633. TTL2.'GAMMA_C' = GAMC;
  3634. TTL2.'ALPA_C' = ALPC1;
  3635. TTL2.'NU_C' = NUC1;
  3636. TTL2.'GAMMA_S' = GAMS1;
  3637. TTL3 = TABLE;
  3638. TTL3.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  3639. TTL3.'S11' = X4_DN;
  3640. TTL3.'S22' = Y4_DN;
  3641. TTL3.'S12' = Z4_DN;
  3642. TTL3.'FCK' = FCBET1;
  3643. TTL3.'FSK_1' = FSACI1;
  3644. TTL3.'FSK_2' = FSACI1;
  3645. TTL3.'RHO_1' = RHOXS;
  3646. TTL3.'RHO_2' = RHOYS;
  3647. TTL3.'GAMMA_C' = GAMC;
  3648. TTL3.'ALPA_C' = ALPC1;
  3649. TTL3.'NU_C' = NUC1;
  3650. TTL3.'GAMMA_S' = GAMS1;
  3651. D_VAL1 = ((G_ULTI2D TTL2) - (G_ULTI2D TTL3))/((2.0)*(H_VAL1));
  3652. 'FINSI';
  3653. 'FINSI';
  3654. 'FINSI';
  3655. * computation of D (gradiant) in case of Point_5=Argmin(fmin)
  3656. 'SI' (II1 'EGA' 5);
  3657. X5_DP = ((N11)*(((-1.0)*(LAMB0) + H_VAL1))) + N110;
  3658. Y5_DP = ((N22)*(((-1.0)*(LAMB0) + H_VAL1))) + N220;
  3659. Z5_DP = ((N12)*(((1.0)*(LAMB0) + H_VAL1))) + N120;
  3660. X5_DN = ((N11)*(((-1.0)*(LAMB0) - H_VAL1))) + N110;
  3661. Y5_DN = ((N22)*(((-1.0)*(LAMB0) - H_VAL1))) + N220;
  3662. Z5_DN = ((N12)*(((1.0)*(LAMB0) - H_VAL1))) + N120;
  3663. 'SI' (((X5_DP) '>' ((FSACI1*RHOXS)/(GAMS1)))
  3664. 'OU' ((Y5_DP) '>' ((FSACI1*RHOYS)/(GAMS1))));
  3665. X5_DP = ((N11)*(((-1.0)*(LAMB0)))) + N110;
  3666. Y5_DP = ((N22)*(((-1.0)*(LAMB0)))) + N220;
  3667. Z5_DP = ((N12)*(((1.0)*(LAMB0)))) + N120;
  3668. X5_DN = ((N11)*(((-1.0)*(LAMB0 - H_VAL1)))) + N110;
  3669. Y5_DN = ((N22)*(((-1.0)*(LAMB0 - H_VAL1)))) + N220;
  3670. Z5_DN = ((N12)*(((1.0)*(LAMB0 - H_VAL1)))) + N120;
  3671. *
  3672. TTL2 = TABLE;
  3673. TTL2.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  3674. TTL2.'S11' = X5_DP;
  3675. TTL2.'S22' = Y5_DP;
  3676. TTL2.'S12' = Z5_DP;
  3677. TTL2.'FCK' = FCBET1;
  3678. TTL2.'FSK_1' = FSACI1;
  3679. TTL2.'FSK_2' = FSACI1;
  3680. TTL2.'RHO_1' = RHOXS;
  3681. TTL2.'RHO_2' = RHOYS;
  3682. TTL2.'GAMMA_C' = GAMC;
  3683. TTL2.'ALPA_C' = ALPC1;
  3684. TTL2.'NU_C' = NUC1;
  3685. TTL2.'GAMMA_S' = GAMS1;
  3686. TTL3 = TABLE;
  3687. TTL3.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  3688. TTL3.'S11' = X5_DN;
  3689. TTL3.'S22' = Y5_DN;
  3690. TTL3.'S12' = Z5_DN;
  3691. TTL3.'FCK' = FCBET1;
  3692. TTL3.'FSK_1' = FSACI1;
  3693. TTL3.'FSK_2' = FSACI1;
  3694. TTL3.'RHO_1' = RHOXS;
  3695. TTL3.'RHO_2' = RHOYS;
  3696. TTL3.'GAMMA_C' = GAMC;
  3697. TTL3.'ALPA_C' = ALPC1;
  3698. TTL3.'NU_C' = NUC1;
  3699. TTL3.'GAMMA_S' = GAMS1;
  3700. D_VAL1 = ((G_ULTI2D TTL2) - (G_ULTI2D TTL3))/((1.0)*(H_VAL1));
  3701. 'SINON';
  3702. 'SI' (((X5_DN) '>' (((-1.0)*(((FCBET1*ALPC1)*(NUC1))/(ALPC1)))
  3703. + ((-1.0)*((FSACI1*RHOXS)/(GAMS1)))))
  3704. 'OU' ((Y5_DN) '>' (((-1.0)*(((FCBET1*ALPC1)*(NUC1))/(ALPC1)))
  3705. + ((-1.0)*((FSACI1*RHOYS)/(GAMS1))))));
  3706. X5_DP = ((N11)*(((-1.0)*(LAMB0 + H_VAL1)))) + N110;
  3707. Y5_DP = ((N22)*(((-1.0)*(LAMB0 + H_VAL1)))) + N220;
  3708. Z5_DP = ((N12)*(((1.0)*(LAMB0 + H_VAL1)))) + N120;
  3709. X5_DN = ((N11)*(((-1.0)*(LAMB0)))) + N110;
  3710. Y5_DN = ((N22)*(((-1.0)*(LAMB0)))) + N220;
  3711. Z5_DN = ((N12)*(((1.0)*(LAMB0)))) + N120;
  3712. *
  3713. TTL2 = TABLE;
  3714. TTL2.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  3715. TTL2.'S11' = X5_DP;
  3716. TTL2.'S22' = Y5_DP;
  3717. TTL2.'S12' = Z5_DP;
  3718. TTL2.'FCK' = FCBET1;
  3719. TTL2.'FSK_1' = FSACI1;
  3720. TTL2.'FSK_2' = FSACI1;
  3721. TTL2.'RHO_1' = RHOXS;
  3722. TTL2.'RHO_2' = RHOYS;
  3723. TTL2.'GAMMA_C' = GAMC;
  3724. TTL2.'ALPA_C' = ALPC1;
  3725. TTL2.'NU_C' = NUC1;
  3726. TTL2.'GAMMA_S' = GAMS1;
  3727. TTL3 = TABLE;
  3728. TTL3.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  3729. TTL3.'S11' = X5_DN;
  3730. TTL3.'S22' = Y5_DN;
  3731. TTL3.'S12' = Z5_DN;
  3732. TTL3.'FCK' = FCBET1;
  3733. TTL3.'FSK_1' = FSACI1;
  3734. TTL3.'FSK_2' = FSACI1;
  3735. TTL3.'RHO_1' = RHOXS;
  3736. TTL3.'RHO_2' = RHOYS;
  3737. TTL3.'GAMMA_C' = GAMC;
  3738. TTL3.'ALPA_C' = ALPC1;
  3739. TTL3.'NU_C' = NUC1;
  3740. TTL3.'GAMMA_S' = GAMS1;
  3741. D_VAL1 = ((G_ULTI2D TTL2) - (G_ULTI2D TTL3))/((1.0)*(H_VAL1));
  3742. 'SINON';
  3743. TTL2 = TABLE;
  3744. TTL2.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  3745. TTL2.'S11' = X5_DP;
  3746. TTL2.'S22' = Y5_DP;
  3747. TTL2.'S12' = Z5_DP;
  3748. TTL2.'FCK' = FCBET1;
  3749. TTL2.'FSK_1' = FSACI1;
  3750. TTL2.'FSK_2' = FSACI1;
  3751. TTL2.'RHO_1' = RHOXS;
  3752. TTL2.'RHO_2' = RHOYS;
  3753. TTL2.'GAMMA_C' = GAMC;
  3754. TTL2.'ALPA_C' = ALPC1;
  3755. TTL2.'NU_C' = NUC1;
  3756. TTL2.'GAMMA_S' = GAMS1;
  3757. TTL3 = TABLE;
  3758. TTL3.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  3759. TTL3.'S11' = X5_DN;
  3760. TTL3.'S22' = Y5_DN;
  3761. TTL3.'S12' = Z5_DN;
  3762. TTL3.'FCK' = FCBET1;
  3763. TTL3.'FSK_1' = FSACI1;
  3764. TTL3.'FSK_2' = FSACI1;
  3765. TTL3.'RHO_1' = RHOXS;
  3766. TTL3.'RHO_2' = RHOYS;
  3767. TTL3.'GAMMA_C' = GAMC;
  3768. TTL3.'ALPA_C' = ALPC1;
  3769. TTL3.'NU_C' = NUC1;
  3770. TTL3.'GAMMA_S' = GAMS1;
  3771. D_VAL1 = ((G_ULTI2D TTL2) - (G_ULTI2D TTL3))/((2.0)*(H_VAL1));
  3772. 'FINSI';
  3773. 'FINSI';
  3774. 'FINSI';
  3775. * computation of D (gradiant) in case of Point_6=Argmin(fmin)
  3776. 'SI' (II1 'EGA' 6);
  3777. X6_DP = ((N11)*(((1.0)*(LAMB0 + H_VAL1)))) + N110;
  3778. Y6_DP = ((N22)*(((-1.0)*(LAMB0 + H_VAL1)))) + N220;
  3779. Z6_DP = ((N12)*(((1.0)*(LAMB0 + H_VAL1)))) + N120;
  3780. X6_DN = ((N11)*(((1.0)*(LAMB0 - H_VAL1)))) + N110;
  3781. Y6_DN = ((N22)*(((-1.0)*(LAMB0 - H_VAL1)))) + N220;
  3782. Z6_DN = ((N12)*(((1.0)*(LAMB0 - H_VAL1)))) + N120;
  3783. 'SI' (((X6_DP) '>' ((FSACI1*RHOXS)/(GAMS1)))
  3784. 'OU' ((Y6_DP) '>' ((FSACI1*RHOYS)/(GAMS1))));
  3785. X6_DP = ((N11)*(((1.0)*(LAMB0)))) + N110;
  3786. Y6_DP = ((N22)*(((-1.0)*(LAMB0)))) + N220;
  3787. Z6_DP = ((N12)*(((1.0)*(LAMB0)))) + N120;
  3788. X6_DN = ((N11)*(((1.0)*(LAMB0 - H_VAL1)))) + N110;
  3789. Y6_DN = ((N22)*(((-1.0)*(LAMB0 - H_VAL1)))) + N220;
  3790. Z6_DN = ((N12)*(((1.0)*(LAMB0 - H_VAL1)))) + N120;
  3791. *
  3792. TTL2 = TABLE;
  3793. TTL2.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  3794. TTL2.'S11' = X6_DP;
  3795. TTL2.'S22' = Y6_DP;
  3796. TTL2.'S12' = Z6_DP;
  3797. TTL2.'FCK' = FCBET1;
  3798. TTL2.'FSK_1' = FSACI1;
  3799. TTL2.'FSK_2' = FSACI1;
  3800. TTL2.'RHO_1' = RHOXS;
  3801. TTL2.'RHO_2' = RHOYS;
  3802. TTL2.'GAMMA_C' = GAMC;
  3803. TTL2.'ALPA_C' = ALPC1;
  3804. TTL2.'NU_C' = NUC1;
  3805. TTL2.'GAMMA_S' = GAMS1;
  3806. TTL3 = TABLE;
  3807. TTL3.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  3808. TTL3.'S11' = X6_DN;
  3809. TTL3.'S22' = Y6_DN;
  3810. TTL3.'S12' = Z6_DN;
  3811. TTL3.'FCK' = FCBET1;
  3812. TTL3.'FSK_1' = FSACI1;
  3813. TTL3.'FSK_2' = FSACI1;
  3814. TTL3.'RHO_1' = RHOXS;
  3815. TTL3.'RHO_2' = RHOYS;
  3816. TTL3.'GAMMA_C' = GAMC;
  3817. TTL3.'ALPA_C' = ALPC1;
  3818. TTL3.'NU_C' = NUC1;
  3819. TTL3.'GAMMA_S' = GAMS1;
  3820. D_VAL1 = ((G_ULTI2D TTL2) - (G_ULTI2D TTL3))/((1.0)*(H_VAL1));
  3821. 'SINON';
  3822. 'SI' (((X6_DN) '>' (((-1.0)*(((FCBET1*ALPC1)*(NUC1))/(ALPC1)))
  3823. + ((-1.0)*((FSACI1*RHOXS)/(GAMS1)))))
  3824. 'OU' ((Y6_DN) '>' (((-1.0)*(((FCBET1*ALPC1)*(NUC1))/(ALPC1)))
  3825. + ((-1.0)*((FSACI1*RHOYS)/(GAMS1))))));
  3826. X6_DP = ((N11)*(((1.0)*(LAMB0 + H_VAL1)))) + N110;
  3827. Y6_DP = ((N22)*(((-1.0)*(LAMB0 + H_VAL1)))) + N220;
  3828. Z6_DP = ((N12)*(((1.0)*(LAMB0 + H_VAL1)))) + N120;
  3829. X6_DN = ((N11)*(((1.0)*(LAMB0)))) + N110;
  3830. Y6_DN = ((N22)*(((-1.0)*(LAMB0)))) + N220;
  3831. Z6_DN = ((N12)*(((1.0)*(LAMB0)))) + N120;
  3832. *
  3833. TTL2 = TABLE;
  3834. TTL2.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  3835. TTL2.'S11' = X6_DP;
  3836. TTL2.'S22' = Y6_DP;
  3837. TTL2.'S12' = Z6_DP;
  3838. TTL2.'FCK' = FCBET1;
  3839. TTL2.'FSK_1' = FSACI1;
  3840. TTL2.'FSK_2' = FSACI1;
  3841. TTL2.'RHO_1' = RHOXS;
  3842. TTL2.'RHO_2' = RHOYS;
  3843. TTL2.'GAMMA_C' = GAMC;
  3844. TTL2.'ALPA_C' = ALPC1;
  3845. TTL2.'NU_C' = NUC1;
  3846. TTL2.'GAMMA_S' = GAMS1;
  3847. TTL3 = TABLE;
  3848. TTL3.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  3849. TTL3.'S11' = X6_DN;
  3850. TTL3.'S22' = Y6_DN;
  3851. TTL3.'S12' = Z6_DN;
  3852. TTL3.'FCK' = FCBET1;
  3853. TTL3.'FSK_1' = FSACI1;
  3854. TTL3.'FSK_2' = FSACI1;
  3855. TTL3.'RHO_1' = RHOXS;
  3856. TTL3.'RHO_2' = RHOYS;
  3857. TTL3.'GAMMA_C' = GAMC;
  3858. TTL3.'ALPA_C' = ALPC1;
  3859. TTL3.'NU_C' = NUC1;
  3860. TTL3.'GAMMA_S' = GAMS1;
  3861. D_VAL1 = ((G_ULTI2D TTL2) - (G_ULTI2D TTL3))/((1.0)*(H_VAL1));
  3862. 'SINON';
  3863. TTL2 = TABLE;
  3864. TTL2.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  3865. TTL2.'S11' = X6_DP;
  3866. TTL2.'S22' = Y6_DP;
  3867. TTL2.'S12' = Z6_DP;
  3868. TTL2.'FCK' = FCBET1;
  3869. TTL2.'FSK_1' = FSACI1;
  3870. TTL2.'FSK_2' = FSACI1;
  3871. TTL2.'RHO_1' = RHOXS;
  3872. TTL2.'RHO_2' = RHOYS;
  3873. TTL2.'GAMMA_C' = GAMC;
  3874. TTL2.'ALPA_C' = ALPC1;
  3875. TTL2.'NU_C' = NUC1;
  3876. TTL2.'GAMMA_S' = GAMS1;
  3877. TTL3 = TABLE;
  3878. TTL3.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  3879. TTL3.'S11' = X6_DN;
  3880. TTL3.'S22' = Y6_DN;
  3881. TTL3.'S12' = Z6_DN;
  3882. TTL3.'FCK' = FCBET1;
  3883. TTL3.'FSK_1' = FSACI1;
  3884. TTL3.'FSK_2' = FSACI1;
  3885. TTL3.'RHO_1' = RHOXS;
  3886. TTL3.'RHO_2' = RHOYS;
  3887. TTL3.'GAMMA_C' = GAMC;
  3888. TTL3.'ALPA_C' = ALPC1;
  3889. TTL3.'NU_C' = NUC1;
  3890. TTL3.'GAMMA_S' = GAMS1;
  3891. D_VAL1 = ((G_ULTI2D TTL2) - (G_ULTI2D TTL3))/((2.0)*(H_VAL1));
  3892.  
  3893. 'FINSI';
  3894. 'FINSI';
  3895. 'FINSI';
  3896. * computation of D (gradiant) in case of Point_7=Argmin(fmin)
  3897. 'SI' (II2 'EGA' 7);
  3898. X7_DP = ((N11)*(((1.0)*(LAMB0 + H_VAL1)))) + N110;
  3899. Y7_DP = ((N22)*(((1.0)*(LAMB0 + H_VAL1)))) + N220;
  3900. Z7_DP = ((N12)*(((1.0)*(LAMB0 + H_VAL1)))) + N120;
  3901. X7_DN = ((N11)*(((1.0)*(LAMB0 - H_VAL1)))) + N110;
  3902. Y7_DN = ((N22)*(((1.0)*(LAMB0 - H_VAL1)))) + N220;
  3903. Z7_DN = ((N12)*(((1.0)*(LAMB0 - H_VAL1)))) + N120;
  3904. 'SI' (((X7_DP) '>' ((FSACI1*RHOXS)/(GAMS1)))
  3905. 'OU' ((Y7_DP) '>' ((FSACI1*RHOYS)/(GAMS1))));
  3906. X7_DP = ((N11)*(((1.0)*(LAMB0)))) + N110;
  3907. Y7_DP = ((N22)*(((1.0)*(LAMB0)))) + N220;
  3908. Z7_DP = ((N12)*(((1.0)*(LAMB0)))) + N120;
  3909. X7_DN = ((N11)*(((1.0)*(LAMB0 - H_VAL1)))) + N110;
  3910. Y7_DN = ((N22)*(((1.0)*(LAMB0 - H_VAL1)))) + N220;
  3911. Z7_DN = ((N12)*(((1.0)*(LAMB0 - H_VAL1)))) + N120;
  3912. *
  3913. TTL2 = TABLE;
  3914. TTL2.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  3915. TTL2.'S11' = X7_DP;
  3916. TTL2.'S22' = Y7_DP;
  3917. TTL2.'S12' = Z7_DP;
  3918. TTL2.'FCK' = FCBET1;
  3919. TTL2.'FSK_1' = FSACI1;
  3920. TTL2.'FSK_2' = FSACI1;
  3921. TTL2.'RHO_1' = RHOXS;
  3922. TTL2.'RHO_2' = RHOYS;
  3923. TTL2.'GAMMA_C' = GAMC;
  3924. TTL2.'ALPA_C' = ALPC1;
  3925. TTL2.'NU_C' = NUC1;
  3926. TTL2.'GAMMA_S' = GAMS1;
  3927. TTL3 = TABLE;
  3928. TTL3.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  3929. TTL3.'S11' = X7_DN;
  3930. TTL3.'S22' = Y7_DN;
  3931. TTL3.'S12' = Z7_DN;
  3932. TTL3.'FCK' = FCBET1;
  3933. TTL3.'FSK_1' = FSACI1;
  3934. TTL3.'FSK_2' = FSACI1;
  3935. TTL3.'RHO_1' = RHOXS;
  3936. TTL3.'RHO_2' = RHOYS;
  3937. TTL3.'GAMMA_C' = GAMC;
  3938. TTL3.'ALPA_C' = ALPC1;
  3939. TTL3.'NU_C' = NUC1;
  3940. TTL3.'GAMMA_S' = GAMS1;
  3941. D_VAL1 = ((G_ULTI2D TTL2) - (G_ULTI2D TTL3))/((1.0)*(H_VAL1));
  3942. 'SINON';
  3943. 'SI' (((X7_DN) '>' (((-1.0)*(((FCBET1*ALPC1)*(NUC1))/(ALPC1)))
  3944. + ((-1.0)*((FSACI1*RHOXS)/(GAMS1)))))
  3945. 'OU' ((Y7_DN) '>' (((-1.0)*(((FCBET1*ALPC1)*(NUC1))/(ALPC1)))
  3946. + ((-1.0)*((FSACI1*RHOYS)/(GAMS1))))));
  3947. X7_DP = ((N11)*(((1.0)*(LAMB0 + H_VAL1)))) + N110;
  3948. Y7_DP = ((N22)*(((1.0)*(LAMB0 + H_VAL1)))) + N220;
  3949. Z7_DP = ((N12)*(((1.0)*(LAMB0 + H_VAL1)))) + N120;
  3950. X7_DN = ((N11)*(((1.0)*(LAMB0)))) + N110;
  3951. Y7_DN = ((N22)*(((1.0)*(LAMB0)))) + N220;
  3952. Z7_DN = ((N12)*(((1.0)*(LAMB0)))) + N120;
  3953. *
  3954. TTL2 = TABLE;
  3955. TTL2.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  3956. TTL2.'S11' = X7_DP;
  3957. TTL2.'S22' = Y7_DP;
  3958. TTL2.'S12' = Z7_DP;
  3959. TTL2.'FCK' = FCBET1;
  3960. TTL2.'FSK_1' = FSACI1;
  3961. TTL2.'FSK_2' = FSACI1;
  3962. TTL2.'RHO_1' = RHOXS;
  3963. TTL2.'RHO_2' = RHOYS;
  3964. TTL2.'GAMMA_C' = GAMC;
  3965. TTL2.'ALPA_C' = ALPC1;
  3966. TTL2.'NU_C' = NUC1;
  3967. TTL2.'GAMMA_S' = GAMS1;
  3968. TTL3 = TABLE;
  3969. TTL3.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  3970. TTL3.'S11' = X7_DN;
  3971. TTL3.'S22' = Y7_DN;
  3972. TTL3.'S12' = Z7_DN;
  3973. TTL3.'FCK' = FCBET1;
  3974. TTL3.'FSK_1' = FSACI1;
  3975. TTL3.'FSK_2' = FSACI1;
  3976. TTL3.'RHO_1' = RHOXS;
  3977. TTL3.'RHO_2' = RHOYS;
  3978. TTL3.'GAMMA_C' = GAMC;
  3979. TTL3.'ALPA_C' = ALPC1;
  3980. TTL3.'NU_C' = NUC1;
  3981. TTL3.'GAMMA_S' = GAMS1;
  3982. D_VAL1 = ((G_ULTI2D TTL2) - (G_ULTI2D TTL3))/((1.0)*(H_VAL1));
  3983. 'SINON';
  3984. TTL2 = TABLE;
  3985. TTL2.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  3986. TTL2.'S11' = X7_DP;
  3987. TTL2.'S22' = Y7_DP;
  3988. TTL2.'S12' = Z7_DP;
  3989. TTL2.'FCK' = FCBET1;
  3990. TTL2.'FSK_1' = FSACI1;
  3991. TTL2.'FSK_2' = FSACI1;
  3992. TTL2.'RHO_1' = RHOXS;
  3993. TTL2.'RHO_2' = RHOYS;
  3994. TTL2.'GAMMA_C' = GAMC;
  3995. TTL2.'ALPA_C' = ALPC1;
  3996. TTL2.'NU_C' = NUC1;
  3997. TTL2.'GAMMA_S' = GAMS1;
  3998. TTL3 = TABLE;
  3999. TTL3.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  4000. TTL3.'S11' = X7_DN;
  4001. TTL3.'S22' = Y7_DN;
  4002. TTL3.'S12' = Z7_DN;
  4003. TTL3.'FCK' = FCBET1;
  4004. TTL3.'FSK_1' = FSACI1;
  4005. TTL3.'FSK_2' = FSACI1;
  4006. TTL3.'RHO_1' = RHOXS;
  4007. TTL3.'RHO_2' = RHOYS;
  4008. TTL3.'GAMMA_C' = GAMC;
  4009. TTL3.'ALPA_C' = ALPC1;
  4010. TTL3.'NU_C' = NUC1;
  4011. TTL3.'GAMMA_S' = GAMS1;
  4012. D_VAL1 = ((G_ULTI2D TTL2) - (G_ULTI2D TTL3))/((2.0)*(H_VAL1));
  4013. 'FINSI';
  4014. 'FINSI';
  4015. 'FINSI';
  4016. * computation of D (gradiant) in case of Point_8=Argmin(fmin)
  4017. 'SI' (II1 'EGA' 8);
  4018. X8_DP = ((N11)*(((-1.0)*(LAMB0 + H_VAL1)))) + N110;
  4019. Y8_DP = ((N22)*(((1.0)*(LAMB0 + H_VAL1)))) + N220;
  4020. Z8_DP = ((N12)*(((1.0)*(LAMB0 + H_VAL1)))) + N120;
  4021. X8_DN = ((N11)*(((-1.0)*(LAMB0 - H_VAL1)))) + N110;
  4022. Y8_DN = ((N22)*(((1.0)*(LAMB0 - H_VAL1)))) + N220;
  4023. Z8_DN = ((N12)*(((1.0)*(LAMB0 - H_VAL1)))) + N120;
  4024. 'SI' (((X8_DP) '>' ((FSACI1*RHOXS)/(GAMS1)))
  4025. 'OU' ((Y8_DP) '>' ((FSACI1*RHOYS)/(GAMS1))));
  4026. X8_DP = ((N11)*(((-1.0)*(LAMB0)))) + N110;
  4027. Y8_DP = ((N22)*(((1.0)*(LAMB0)))) + N220;
  4028. Z8_DP = ((N12)*(((1.0)*(LAMB0)))) + N120;
  4029. X8_DN = ((N11)*(((-1.0)*(LAMB0 - H_VAL1)))) + N110;
  4030. Y8_DN = ((N22)*(((1.0)*(LAMB0 - H_VAL1)))) + N220;
  4031. Z8_DN = ((N12)*(((1.0)*(LAMB0 - H_VAL1)))) + N120;
  4032. *
  4033. TTL2 = TABLE;
  4034. TTL2.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  4035. TTL2.'S11' = X8_DP;
  4036. TTL2.'S22' = Y8_DP;
  4037. TTL2.'S12' = Z8_DP;
  4038. TTL2.'FCK' = FCBET1;
  4039. TTL2.'FSK_1' = FSACI1;
  4040. TTL2.'FSK_2' = FSACI1;
  4041. TTL2.'RHO_1' = RHOXS;
  4042. TTL2.'RHO_2' = RHOYS;
  4043. TTL2.'GAMMA_C' = GAMC;
  4044. TTL2.'ALPA_C' = ALPC1;
  4045. TTL2.'NU_C' = NUC1;
  4046. TTL2.'GAMMA_S' = GAMS1;
  4047. TTL3 = TABLE;
  4048. TTL3.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  4049. TTL3.'S11' = X8_DN;
  4050. TTL3.'S22' = Y8_DN;
  4051. TTL3.'S12' = Z8_DN;
  4052. TTL3.'FCK' = FCBET1;
  4053. TTL3.'FSK_1' = FSACI1;
  4054. TTL3.'FSK_2' = FSACI1;
  4055. TTL3.'RHO_1' = RHOXS;
  4056. TTL3.'RHO_2' = RHOYS;
  4057. TTL3.'GAMMA_C' = GAMC;
  4058. TTL3.'ALPA_C' = ALPC1;
  4059. TTL3.'NU_C' = NUC1;
  4060. TTL3.'GAMMA_S' = GAMS1;
  4061. D_VAL1 = ((G_ULTI2D TTL2) - (G_ULTI2D TTL3))/((1.0)*(H_VAL1));
  4062. 'SINON';
  4063. 'SI' (((X8_DN) '>' (((-1.0)*(((FCBET1*ALPC1)*(NUC1))/(ALPC1)))
  4064. + ((-1.0)*((FSACI1*RHOXS)/(GAMS1)))))
  4065. 'OU' ((Y8_DN) '>' (((-1.0)*(((FCBET1*ALPC1)*(NUC1))/(ALPC1)))
  4066. + ((-1.0)*((FSACI1*RHOYS)/(GAMS1))))));
  4067. X8_DP = ((N11)*(((-1.0)*(LAMB0 + H_VAL1)))) + N110;
  4068. Y8_DP = ((N22)*(((1.0)*(LAMB0 + H_VAL1)))) + N220;
  4069. Z8_DP = ((N12)*(((1.0)*(LAMB0 + H_VAL1)))) + N120;
  4070. X8_DN = ((N11)*(((-1.0)*(LAMB0)))) + N110;
  4071. Y8_DN = ((N22)*(((1.0)*(LAMB0)))) + N220;
  4072. Z8_DN = ((N12)*(((1.0)*(LAMB0)))) + N120;
  4073. *
  4074. TTL2 = TABLE;
  4075. TTL2.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  4076. TTL2.'S11' = X8_DP;
  4077. TTL2.'S22' = Y8_DP;
  4078. TTL2.'S12' = Z8_DP;
  4079. TTL2.'FCK' = FCBET1;
  4080. TTL2.'FSK_1' = FSACI1;
  4081. TTL2.'FSK_2' = FSACI1;
  4082. TTL2.'RHO_1' = RHOXS;
  4083. TTL2.'RHO_2' = RHOYS;
  4084. TTL2.'GAMMA_C' = GAMC;
  4085. TTL2.'ALPA_C' = ALPC1;
  4086. TTL2.'NU_C' = NUC1;
  4087. TTL2.'GAMMA_S' = GAMS1;
  4088. TTL3 = TABLE;
  4089. TTL3.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  4090. TTL3.'S11' = X8_DN;
  4091. TTL3.'S22' = Y8_DN;
  4092. TTL3.'S12' = Z8_DN;
  4093. TTL3.'FCK' = FCBET1;
  4094. TTL3.'FSK_1' = FSACI1;
  4095. TTL3.'FSK_2' = FSACI1;
  4096. TTL3.'RHO_1' = RHOXS;
  4097. TTL3.'RHO_2' = RHOYS;
  4098. TTL3.'GAMMA_C' = GAMC;
  4099. TTL3.'ALPA_C' = ALPC1;
  4100. TTL3.'NU_C' = NUC1;
  4101. TTL3.'GAMMA_S' = GAMS1;
  4102. D_VAL1 = ((G_ULTI2D TTL2) - (G_ULTI2D TTL3))/((1.0)*(H_VAL1));
  4103. 'SINON';
  4104. TTL2 = TABLE;
  4105. TTL2.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  4106. TTL2.'S11' = X8_DP;
  4107. TTL2.'S22' = Y8_DP;
  4108. TTL2.'S12' = Z8_DP;
  4109. TTL2.'FCK' = FCBET1;
  4110. TTL2.'FSK_1' = FSACI1;
  4111. TTL2.'FSK_2' = FSACI1;
  4112. TTL2.'RHO_1' = RHOXS;
  4113. TTL2.'RHO_2' = RHOYS;
  4114. TTL2.'GAMMA_C' = GAMC;
  4115. TTL2.'ALPA_C' = ALPC1;
  4116. TTL2.'NU_C' = NUC1;
  4117. TTL2.'GAMMA_S' = GAMS1;
  4118. TTL3 = TABLE;
  4119. TTL3.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  4120. TTL3.'S11' = X8_DN;
  4121. TTL3.'S22' = Y8_DN;
  4122. TTL3.'S12' = Z8_DN;
  4123. TTL3.'FCK' = FCBET1;
  4124. TTL3.'FSK_1' = FSACI1;
  4125. TTL3.'FSK_2' = FSACI1;
  4126. TTL3.'RHO_1' = RHOXS;
  4127. TTL3.'RHO_2' = RHOYS;
  4128. TTL3.'GAMMA_C' = GAMC;
  4129. TTL3.'ALPA_C' = ALPC1;
  4130. TTL3.'NU_C' = NUC1;
  4131. TTL3.'GAMMA_S' = GAMS1;
  4132. D_VAL1 = ((G_ULTI2D TTL2) - (G_ULTI2D TTL3))/((2.0)*(H_VAL1));
  4133. 'FINSI';
  4134. 'FINSI';
  4135. 'FINSI';
  4136. 'OUBL' X1_DP;
  4137. 'OUBL' Y1_DP;
  4138. 'OUBL' Z1_DP;
  4139. 'OUBL' X1_DN;
  4140. 'OUBL' Y1_DN;
  4141. 'OUBL' Z1_DN;
  4142. 'OUBL' X2_DP;
  4143. 'OUBL' Y2_DP;
  4144. 'OUBL' Z2_DP;
  4145. 'OUBL' X2_DN;
  4146. 'OUBL' Y2_DN;
  4147. 'OUBL' Z2_DN;
  4148. 'OUBL' X3_DP;
  4149. 'OUBL' Y3_DP;
  4150. 'OUBL' Z3_DP;
  4151. 'OUBL' X3_DN;
  4152. 'OUBL' Y3_DN;
  4153. 'OUBL' Z3_DN;
  4154. 'OUBL' X4_DP;
  4155. 'OUBL' Y4_DP;
  4156. 'OUBL' Z4_DP;
  4157. 'OUBL' X4_DN;
  4158. 'OUBL' Y4_DN;
  4159. 'OUBL' Z4_DN;
  4160. 'OUBL' X5_DP;
  4161. 'OUBL' Y5_DP;
  4162. 'OUBL' Z5_DP;
  4163. 'OUBL' X5_DN;
  4164. 'OUBL' Y5_DN;
  4165. 'OUBL' Z5_DN;
  4166. 'OUBL' X6_DP;
  4167. 'OUBL' Y6_DP;
  4168. 'OUBL' Z6_DP;
  4169. 'OUBL' X6_DN;
  4170. 'OUBL' Y6_DN;
  4171. 'OUBL' Z6_DN;
  4172. 'OUBL' X7_DP;
  4173. 'OUBL' Y7_DP;
  4174. 'OUBL' Z7_DP;
  4175. 'OUBL' X7_DN;
  4176. 'OUBL' Y7_DN;
  4177. 'OUBL' Z7_DN;
  4178. 'OUBL' X8_DP;
  4179. 'OUBL' Y8_DP;
  4180. 'OUBL' Z8_DP;
  4181. 'OUBL' X8_DN;
  4182. 'OUBL' Y8_DN;
  4183. 'OUBL' Z8_DN;
  4184. *
  4185. * test convergence
  4186. 'SI' (('ABS'(VAL_F)) '<' TOL_1);
  4187. * convergence!!!
  4188. LAMBJ = LAMB0;
  4189. 'SINON';
  4190. 'SI' (I_M1 'EGA' 200);
  4191. * reach the limits of loop
  4192. ID1_CON = 1;
  4193. LAMBJ = LAMB0;
  4194. 'QUIT' IND1;
  4195. 'FINSI';
  4196. 'SI' (I_M1 > 2);
  4197. * controle on the variation of Lambda
  4198. 'SI' ((ABS((LAMB0 - LAMB1)/(LAMB0))) < ((TOL_1)*(1.e-10)));
  4199. LAMBJ = LAMB0;
  4200. 'QUIT' IND1;
  4201. 'FINSI';
  4202. 'FINSI';
  4203. * if N11 stress of Point_j is out of the external boundary of
  4204. * limite surface
  4205. XX_T_MIN = 'MINI' LL_X0;
  4206. XX_T_MAX = 'MAXI' LL_X0;
  4207. YY_T_MIN = 'MINI' LL_Y0;
  4208. YY_T_MAX = 'MAXI' LL_Y0;
  4209. 'SI' (((XX_T_MAX) '>' ((FSACI1*RHOXS)/(GAMS1))) 'OU'
  4210. ((YY_T_MAX) '>' ((FSACI1*RHOYS)/(GAMS1))) 'OU'
  4211. ((XX_T_MIN)
  4212. '<' (((-1.0)*(((FCBET1*ALPC1)*(NUC1))/(ALPC1)))
  4213. + ((-1.0)*((FSACI1*RHOXS)/(GAMS1))))) 'OU'
  4214. ((YY_T_MIN)
  4215. '<' (((-1.0)*(((FCBET1*ALPC1)*(NUC1))/(ALPC1)))
  4216. + ((-1.0)*((FSACI1*RHOYS)/(GAMS1))))));
  4217. LAMB1 = LAMB0;
  4218. LAMB2 = 1000000000.;
  4219. 'SI' ((XX_T_MAX) '>' ((FSACI1*RHOXS)/(GAMS1)));
  4220. LAMB3 = (((FSACI1*RHOXS)/(GAMS1)) - (N110) - TOL_2)/(N11);
  4221. 'SI' (LAMB3 '<' LAMB2);
  4222. LAMB2 = LAMB3;
  4223. 'FINSI';
  4224. 'FINSI';
  4225. 'SI' ((YY_T_MAX) '>' ((FSACI1*RHOYS)/(GAMS1)));
  4226. LAMB3 = (((FSACI1*RHOYS)/(GAMS1)) - (N220) - TOL_2)/(N22);
  4227. 'SI' (LAMB3 '<' LAMB2);
  4228. LAMB2 = LAMB3;
  4229. 'FINSI';
  4230. 'FINSI';
  4231. 'SI' ((XX_T_MIN) '<' (((-1.0)*(((FCBET1*ALPC1)*(NUC1))/(ALPC1)))
  4232. + ((-1.0)*((FSACI1*RHOXS)/(GAMS1)))));
  4233. LAMB3 = ((((-1.0)*(((FCBET1*ALPC1)*(NUC1))/(ALPC1)))
  4234. + ((-1.0)*((FSACI1*RHOXS)/(GAMS1))))
  4235. - (N110) + TOL_2)/(N11);
  4236. 'SI' (LAMB3 '<' LAMB2);
  4237. LAMB2 = LAMB3;
  4238. 'FINSI';
  4239. 'FINSI';
  4240. 'SI' ((YY_T_MIN) '<' (((-1.0)*(((FCBET1*ALPC1)*(NUC1))/(ALPC1)))
  4241. + ((-1.0)*((FSACI1*RHOYS)/(GAMS1)))));
  4242. LAMB3 = ((((-1.0)*(((FCBET1*ALPC1)*(NUC1))/(ALPC1)))
  4243. + ((-1.0)*((FSACI1*RHOYS)/(GAMS1))))
  4244. - (N220) + TOL_2)/(N22);
  4245. 'SI' (LAMB3 '<' LAMB2);
  4246. LAMB2 = LAMB3;
  4247.  
  4248. 'FINSI';
  4249. 'FINSI';
  4250. LAMB0 = LAMB2;
  4251. 'OUBL' LAMB2;
  4252. 'OUBL' LAMB3;
  4253. 'SINON';
  4254. 'SI' (('ABS'(D_VAL1)) < 1.E-16);
  4255. * in case of D is equal to sero
  4256. LAMB1 = LAMB0;
  4257. LAMB0 = ((1.1)*(LAMB0));
  4258. 'SINON';
  4259. * otherwise
  4260. LAMB1 = LAMB0;
  4261. LAMB0 = LAMB0 - ((VAL_F)/(D_VAL1));
  4262. 'FINSI';
  4263. 'FINSI';
  4264. 'FINSI';
  4265. 'OUBL' VAL_F;
  4266. 'OUBL' D_VAL1;
  4267. *
  4268. TAB_ITE. (I_M1 + 1) = 'TABLE';
  4269. TAB_ITE. (I_M1 + 1) .'LAMBDA' = ABS(LAMB0) ;
  4270.  
  4271. **
  4272. I_M1 = I_M1 + 1;
  4273. 'FIN' IND1;
  4274. * final Lambda
  4275. LAM_FIN = TAB_ITE. ((DIME TAB_ITE) - 1) .'LAMBDA';
  4276. *
  4277. 'SI' (ID1_CON 'EGA' 0);
  4278. TIT1 = 'CHAINE' ' Element ' I_ELE1 ' Lambda='
  4279. LAM_FIN;
  4280. 'MESS' TIT1;
  4281. 'FINSI';
  4282. *
  4283. 'FINSI';
  4284. 'FINSI';
  4285. *
  4286. * screen message
  4287. *'SI' (ID1_CON 'EGA' 0);
  4288. * TIT1 = 'CHAINE' ' Element ' I_ELE1 ' Lambda='
  4289. * LAM_FIN;
  4290. * 'MESS' TIT1;
  4291. *'FINSI';
  4292. 'SI' (ID1_CON 'EGA' 1);
  4293. TIT1 = 'CHAINE' ' Element ' I_ELE1 ' Lambda='
  4294. LAM_FIN '.....Attention non convergence';
  4295. 'SI' ('EGA' ('TYPE' LL_ERRE1) 'LISTENTI');
  4296. LL_ERRE1 = LL_ERRE1 ET ('LECT' I_ELE1);
  4297. 'SINON';
  4298. LL_ERRE1 = ('LECT' I_ELE1);
  4299. 'FINSI';
  4300. 'MESS' TIT1;
  4301. 'FINSI';
  4302. *
  4303. * results stored in the MCHAML field
  4304. 'SI' (I_IE1 'EGA' 1);
  4305. MOD1 = 'MODE' ELE_VOI1 'MECANIQUE' 'ELASTIQUE' 'ISOTROPE';
  4306. MODTOT = MODTOT 'ET' MOD1;
  4307. CH_LAME = CH_LAME 'ET' ('MANU' 'CHML' ELE_VOI1 'LAME' LAM_FIN);
  4308. 'SI' (LAM_FIN '<' 1.0);
  4309. MAI_REE = MAI_REE 'ET' (ELE_VOI1 'COUL' 'ROUG');
  4310. 'SINON';
  4311. MAI_REE = MAI_REE 'ET' (ELE_VOI1 'COUL' 'VERT');
  4312. 'FINSI';
  4313. 'FINSI';
  4314. 'SI' (I_IE1 'EGA' 2);
  4315. MOD1 = 'MODE' ELE_VOI1 'MECANIQUE' 'ELASTIQUE' 'ISOTROPE';
  4316. MODTOT = MODTOT 'ET' MOD1;
  4317. CH_LAMI = CH_LAMI 'ET' ('MANU' 'CHML' ELE_VOI1 'LAMI' LAM_FIN);
  4318. 'SI' (LAM_FIN '<' 1.0);
  4319. MAI_REI = MAI_REI 'ET' (ELE_VOI1 'COUL' 'ROUG');
  4320. 'SINON';
  4321. MAI_REI = MAI_REI 'ET' (ELE_VOI1 'COUL' 'VERT');
  4322. 'FINSI';
  4323. 'FINSI';
  4324. 'SI' (I_IE1 'EGA' 3);
  4325. MOD1 = 'MODE' ELE_VOI1 'MECANIQUE' 'ELASTIQUE' 'ISOTROPE';
  4326. MODTOT = MODTOT 'ET' MOD1;
  4327. CH_LAMC = CH_LAMC 'ET' ('MANU' 'CHML' ELE_VOI1 'LAMC' LAM_FIN);
  4328. 'SI' (LAM_FIN '<' 1.0);
  4329. MAI_REC = MAI_REC 'ET' (ELE_VOI1 'COUL' 'ROUG');
  4330. 'SINON';
  4331. MAI_REC = MAI_REC 'ET' (ELE_VOI1 'COUL' 'VERT');
  4332. 'FINSI';
  4333. 'FINSI';
  4334. *
  4335. 'OUBL' LAM_FIN;
  4336. *
  4337. I_ELE1 = I_ELE1 + 1;
  4338. 'FIN' IND_ELE1;
  4339. I_IE1 = I_IE1 + 1;
  4340. 'FIN' IND_IE1 ;
  4341. *
  4342. 'OUBL' MOD1;
  4343. *
  4344. 'FINSI';
  4345. *
  4346. * saving
  4347. TT2.'CH_LAMBDA_E' = CH_LAME;
  4348. TT2.'CH_LAMBDA_I' = CH_LAMI;
  4349. TT2.'CH_LAMBDA_C' = CH_LAMC;
  4350. TT2.'CARTE_E' = MAI_REE;
  4351. TT2.'CARTE_I' = MAI_REI;
  4352. TT2.'CARTE_C' = MAI_REC;
  4353. * graphique part (plot of the limit surface, rectangle and ellispe
  4354. * combination for the k element)
  4355. *
  4356. 'SI' ('EGA' ('TYPE' L_ELE1) 'LISTENTI');
  4357. 'SI' ('EGA' ('TYPE' LL_ERRE1) 'LISTENTI');
  4358. L_ELE1 = L_ELE1 ET LL_ERRE1;
  4359. 'FINSI';
  4360. 'SINON';
  4361. 'SI' ('EGA' ('TYPE' LL_ERRE1) 'LISTENTI');
  4362. L_ELE1 = LL_ERRE1;
  4363. 'FINSI';
  4364. 'FINSI';
  4365. *
  4366. 'SI' ('EGA' ('TYPE' L_ELE1) 'LISTENTI');
  4367. L_ELE1 = 'ORDO' L_ELE1 'CROI';
  4368. 'FINSI';
  4369. *
  4370. L_ELE2 = 'LECT';
  4371. 'SI' ('EGA' ('TYPE' L_ELE1) 'LISTENTI');
  4372. TT2.'GRAPHIQUES' = 'TABLE';
  4373. I_VAL1 = 1;
  4374. * loop for each k-element
  4375. NN1 = 'DIME' L_ELE1;
  4376. 'REPE' IND1 (NN1);
  4377. 'SI' (I_VAL1 EGA 1);
  4378. * id k-element
  4379. I_ELE1 = 'EXTR' L_ELE1 I_VAL1;
  4380. L_ELE2 = L_ELE2 'ET' ('LECT' I_ELE1);
  4381. * element
  4382. ELE_VOI1 = MAI_V 'ELEM' I_ELE1;
  4383. * seismic effort stare for k-element
  4384. CHL1 = 'REDU' CH_SEI1 ELE_VOI1;
  4385. * static effort stare for k-element
  4386. CHL2 = 'REDU' CH_STA1 ELE_VOI1;
  4387. * internal and external caracteristics for k-element
  4388. RHOXSE = 'EXTR' ('REDU' CH_CARE ELE_VOI1) 'RHO1' 1 1 1;
  4389. RHOYSE = 'EXTR' ('REDU' CH_CARE ELE_VOI1) 'RHO2' 1 1 1;
  4390. ENR1E = 'EXTR' ('REDU' CH_CARE ELE_VOI1) 'ENRO' 1 1 1;
  4391. RHOXSI = 'EXTR' ('REDU' CH_CARI ELE_VOI1) 'RHO1' 1 1 1;
  4392. RHOYSI = 'EXTR' ('REDU' CH_CARI ELE_VOI1) 'RHO2' 1 1 1;
  4393. ENR1I = 'EXTR' ('REDU' CH_CARI ELE_VOI1) 'ENRO' 1 1 1;
  4394. * core caracteristics for k-element
  4395. HTOT1 = 'EXTR' ('REDU' CH_CARC ELE_VOI1) 'H' 1 1 1;
  4396. RHOT = 'EXTR' ('REDU' CH_CARC ELE_VOI1) 'RHOT' 1 1 1;
  4397. COTH1 = 'EXTR' ('REDU' CH_CARC ELE_VOI1) 'COTH' 1 1 1;
  4398. * internal and external lambda coef for k-element
  4399. LAME1 = 'EXTR' ('REDU' CH_LAME ELE_VOI1) 'LAME' 1 1 1;
  4400. LAMI1 = 'EXTR' ('REDU' CH_LAMI ELE_VOI1) 'LAMI' 1 1 1;
  4401. LAMC1 = 'EXTR' ('REDU' CH_LAMC ELE_VOI1) 'LAMC' 1 1 1;
  4402. * limite surface external and internal, rectangle and ellipsoide
  4403. * (internal and external)
  4404. TTL1 = TABLE;
  4405. TTL1.'TYPE_COUCHE' = CHAINE 'COUCHE_INT';
  4406. TTL1.'NX' = 20;
  4407. TTL1.'NY' = 20;
  4408. TTL1.'FCK' = FCBET1;
  4409. TTL1.'FSK_1' = FSACI1;
  4410. TTL1.'FSK_2' = FSACI1;
  4411. TTL1.'RHO_1_EXT' = RHOXSE;
  4412. TTL1.'RHO_2_EXT' = RHOYSE;
  4413. TTL1.'RHO_1_INT' = RHOXSI;
  4414. TTL1.'RHO_2_INT' = RHOYSI;
  4415. TTL1.'GAMMA_C' = GAMC;
  4416. TTL1.'ALPA_C' = ALPC1;
  4417. TTL1.'NU_C' = NUC1;
  4418. TTL1.'GAMMA_S' = GAMS1;
  4419. TTL1.'EFFORT_STATIQUE' = CHL2;
  4420. TTL1.'EFFORT_SEISME' = CHL1;
  4421. TTL1.'ENROBAGE_EXT' = ENR1E;
  4422. TTL1.'ENROBAGE_INT' = ENR1I;
  4423. TTB1 = MRCTRACE TTL1 1.E-4;
  4424. * rectangle and ellipsoide augmented by Lambda external
  4425. TTL1.'EFFORT_SEISME' = (((LAME1)**(2.0))*(CHL1));
  4426. TTB2 = MRCTRACE TTL1 1.E-4;
  4427. * rectangle and ellipsoide augmented by Lambda internal
  4428. TTL1.'EFFORT_SEISME' = (((LAMI1)**(2.0))*(CHL1));
  4429. TTB3 = MRCTRACE TTL1 1.E-4;
  4430. * limite surface core, rectangle and ellipsoide
  4431. * (internal and external)
  4432. TTL1 = TABLE;
  4433. TTL1.'TYPE_COUCHE' = CHAINE 'COUCHE_COR';
  4434. TTL1.'FCK' = FCBET1;
  4435. TTL1.'FSK_T' = FSACI1;
  4436. TTL1.'RHO_T' = RHOT;
  4437. TTL1.'GAMMA_C' = GAMC;
  4438. TTL1.'ALPA_C' = ALPC1;
  4439. TTL1.'NU_C' = NUC1;
  4440. TTL1.'GAMMA_S' = GAMS1;
  4441. TTL1.'COT_THETA' = COTH1;
  4442. TTL1.'EFFORT_STATIQUE' = CHL2;
  4443. TTL1.'EFFORT_SEISME' = CHL1;
  4444. TTL1.'ENROBAGE_EXT' = ENR1E;
  4445. TTL1.'ENROBAGE_INT' = ENR1I;
  4446. TTL1.'EPAISSEUR' = HTOT1;
  4447. TTB4 = MRCTRACE TTL1 1.E-4;
  4448. * rectangle and ellipsoide augmented by Lambda core
  4449. TTL1.'EFFORT_SEISME' = (((LAMC1)**(2.0))*(CHL1));
  4450. TTB5 = MRCTRACE TTL1 1.E-4;
  4451. *
  4452. TT2.'GRAPHIQUES'. I_ELE1 = 'TABLE';
  4453. TT2.'GRAPHIQUES'. I_ELE1 .'LIMITE_E' =
  4454. TTB1.'LIMITE_E';
  4455. TT2.'GRAPHIQUES'. I_ELE1 .'LIMITE_I' =
  4456. TTB1.'LIMITE_I';
  4457. TT2.'GRAPHIQUES'. I_ELE1 .'LIMITE_C' =
  4458. TTB4.'LIMITE_SHEAR';
  4459. TT2.'GRAPHIQUES'. I_ELE1 .'ELLIPSOIDE_E' =
  4460. TTB1.'ELLIPSOIDE_E';
  4461. TT2.'GRAPHIQUES'. I_ELE1 .'ELLIPSOIDE_I' =
  4462. TTB1.'ELLIPSOIDE_I';
  4463. TT2.'GRAPHIQUES'. I_ELE1 .'ELLIPSOIDE_C' =
  4464. TTB4.'ELLIPSOIDE_SHEAR';
  4465. TT2.'GRAPHIQUES'. I_ELE1 .'RECTANGLE_E' =
  4466. TTB1.'RECTANGLE_E';
  4467. TT2.'GRAPHIQUES'. I_ELE1 .'RECTANGLE_I' =
  4468. TTB1.'RECTANGLE_I';
  4469. TT2.'GRAPHIQUES'. I_ELE1 .'RECTANGLE_C' =
  4470. TTB4.'RECTANGLE_SHEAR';
  4471. TT2.'GRAPHIQUES'. I_ELE1 .'ELLIPSOIDE_E_AUG' =
  4472. TTB2.'ELLIPSOIDE_E';
  4473. TT2.'GRAPHIQUES'. I_ELE1 .'ELLIPSOIDE_I_AUG' =
  4474. TTB3.'ELLIPSOIDE_I';
  4475. TT2.'GRAPHIQUES'. I_ELE1 .'ELLIPSOIDE_C_AUG' =
  4476. TTB5.'ELLIPSOIDE_SHEAR';
  4477. TT2.'GRAPHIQUES'. I_ELE1 .'RECTANGLE_E_AUG' =
  4478. TTB2.'RECTANGLE_E';
  4479. TT2.'GRAPHIQUES'. I_ELE1 .'RECTANGLE_I_AUG' =
  4480. TTB3.'RECTANGLE_I';
  4481. TT2.'GRAPHIQUES'. I_ELE1 .'RECTANGLE_C_AUG' =
  4482. TTB5.'RECTANGLE_SHEAR';
  4483. *
  4484. 'SINON';
  4485. * id k-element
  4486. I_ELE1 = 'EXTR' L_ELE1 I_VAL1;
  4487. I_ELE2 = 'EXTR' L_ELE1 (I_VAL1 - 1);
  4488. 'SI' (I_ELE1 'NEG' I_ELE2);
  4489. L_ELE2 = L_ELE2 'ET' ('LECT' I_ELE1);
  4490. * element
  4491. ELE_VOI1 = MAI_V 'ELEM' I_ELE1;
  4492. * seismic effort stare for k-element
  4493. CHL1 = 'REDU' CH_SEI1 ELE_VOI1;
  4494. * static effort stare for k-element
  4495. CHL2 = 'REDU' CH_STA1 ELE_VOI1;
  4496. * internal and external caracteristics for k-element
  4497. RHOXSE = 'EXTR' ('REDU' CH_CARE ELE_VOI1) 'RHO1' 1 1 1;
  4498. RHOYSE = 'EXTR' ('REDU' CH_CARE ELE_VOI1) 'RHO2' 1 1 1;
  4499. ENR1E = 'EXTR' ('REDU' CH_CARE ELE_VOI1) 'ENRO' 1 1 1;
  4500. RHOXSI = 'EXTR' ('REDU' CH_CARI ELE_VOI1) 'RHO1' 1 1 1;
  4501. RHOYSI = 'EXTR' ('REDU' CH_CARI ELE_VOI1) 'RHO2' 1 1 1;
  4502. ENR1I = 'EXTR' ('REDU' CH_CARI ELE_VOI1) 'ENRO' 1 1 1;
  4503. * core caracteristics for k-element
  4504. HTOT1 = 'EXTR' ('REDU' CH_CARC ELE_VOI1) 'H' 1 1 1;
  4505. RHOT = 'EXTR' ('REDU' CH_CARC ELE_VOI1) 'RHOT' 1 1 1;
  4506. COTH1 = 'EXTR' ('REDU' CH_CARC ELE_VOI1) 'COTH' 1 1 1;
  4507. * internal and external lambda coef for k-element
  4508. LAME1 = 'EXTR' ('REDU' CH_LAME ELE_VOI1) 'LAME' 1 1 1;
  4509. LAMI1 = 'EXTR' ('REDU' CH_LAMI ELE_VOI1) 'LAMI' 1 1 1;
  4510. LAMC1 = 'EXTR' ('REDU' CH_LAMC ELE_VOI1) 'LAMC' 1 1 1;
  4511. * limite surface external and internal, rectangle and ellipsoide
  4512. * (internal and external)
  4513. TTL1 = TABLE;
  4514. TTL1.'TYPE_COUCHE' = CHAINE 'COUCHE_INT';
  4515. TTL1.'NX' = 20;
  4516. TTL1.'NY' = 20;
  4517. TTL1.'FCK' = FCBET1;
  4518. TTL1.'FSK_1' = FSACI1;
  4519. TTL1.'FSK_2' = FSACI1;
  4520. TTL1.'RHO_1_EXT' = RHOXSE;
  4521. TTL1.'RHO_2_EXT' = RHOYSE;
  4522. TTL1.'RHO_1_INT' = RHOXSI;
  4523. TTL1.'RHO_2_INT' = RHOYSI;
  4524. TTL1.'GAMMA_C' = GAMC;
  4525. TTL1.'ALPA_C' = ALPC1;
  4526. TTL1.'NU_C' = NUC1;
  4527. TTL1.'GAMMA_S' = GAMS1;
  4528. TTL1.'EFFORT_STATIQUE' = CHL2;
  4529. TTL1.'EFFORT_SEISME' = CHL1;
  4530. TTL1.'ENROBAGE_EXT' = ENR1E;
  4531. TTL1.'ENROBAGE_INT' = ENR1I;
  4532. TTB1 = MRCTRACE TTL1 1.E-4;
  4533. * rectangle and ellipsoide augmented by Lambda external
  4534. TTL1.'EFFORT_SEISME' = (((LAME1)**(2.0))*(CHL1));
  4535. TTB2 = MRCTRACE TTL1 1.E-4;
  4536. * rectangle and ellipsoide augmented by Lambda internal
  4537. TTL1.'EFFORT_SEISME' = (((LAMI1)**(2.0))*(CHL1));
  4538. TTB3 = MRCTRACE TTL1 1.E-4;
  4539. * limite surface core, rectangle and ellipsoide
  4540. * (internal and external)
  4541. TTL1 = TABLE;
  4542. TTL1.'TYPE_COUCHE' = CHAINE 'COUCHE_COR';
  4543. TTL1.'FCK' = FCBET1;
  4544. TTL1.'FSK_T' = FSACI1;
  4545. TTL1.'RHO_T' = RHOT;
  4546. TTL1.'GAMMA_C' = GAMC;
  4547. TTL1.'ALPA_C' = ALPC1;
  4548. TTL1.'NU_C' = NUC1;
  4549. TTL1.'GAMMA_S' = GAMS1;
  4550. TTL1.'COT_THETA' = COTH1;
  4551. TTL1.'EFFORT_STATIQUE' = CHL2;
  4552. TTL1.'EFFORT_SEISME' = CHL1;
  4553. TTL1.'ENROBAGE_EXT' = ENR1E;
  4554. TTL1.'ENROBAGE_INT' = ENR1I;
  4555. TTL1.'EPAISSEUR' = HTOT1;
  4556. TTB4 = MRCTRACE TTL1 1.E-4;
  4557. * rectangle and ellipsoide augmented by Lambda core
  4558. TTL1.'EFFORT_SEISME' = (((LAMC1)**(2.0))*(CHL1));
  4559. TTB5 = MRCTRACE TTL1 1.E-4;
  4560. *
  4561. TT2.'GRAPHIQUES'. I_ELE1 = 'TABLE';
  4562. TT2.'GRAPHIQUES'. I_ELE1 .'LIMITE_E' =
  4563. TTB1.'LIMITE_E';
  4564. TT2.'GRAPHIQUES'. I_ELE1 .'LIMITE_I' =
  4565. TTB1.'LIMITE_I';
  4566. TT2.'GRAPHIQUES'. I_ELE1 .'LIMITE_C' =
  4567. TTB4.'LIMITE_SHEAR';
  4568. TT2.'GRAPHIQUES'. I_ELE1 .'ELLIPSOIDE_E' =
  4569. TTB1.'ELLIPSOIDE_E';
  4570. TT2.'GRAPHIQUES'. I_ELE1 .'ELLIPSOIDE_I' =
  4571. TTB1.'ELLIPSOIDE_I';
  4572. TT2.'GRAPHIQUES'. I_ELE1 .'ELLIPSOIDE_C' =
  4573. TTB4.'ELLIPSOIDE_SHEAR';
  4574. TT2.'GRAPHIQUES'. I_ELE1 .'RECTANGLE_E' =
  4575. TTB1.'RECTANGLE_E';
  4576. TT2.'GRAPHIQUES'. I_ELE1 .'RECTANGLE_I' =
  4577. TTB1.'RECTANGLE_I';
  4578. TT2.'GRAPHIQUES'. I_ELE1 .'RECTANGLE_C' =
  4579. TTB4.'RECTANGLE_SHEAR';
  4580. TT2.'GRAPHIQUES'. I_ELE1 .'ELLIPSOIDE_E_AUG' =
  4581. TTB2.'ELLIPSOIDE_E';
  4582. TT2.'GRAPHIQUES'. I_ELE1 .'ELLIPSOIDE_I_AUG' =
  4583. TTB3.'ELLIPSOIDE_I';
  4584. TT2.'GRAPHIQUES'. I_ELE1 .'ELLIPSOIDE_C_AUG' =
  4585. TTB5.'ELLIPSOIDE_SHEAR';
  4586. TT2.'GRAPHIQUES'. I_ELE1 .'RECTANGLE_E_AUG' =
  4587. TTB2.'RECTANGLE_E';
  4588. TT2.'GRAPHIQUES'. I_ELE1 .'RECTANGLE_I_AUG' =
  4589. TTB3.'RECTANGLE_I';
  4590. TT2.'GRAPHIQUES'. I_ELE1 .'RECTANGLE_C_AUG' =
  4591. TTB5.'RECTANGLE_SHEAR';
  4592. *
  4593. 'FINSI';
  4594. 'FINSI';
  4595. I_VAL1 = I_VAL1 + 1;
  4596. 'FIN' IND1;
  4597. TT2.'GRAPHIQUES'.'LISTE_ELEMENT' = L_ELE2;
  4598. 'FINSI';
  4599. * fin
  4600. FINPROC TT2;
  4601.  

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