Reading charge distribution from charge monitor in script


I’m modifying an old script from DEVICE. I’m using the function “getresult” to make some plots after the DEVICE simulation is done. However, I get the following error:

Error: E:/…/plot_2D_CV_IV.lsf line 3: Can not find result ‘total_charge_distribution’ in the result provider 'CHARGE::total charge monitor

the line 3 is:
total_charge = getresult(“CHARGE::total charge monitor”,“total_charge_distribution”);

the charge monitor was defined in the simulation script by:

set(“name”, “total charge monitor”);
set(“monitor type”, “2D y-normal”);
set(“save data”,1);
set(“filename”, “total_charge_distribution”);
set(“integrate total charge”, 1);
set(“x”, getnamed(“CHARGE::” + cts_dp_name, “x”));
set(“x span”, getnamed(“CHARGE::” + cts_dp_name, “x span”));
set(“y”, getnamed(“CHARGE::” + cts_dp_name, “y”));
set(“y span”, getnamed(“CHARGE::” + cts_dp_name, “y span”));
set(“z”, getnamed(“CHARGE::” + cts_dp_name, “z”));
set(“z span”, getnamed(“CHARGE::” + cts_dp_name, “z span”));

Do you have any suggestion to solve this problem?


1 Like

The results that are available from the charge monitor are “charge” and “total_charge”. The “charge” data contains the charge distribution at each point at each bias voltage. The “total_charge” data contains the integrated value of charge over the entire area/volume as a function of voltage. If you are interested in looking at the charge distribution, you need to read the “charge” data. The command will be,

total_charge = getresult(“CHARGE::total charge monitor”,“charge”);

If you want to get the integrated charge then the command is,

total_charge = getresult(“CHARGE::total charge monitor”,“total_charge”);

The file name (total_charge_distribution) that you have set in the monitor properties is the name of the .mat file where the monitor saves the charge data. It is not the name of the data itself.

It works, thanks,

1 Like