Example #1
0
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

import devsim

device="MyDevice"
region="MyRegion"

devsim.load_devices(file="trimesh2.msh")
devsim.print_node_values(device="MyDevice", region="MyRegion", name="NodeVolume")
devsim.print_edge_values(device="MyDevice", region="MyRegion", name="EdgeCouple")

devsim.set_parameter(device=device, region=region, name="Permittivity",   value=3.9*8.85e-14)
devsim.set_parameter(device=device, region=region, name="ElectricCharge", value=1.6e-19)

devsim.node_solution(device=device, region=region, name="Potential")
devsim.edge_from_node_model(device=device, region=region, node_model="Potential")

devsim.edge_model(device=device, region=region, name="ElectricField", equation="(Potential@n0 - Potential@n1)*EdgeInverseLength")
devsim.edge_model(device=device, region=region, name="ElectricField:Potential@n0", equation="EdgeInverseLength")
devsim.edge_model(device=device, region=region, name="ElectricField:Potential@n1", equation="-EdgeInverseLength")

devsim.set_parameter(device=device, region=region, name="topbias", value=1.0e-0)
devsim.set_parameter(device=device, region=region, name="botbias", value=0.0)
Example #2
0
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

#### Plan is to use this file for full restart, including equations
import devsim
device = "mymos"
devsim.load_devices(file="mos_2d_dd.msh")
import mos_2d_params

devsim.set_parameter(name="debug_level", value="info")
devsim.set_parameter(device=device,
                     region="gate",
                     name="debug_level",
                     value="verbose")

devsim.solve(type="dc",
             absolute_error=1.0e30,
             relative_error=1e-5,
             maximum_iterations=30)

devsim.write_devices(file="mos_2d_restart2.msh", type="devsim")
Example #3
0
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

import devsim

devsim.load_devices( file="mesh1.msh")

for x in devsim.get_device_list():
  for y in devsim.get_region_list(device=x):
    print("%s %s" % (x, y))

device="MyDevice"
region="MyRegion"

devsim.set_parameter( device=device, region=region, name="Permittivity", value=3.9*8.85e-14)
devsim.set_parameter( device=device, region=region, name="ElectricCharge", value=1.6e-19)


devsim.node_solution( device=device, region=region, name="Potential")

devsim.edge_from_node_model(device=device, region=region, node_model="Potential")
Example #4
0
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# cap device to test displacement current at contact
import devsim

device = "test"
region = "bulk"
devsim.load_devices(file='3dtetmesh.msh')
#c=3.9*8.85e-14*(6e-2*6e-2)/6e-2

###
### Set parameters on the region
###
devsim.set_parameter(device=device,
                     region=region,
                     name="Permittivity",
                     value=3.9 * 8.85e-14)

###
### Create the Potential solution variable
###
devsim.node_solution(device=device, region=region, name="Potential")
Example #5
0
    CreateOxideContact(device=device, region=region_ox, contact=contact_ox)
    CreateSiliconPotentialOnlyContact(device=device,
                                      region=region_si,
                                      contact=contact_si)
    SetSiliconParameters(device=device, region=region_si)
    SetOxideParameters(device=device, region=region_ox)


device = "MyDevice"
region_ox = "MyOxRegion"
region_si = "MySiRegion"
interface_siox = "MySiOx"
contact_ox = "top"
contact_si = "bot"

ds.load_devices(file="moscap2d_devsim.msh")
tox = 3
width = 1e-7  #nm
carrier_var = "Electrons"
charge_factor = 1e7 / 1e-7  #from F/cm^2 to fF/um^2
toxstring = r' t$_{ox}$=%s (nm)' % tox
pdfname = '2dresult.pdf'

#try:
#  tox = float(sys.argv[1])*1e-7
#  carrier_var = sys.argv[2]
#  pdfname = sys.argv[3]
#except Exception as e:
#  print '''args tox carrier pdfname
#tox:     oxide thickness (nm)
#carrier: Electrons or Holes