10.06.2016 Views

eldo_user

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Eldo Control Language<br />

Statistical Processing<br />

/* Increase its width to reduce the delay<br />

* (this must be done before _simu_set_mc_flow).<br />

*/<br />

fprint(stdout,<br />

+ "Increase width of %s to %.2g\n",<br />

+ device[i],<br />

+ width[i]*2)<br />

_simu_set("E", device[i], "W", width[i]*2)<br />

endfor<br />

_simu_set_mc_flow()<br />

/* Re-run nominal. */<br />

run_nominal()<br />

endif<br />

_simu_end()<br />

endif<br />

.end_define_task<br />

.define_function run_nominal()<br />

set res = 0<br />

set delay1 = 0<br />

set delay2 = 0<br />

fprint(stdout, "Running nominal...\n")<br />

res = _simu_run(mode="nom")<br />

if (res.simu_status == 0)<br />

delay1 = _simu_get_extract("DELAY1")<br />

delay2 = _simu_get_extract("DELAY2")<br />

fprint(stdout, "DELAY1 = %.3g Sec\nDELAY2 = %.3g Sec\n",<br />

delay1, delay2)<br />

else<br />

fprint(stdout, "Nominal failed!\n")<br />

return 0<br />

endif<br />

return 1<br />

.end_define_function<br />

.define_function find_important_params(p_extract_name = "",<br />

+ @p_important_params[] = 0)<br />

set res = 0<br />

set conv = 0<br />

set sens_list[] = 0<br />

set i = 0<br />

set nb_para_runs = 20<br />

set nb_important_params = 0<br />

set extract_res[] = 0<br />

set nbmc = 0<br />

set sampling_saved[] = 0<br />

set global_sampling[] = 0<br />

while (conv == 0)<br />

/* Execute in parallel 20 more Monte-Carlo runs. */<br />

fprint(stdout, "Running 20 Monte-Carlo...\n")<br />

para_for(i = 1; i

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!