Hi @Juan,
I’m trying to impose some current at a boundary conditions (to add some thermionic emission current, Jt
) for which I thought it would suffice to add a node_current_model
to my contact equation in a way similar to what is done here. So far, however, I haven’t been able to make it work. This model seems to be simply ignored (most likely because I’m doing something wrong).
Here’s what I have so far:
# let's add some Thermionic Emission current.
Jte_n = f"{An}*{T0*T0}*exp(-{phi_B}/kT)"
Jte_p = f"{Ap}*{T0*T0}*exp(-({Si['Eg']*Q_e}-{phi_B})/kT)"
bias = sp.GetContactBiasName(contact)
Jtn = f"ifelse(NetDoping>0, -{Jte_n}*(exp(-{bias}*{Q_e}/kT)-1.0), 0)*ContactSurfaceArea"
Jtp = f"ifelse(NetDoping<0, {Jte_p}*(exp(-{bias}*{Q_e}/kT)-1.0), 0)*ContactSurfaceArea"
ds.contact_node_model(device="device", contact=contact, name=f"{contact}_TE_ElectronCurrent", equation=Jtn)
ds.contact_node_model(device="device", contact=contact, name=f"{contact}_TE_HoleCurrent", equation=Jtp)
and later, in the contact creation
ds.contact_equation(
device="device",
contact=contact,
name="ElectronContinuityEquation",
node_model=contact_electrons_name,
node_current_model=f"{contact}_TE_ElectronCurrent",
# edge_current_model="ElectronCurrent",
)
ds.contact_equation(
device="device",
contact=contact,
name="HoleContinuityEquation",
node_model=contact_holes_name,
node_current_model=f"{contact}_TE_HoleCurrent",
# edge_current_model="HoleCurrent",
)
What am I doing wrong? Am I interpreting node_current_model
in the wrong way?
Thanks for all your help in advance,