Esempio n. 1
0
def CreateSimpleMeshWithInterface(device,
                                  region0,
                                  region1,
                                  interface,
                                  material1='Si',
                                  material2='Si'):
    '''
    Commonly used for the regressions
    device length: 1
    spacing:       0.1
    contacts:      top (x=0), bot (x=1)
    interface:     mid (x=0.5)
  '''
    devsim.create_1d_mesh(mesh='dog')
    devsim.add_1d_mesh_line(mesh='dog', pos=0, ps=0.1, tag='top')
    devsim.add_1d_mesh_line(mesh='dog', pos=0.5, ps=0.1, tag='mid')
    devsim.add_1d_mesh_line(mesh='dog', pos=1, ps=0.1, tag='bot')
    devsim.add_1d_contact(mesh='dog', name='top', tag='top', material='metal')
    devsim.add_1d_contact(mesh='dog', name='bot', tag='bot', material='metal')
    devsim.add_1d_interface(mesh='dog', name=interface, tag='mid')
    devsim.add_1d_region(mesh='dog',
                         material=material1,
                         region=region0,
                         tag1='top',
                         tag2='mid')
    devsim.add_1d_region(mesh='dog',
                         material=material2,
                         region=region1,
                         tag1='mid',
                         tag2='bot')
    devsim.finalize_mesh(mesh='dog')
    devsim.create_device(mesh='dog', device=device)
Esempio n. 2
0
def CreateNoiseMesh(device, region, material='Si'):
    '''
      Commonly used for the regressions
      device length: 1
      spacing:       0.1
      contacts:      top (x=0), bot (x=1)
    '''
    devsim.create_1d_mesh  (mesh='dog')
    devsim.add_1d_mesh_line(mesh='dog', pos=0, ps=5e-7, tag='top')
    devsim.add_1d_mesh_line(mesh='dog', pos=1e-5, ps=5e-7, tag='bot')
    devsim.add_1d_contact  (mesh='dog', name='top', tag='top', material='metal')
    devsim.add_1d_contact  (mesh='dog', name='bot', tag='bot', material='metal')
    devsim.add_1d_region   (mesh='dog', material=material, region=region, tag1='top', tag2='bot')
    devsim.finalize_mesh   (mesh='dog')
    devsim.create_device   (mesh='dog', device=device)
Esempio n. 3
0
def make_moscap(device, interface_siox, region_ox, region_si, contact_ox,
                contact_si, tox, tsi, ox_material, si_material):
    '''
      need to generalize, but good enough for our examples
    '''
    ds.create_1d_mesh(mesh="moscap")
    if False:
        ds.add_1d_mesh_line(mesh="moscap", pos=tox, ps=1e-7, tag="d0")
        ds.add_1d_mesh_line(mesh="moscap", pos=0.0, ns=1e-9, ps=1e-7, tag="d1")
        if tsi > 1e-6:
            ds.add_1d_mesh_line(mesh="moscap", pos=-1e-6, ps=5e-9)
        ds.add_1d_mesh_line(mesh="moscap", pos=-tsi, ps=1e-7, tag="d2")
        ds.add_1d_contact(mesh="moscap",
                          name=contact_ox,
                          tag="d0",
                          material="metal")
        ds.add_1d_contact(mesh="moscap",
                          name=contact_si,
                          tag="d2",
                          material="metal")
        ds.add_1d_interface(mesh="moscap", name=interface_siox, tag="d1")
        ds.add_1d_region(mesh="moscap",
                         material=ox_material,
                         region=region_ox,
                         tag1="d0",
                         tag2="d1")
        ds.add_1d_region(mesh="moscap",
                         material=si_material,
                         region=region_si,
                         tag1="d1",
                         tag2="d2")
    else:
        ds.add_1d_mesh_line(mesh="moscap", pos=-tox, ps=1e-7, tag="d0")
        ds.add_1d_mesh_line(mesh="moscap", pos=0.0, ps=1e-9, ns=1e-7, tag="d1")
        if tsi > 1e-6:
            ds.add_1d_mesh_line(mesh="moscap", pos=1e-6, ps=5e-9)
        ds.add_1d_mesh_line(mesh="moscap", pos=tsi, ps=1e-7, tag="d2")
        ds.add_1d_contact(mesh="moscap",
                          name=contact_ox,
                          tag="d0",
                          material="metal")
        ds.add_1d_contact(mesh="moscap",
                          name=contact_si,
                          tag="d2",
                          material="metal")
        ds.add_1d_interface(mesh="moscap", name=interface_siox, tag="d1")
        ds.add_1d_region(mesh="moscap",
                         material=ox_material,
                         region=region_ox,
                         tag1="d0",
                         tag2="d1")
        ds.add_1d_region(mesh="moscap",
                         material=si_material,
                         region=region_si,
                         tag1="d1",
                         tag2="d2")
    ds.finalize_mesh(mesh="moscap")
    ds.create_device(mesh="moscap", device=device)