Hi. I have a new problem). Let’s say I need to cover the drain and source region with uniform doping. I changed the code, but it doesn’t seem to work that way. Is it possible to create a region for a drain and a source and include them in this way?
devsim.add_2d_region(mesh="mos", material="Air" , region="air")
devsim.add_2d_region(mesh="mos", material="Silicon", region="bulk", xl=x_bulk_left, xh=x_bulk_right, yl=y_bulk_bottom, yh=y_bulk_top)
devsim.add_2d_region(mesh="mos", material="Silicon", region="gate", xl=x_gate_left, xh=x_gate_right, yl=y_oxide_top, yh=y_gate_top)
devsim.add_2d_region(mesh="mos", material="Silicon", region="source", yl=0, yh=1.0e-5, xl=9.0e-5, xh=1.0e-4)
devsim.add_2d_region(mesh="mos", material="Silicon", region="drain", xl=0, xh=1.0e-5, yl=0, yh=1.0e-5)
devsim.add_2d_region(mesh="mos", material="Oxide" , region="oxide", xl=x_gate_left, xh=x_gate_right, yl=y_bulk_top, yh=y_oxide_top)
devsim.add_2d_contact(mesh="mos", name="gate", region="gate", yl=y_gate_top, yh=y_gate_top, material="metal")
devsim.add_2d_contact(mesh="mos", name="body", region="bulk", yl=y_bulk_bottom, yh=y_bulk_bottom, material="metal")
devsim.add_2d_contact(mesh="mos", name="source", region="source", yl=0, yh=1.0e-5, xl=1.0e-4, xh=1.0e-4, material="metal")
devsim.add_2d_contact(mesh="mos", name="drain" , region="drain", yl=0, yh=1.0e-5, xl=0, xh=0, material="metal")
devsim.add_2d_interface(mesh="mos", name="gate_oxide", region0="gate", region1="oxide")
devsim.add_2d_interface(mesh="mos", name="bulk_oxide", region0="bulk", region1="oxide")
devsim.finalize_mesh(mesh="mos")
devsim.create_device(mesh="mos", device=device)
format_dict= {
'gate_doping' : gate_doping,
'source_doping' : source_doping,
'drain_doping' : drain_doping,
# 'body_doping' : body_doping,
'bulk_doping' : bulk_doping,
'x_gate_left' : x_gate_left,
'x_gate_right' : x_gate_right,
'x_diffusion_decay' : x_diffusion_decay,
'y_diffusion' : y_diffusion,
'y_diffusion_decay' : y_diffusion_decay,
'y_bulk_bottom' : y_bulk_bottom,
}
devsim.node_model(name="NetDoping" , device=device, region="gate", equation="%(gate_doping)s" % format_dict)
devsim.node_model(name="DrainDoping" , device=device, region="drain", equation="%(drain_doping)s" % format_dict)
devsim.node_model(name="SourceDoping", device=device, region="source", equation="%(source_doping)s" % format_dict)
devsim.node_model(name="BodyDoping", device=device, region="bulk", equation="%(bulk_doping)s "% format_dict)
devsim.node_model(name="Donors", device=device, region="drain", equation="DrainDoping")
devsim.node_model(name="Donors", device=device, region="source", equation="SourceDoping")
devsim.node_model(name="Donors", device=device, region="bulk", equation="1")
devsim.node_model(name="Acceptors", device=device, region="bulk", equation="%(bulk_doping)1.15e + BodyDoping" % format_dict)
devsim.node_model(name="NetDoping", device=device, region="bulk", equation="Donors - Acceptors")
devsim.node_model(name="NetDoping", device=device, region="drain", equation="Donors")
devsim.node_model(name="NetDoping", device=device, region="source", equation="Donors")