コード例 #1
0
ファイル: diode_1d.py プロジェクト: xj361685640/devsim
#

device = "MyDevice"
region = "MyRegion"

diode_common.CreateMesh(device=device, region=region)

diode_common.SetParameters(device=device, region=region)
set_parameter(device=device, region=region, name="taun", value=1e-8)
set_parameter(device=device, region=region, name="taup", value=1e-8)

diode_common.SetNetDoping(device=device, region=region)

print_node_values(device=device, region=region, name="NetDoping")

diode_common.InitialSolution(device, region)

# Initial DC solution
solve(type="dc",
      absolute_error=1.0,
      relative_error=1e-10,
      maximum_iterations=30)

diode_common.DriftDiffusionInitialSolution(device, region)
###
### Drift diffusion simulation at equilibrium
###
solve(type="dc",
      absolute_error=1e10,
      relative_error=1e-10,
      maximum_iterations=30)
コード例 #2
0
ファイル: ssac_diode.py プロジェクト: xj361685640/devsim
circuit_element(name="V1", n1=GetContactBiasName("top"), n2=0, value=0.0, acreal=1.0, acimag=0.0)





device="MyDevice"
region="MyRegion"

diode_common.CreateMesh2(device, region)

diode_common.SetParameters(device=device, region=region)

diode_common.SetNetDoping(device=device, region=region)

diode_common.InitialSolution(device, region, circuit_contacts="top")

# Initial DC solution
solve(type="dc", absolute_error=1.0, relative_error=1e-12, maximum_iterations=30)


diode_common.DriftDiffusionInitialSolution(device, region, circuit_contacts=["top"])

v=0.0
while v < 0.51: 
    circuit_alter(name="V1", value=v)
    solve(type="dc", absolute_error=1e10, relative_error=1e-10, maximum_iterations=30)
    #TODO: get out circuit information
#  PrintCurrents(device, "top")
    PrintCurrents(device, "bot")
    solve(type="ac", frequency=1.0)