Skip to content
Snippets Groups Projects
Commit e23bc9c1 authored by Alexandros Asonitis's avatar Alexandros Asonitis
Browse files

Double Gate devices Debugging part 6 (End.All legends and floating rounding errors fixed)

parent 9fe82395
No related branches found
No related tags found
No related merge requests found
......@@ -292,6 +292,7 @@ def on_import_ini_clicked(b):
def on_replot_button_clicked(b):
with output:
global df_transfer,df_output,df_gatediode,points_transfer,points_output
clear_output()
disable_widgets(all_widgets)
replot_button.disabled = True
......
......@@ -9,7 +9,7 @@
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "24b8e6fd85fb4df4b3bd4afa14f595e2",
"model_id": "2638bd63af444e68994918696154d12c",
"version_major": 2,
"version_minor": 0
},
......@@ -23,7 +23,7 @@
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "cc333d44d36e48178e9b2709622fd9a5",
"model_id": "b591d6385eff426fbba4cf45c8b30a61",
"version_major": 2,
"version_minor": 0
},
......@@ -37,7 +37,7 @@
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "9af1536c7cf14f7786d519ac37acf9c9",
"model_id": "28df52400d24479b8527781d9ff59a7b",
"version_major": 2,
"version_minor": 0
},
......@@ -51,7 +51,7 @@
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "6e8316dece27445b872363e53028c2ec",
"model_id": "c143972b5b3d40d3a3347c486c760d38",
"version_major": 2,
"version_minor": 0
},
......@@ -65,7 +65,7 @@
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "76d05f822c684d2e8ed7596aa7ff75ec",
"model_id": "72efd18ffe784d928e3a49f403080dd0",
"version_major": 2,
"version_minor": 0
},
......
......@@ -84,7 +84,7 @@ def Transfer_VTG(VTG,VDS,integration,sample,device):
df["ITGmm/uA/um"]= (df["ITG/A"].apply(lambda x: Decimal(str(x))*Decimal(str(norm)))).astype('float')
# Plot normalized Results VTG-IDmm
fig,ax1= plt.subplots(figsize=(10,6))
fig,ax1= plt.subplots(figsize=(10,6),layout='constrained')
x = np.array_split(df["VTG/V"],points)
y = np.array_split(df["IDmm/uA/um"].abs(),points)
......@@ -99,7 +99,7 @@ def Transfer_VTG(VTG,VDS,integration,sample,device):
# Adding title
fig.suptitle('Transfer Curve', fontweight ="bold")
ax1.legend(loc='upper left',borderaxespad=0., bbox_to_anchor=(1.05,1))
fig.legend(loc='outside right upper')
#fig.tight_layout()
display(fig)
......@@ -217,7 +217,7 @@ def Transfer_VBG(VBG,VDS,integration,sample,device):
df["IBGmm/uA/um"]= (df["IBG/A"].apply(lambda x: Decimal(str(x))*Decimal(str(norm)))).astype('float')
# Plot normalized Results VTG-IDmm
fig,ax1= plt.subplots(figsize=(10,6))
fig,ax1= plt.subplots(figsize=(10,6),layout='constrained')
x = np.array_split(df["VBG/V"],points)
y = np.array_split(df["IDmm/uA/um"].abs(),points)
......@@ -232,7 +232,7 @@ def Transfer_VBG(VBG,VDS,integration,sample,device):
# Adding title
fig.suptitle('Transfer Curve', fontweight ="bold")
ax1.legend(loc='upper left',borderaxespad=0., bbox_to_anchor=(1.05,1))
fig.legend(loc='outside right upper')
#fig.tight_layout()
display(fig)
......@@ -334,7 +334,7 @@ def Transfer_BOTH(VTG,VBG,VDS,integration,sample,device):
ratio,offset = calculate_line(VTG,VBG)
# update VBG step
VBG["step"].value = ratio * VBG["step"].value
VBG["step"].value = Decimal(str(ratio)) * Decimal(str(VBG["step"].value))
vard = device.vard_dict()
vard.update(
......@@ -371,7 +371,7 @@ def Transfer_BOTH(VTG,VBG,VDS,integration,sample,device):
df["ITGmm/uA/um"]= (df["ITG/A"].apply(lambda x: Decimal(str(x))*Decimal(str(norm)))).astype('float')
# Plot normalized Results VTG-IDmm
fig,ax1= plt.subplots(figsize=(10,6))
fig,ax1= plt.subplots(figsize=(10,6),layout='constrained')
x1 = np.array_split(df["VBG/V"],points)
y = np.array_split(df["IDmm/uA/um"].abs(),points)
......@@ -394,7 +394,7 @@ def Transfer_BOTH(VTG,VBG,VDS,integration,sample,device):
# Adding title
fig.suptitle('Transfer Curve', fontweight ="bold")
ax1.legend(loc='upper left',borderaxespad=0., bbox_to_anchor=(1.05,1))
fig.legend(loc='outside right upper')
#fig.tight_layout()
display(fig)
......@@ -524,13 +524,13 @@ def Output_VTG(VDS,VTG,integration,sample,device):
df["ITGmm/uA/um"]= df["ITG/A"]*norm
# Plot normalized Results VTG-IDmm
fig,ax1= plt.subplots(figsize=(10,6))
fig,ax1= plt.subplots(figsize=(10,6),layout='constrained')
x = np.array_split(df["VDS/V"],points)
y = np.array_split(df["IDmm/uA/um"],points)
labels =np.mean(np.array_split(df["VTG/V"],points),axis = 1) # VDS values for labels
ax1.set_xlabel('$V_{VS} (V)$')
ax1.set_xlabel('$V_{DS} (V)$')
ax1.set_ylabel('$I_{D} (uA/um)$')
for i in range(points):
......@@ -538,7 +538,7 @@ def Output_VTG(VDS,VTG,integration,sample,device):
# Adding title
fig.suptitle('Output Curve', fontweight ="bold")
ax1.legend(loc='upper left',borderaxespad=0., bbox_to_anchor=(1.05,1))
fig.legend(loc='outside right upper')
#fig.tight_layout()
display(fig)
......@@ -662,13 +662,13 @@ def Output_VBG(VDS,VBG,integration,sample,device):
df["IBGmm/uA/um"]= (df["IBG/A"].apply(lambda x: Decimal(str(x))*Decimal(str(norm)))).astype('float')
# Plot normalized Results VTG-IDmm
fig,ax1= plt.subplots(figsize=(10,6))
fig,ax1= plt.subplots(figsize=(10,6),layout='constrained')
x = np.array_split(df["VDS/V"],points)
y = np.array_split(df["IDmm/uA/um"],points)
labels_VBG =np.mean(np.array_split(df["VBG/V"],points),axis = 1) # VDS values for labels
ax1.set_xlabel('$V_{VS} (V)$')
ax1.set_xlabel('$V_{DS} (V)$')
ax1.set_ylabel('$I_{D} (uA/um)$')
for i in range(points):
......@@ -676,7 +676,7 @@ def Output_VBG(VDS,VBG,integration,sample,device):
# Adding title
fig.suptitle('Output Curve', fontweight ="bold")
ax1.legend(loc='upper left',borderaxespad=0., bbox_to_anchor=(1.05,1))
fig.legend(loc='outside right upper')
#fig.tight_layout()
display(fig)
......@@ -814,14 +814,14 @@ def Output_BOTH(VDS,VTG,VBG,integration,sample,device):
df["ITGmm/uA/um"]= (df["ITG/A"].apply(lambda x: Decimal(str(x))*Decimal(str(norm)))).astype('float')
# Plot normalized Results VTG-IDmm
fig,ax1= plt.subplots(figsize=(10,6))
fig,ax1= plt.subplots(figsize=(10,6),layout='constrained')
x = np.array_split(df["VDS/V"],points)
y = np.array_split(df["IDmm/uA/um"],points)
labels_VBG =np.mean(np.array_split(df["VBG/V"],points),axis = 1) # VBG values for labels
labels_VTG = np.mean(np.array_split(df["VTG/V"],points),axis = 1)
ax1.set_xlabel('$V_{VS} (V)$')
ax1.set_xlabel('$V_{DS} (V)$')
ax1.set_ylabel('$I_{D} (uA/um)$')
for i in range(points):
......@@ -829,7 +829,7 @@ def Output_BOTH(VDS,VTG,VBG,integration,sample,device):
# Adding title
fig.suptitle('Output Curve', fontweight ="bold")
ax1.legend(loc='upper left',borderaxespad=0., bbox_to_anchor=(1.05,1),ncols=points_VBG)
fig.legend(loc='outside right upper')
#fig.tight_layout()
display(fig)
......@@ -939,7 +939,7 @@ def Gatediode_VTG(VTG,integration,sample,device):
df["ITGmm/uA/um"]= (df["ITG/A"].apply(lambda x: Decimal(str(x))*Decimal(str(norm)))).astype('float')
# Plot normalized Results VTG-IDmm
fig,ax1= plt.subplots(figsize=(10,6))
fig,ax1= plt.subplots(figsize=(10,6),layout='constrained')
x = df["VTG/V"]
y = df["ITGmm/uA/um"].abs()
......@@ -1051,7 +1051,7 @@ def Gatediode_VBG(VBG,integration,sample,device):
df["IBGmm/uA/um"]= (df["IBG/A"].apply(lambda x: Decimal(str(x))*Decimal(str(norm)))).astype('float')
# Plot normalized Results VTG-IDmm
fig,ax1= plt.subplots(figsize=(10,6))
fig,ax1= plt.subplots(figsize=(10,6),layout='constrained')
x = df["VBG/V"]
y = df["IBGmm/uA/um"].abs()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment