23
Network for Computational Nanotechnology (NCN) Purdue, Norfolk State, Northwestern, MIT, Molecular Foundry, UC Berkeley, Univ. of Illinois, UTEP MetaPoissonQTBM5 solver options

MetaPoissonQTBM5 solver options

  • Upload
    kieve

  • View
    77

  • Download
    2

Embed Size (px)

DESCRIPTION

MetaPoissonQTBM5 solver options. MetaPoissonQTBM5 solver. Purpose of this solver is to abstract out some of the input options for QTBM with Poisson for wires, UTB (Ultra thin bodies), and quasi-1D systems. MetaPoissonQTBM5 solver. General Options. General Options(1). General Options(2). - PowerPoint PPT Presentation

Citation preview

Page 1: MetaPoissonQTBM5 solver options

Network for Computational Nanotechnology (NCN)Purdue, Norfolk State, Northwestern, MIT, Molecular Foundry, UC Berkeley, Univ. of Illinois, UTEP

MetaPoissonQTBM5 solver options

Page 2: MetaPoissonQTBM5 solver options

Gerhard Klimeck 2

MetaPoissonQTBM5 solver

• Purpose of this solver is to abstract out some of the input options for QTBM with Poisson for wires, UTB (Ultra thin bodies), and quasi-1D systems.

Page 3: MetaPoissonQTBM5 solver options

Gerhard Klimeck 3

MetaPoissonQTBM5 solver

General Options

Page 4: MetaPoissonQTBM5 solver options

Gerhard Klimeck 4

General Options(1)

Option Name Description Default Value Possible Range

name Name associated with this solver. Its value will be prepended to each file name.

None. This is required. string

type Tells NEMO5 to use the MetaPoissonQTBM5 solver

MetaPoissonQTBM5 MetaPoissonQTBM5

tb_basis The tight-binding basis/ band structure model

None. This is required. em, sp3, sp3sstar, sp3d5, sp3d5sstar, sp3_SO, sp3sstar_SO, sp3d5_SO, sp3d5sstar_SO

temperature The temperature used in the Schroedinger solver in Kelvin.

300 double

material_semiconductor This is the tag associated with the semiconductor material defined in the input deck and should match.

chunk_of_Silicon string

no_integration_for_transmission

Tells propagation whether to apply an integration weight (based on dimensionality) and integrate transmission.

false true/false

Page 5: MetaPoissonQTBM5 solver options

Gerhard Klimeck 5

General Options(2)

Option Name Description Default Value Possible Range

device Name of the domain associated with the device. This should correspond to the domain in the domain section of the input deck.

device string

drain_contact Name of the domain associated with the drain contact. This should correspond to the domain in the domain section of the input deck.

drain_contact string

drain_mode_contact Name of the domain associated with the drain mode contact. This should correspond to the domain in the domain section of the input deck.

drain_mode_contact string

drain_drain_contact Name of the domain associated with the drain drain contact. This should correspond to the domain in the domain section of the input deck.

drain_drain_contact string

Page 6: MetaPoissonQTBM5 solver options

Gerhard Klimeck 6

General Options(3)

Option Name Description Default Value Possible Range

drain_drain_drain_contact Name of the domain associated with the drain drain drain contact. This should correspond to the domain in the domain section of the input deck.

drain_drain_drain_contact string

source_contact Name of the domain associated with the source contact. This should correspond to the domain in the domain section of the input deck.

source_contact string

source_mode_contact Name of the domain associated with the source mode contact. This should correspond to the domain in the domain section of the input deck.

source_mode_contact string

source_source_contact Name of the domain associated with the source source contact. This should correspond to the domain in the domain section of the input deck.

source_source_contact string

Page 7: MetaPoissonQTBM5 solver options

Gerhard Klimeck 7

General Options(4)

Option Name Description Default Value Possible Range

source_source_source_contact

Name of the domain associated with the source source source contact. This should correspond to the domain in the domain section of the input deck.

source_source_source_contact

string

contact_aux The name of the domain to be used by the fast self-consistent algorithm for calculating the Fermi level in the contacts.

contact_aux user defined

debug_output_job_list A debug output options to output a file that includes the (E,k) tuple load balancing for each MPI rank.

false true/false

reuse_hamiltonian If this is true then the base Hamiltonian i.e. without the potential from Poisson will be saved and subsequently loaded when requested. This should save time but uses more memory.

true true/false

Page 8: MetaPoissonQTBM5 solver options

Gerhard Klimeck 8

General Options(5)

Option Name Description Default Value Possible Range

with_poisson This option is used to set whether the simulation should be done with or without self-consistent Poisson.

false true/false

ratio_of_LRA This option is used for a reduced rank matrix method for Transport. It says what ratio of the total eigenvalues to use to transform the source matrix.

1 between 0 – 1. 0.05 is a typical value for LRA and 1 is no reduction.

system_is_wire_with_no_SO

If the system is a wire with no spin orbit coupling this should be set as true. This will greatly reduce the time the simulation takes.

false true/false

density_solver The Propagator Solver that provides the density for QTBM_Propagation type Solver.

The name of the Meta Solver + ‘:Core:QTBM_test

Page 9: MetaPoissonQTBM5 solver options

Gerhard Klimeck 9

General Options(6)

Option Name Description Default Value Possible Range

derivative_of_density_solver The Propagator Solver that provides the derivative of density for QTBM_Propagation type Solver.

The name of the Meta Solver + ‘:Core:QTBM_test

solver_type The linear solver to solve the QTBM equation.

mumps mumps or compression

debug_output A catch-all option for output that isn’t necessary unless debugging.

false true/false

no_file_output This suppresses output files from QTBM

false true/false

Page 10: MetaPoissonQTBM5 solver options

Gerhard Klimeck 10

General Options(7)

Option Name Description Default Value Possible Range

solve_on_single_replica This should not be changed. Required to avoid communication.

true true/false

system_type Defines the system. It is used to define the transverse kx (if UTB) and the momentum_names. It will define transverse kx and ky if system_type == quasi_1D

wire wire or UTB

noise_potential Adds a fictitious random noise potential to account for degenerate states in QTBM of the magnitude of this value.

1e-6 double

constant_lead_eta eta added to diagonal of lead Hamiltonian used in transfer_matrix

0.0 true/false

Page 11: MetaPoissonQTBM5 solver options

Gerhard Klimeck 11

General Options(8)

Option Name Description Default Value Possible Range

MPI_distribution_strategy Defines the spatial distribution strategy for the repartioner. If solver_type == compression use OMEN.

OMEN OMEN, NEMO5

number_of_MPI_ranks_in_real_space

The number of processes for Spatial Parallelizing of QTBM

No default. n > 0

active_regions Used to let the solver know what is the device region

Device:ActiveRegion:device. This should not be changed

Device:ActiveRegion:device

material_semiconductor_name

Should match the name of material in Material section (old geometry definition), or material_name option in Device (metageometry definition). Used for the semiclassical charge solver (initial guess).

Si All existing material names in NEMO5

Page 12: MetaPoissonQTBM5 solver options

Gerhard Klimeck 12

General Options(9)

Option Name Description Default Value Possible Range

electron_hole_model Use both electrons and holes (with spatial thershold) in QTBM density calculation (eg. for TFET devices)

false true, false

electron_hole_heuristics Algorithm for distinguishing electrons from holes given the spatial threshold

sharp omen_smooth, sharp

particle Particle type if single particle device.

electron electron, hole

particle_source Source particle type. = particle electron, hole (Required for devices where one contact is n-type and one p-type)

particle_drain Drain particle type. = particle electron, hole (Required for devices where one contact is n-type and one p-type)

raw_transmission_output Whether to output Transmission

= false True, false

Page 13: MetaPoissonQTBM5 solver options

Gerhard Klimeck 13

MetaPoissonQTBM5 solver

Poisson (Boundary Conditions and Convergence) Options

Page 14: MetaPoissonQTBM5 solver options

Gerhard Klimeck 14

Poisson Options (1)

Option Name Description Default Value Possible Range

laplacian Defines the direction in which to solve the linear Poisson in the leads. It is used to propagate device Poisson potential to the leads.

(x) (x), (y) or (z)

gate_voltage A single value to define the applied gate voltage. To use multiple values use a ramper Solver instead.

0.0 double

source_voltage A single value to define the applied source voltage. To use multiple values use a ramper Solver instead.

0.8 double

drain_voltage A single value to define the applied drain voltage. To use multiple values use a ramper Solver instead.

0.0 double

ramper_contact The name of which contact to apply the ramper_voltage to.

gate gate, drain, or source

Page 15: MetaPoissonQTBM5 solver options

Gerhard Klimeck 15

Poisson Options (2)

Option Name Description Default Value Possible Range

ramper_voltage A list of voltages that are to be applied to the contact defined in ramper_contact

(0.0) A list of doubles.

regions_adjacent_to_source_electrode

The region number that is connected to the source electrode. This allows NEMO5 to know where the source electrode is connected and is used for applying boundary conditions in Poisson.

None. This is required. A list of integers corresponding to regions.

regions_adjacent_to_drain_electrode

The region number that is connected to the drain electrode. This allows NEMO5 to know where the drain electrode is connected and is used for applying boundary conditions in Poisson.

None. This is required. A list of integers corresponding to regions.

metal_work_function The energy required (in eV) to move an electron from the Fermi Energy to vacuum. It is used by Poisson for the Schottky contact Boundary condition.

4.2 double > 0

Page 16: MetaPoissonQTBM5 solver options

Gerhard Klimeck 16

Poisson Options (3)

Option Name Description Default Value Possible Range

Source_chemical_potential The electrochemical potential (in eV) for the source contact. It is used by QTBM and adaptive grid, unless it is overwritten by Poisson boundary conditions (which happens by default).

0.0 double

Drain_chemical_potential The electrochemical potential (in eV) for the drain contact. It is used by QTBM and adaptive grid, unless it is overwritten by Poisson boundary conditions (which happens by default).

0.0 double

iteration_output A catch-all option for intermediate output useful for debugging iterations in Poisson.Some examples of output is Adaptive Grid E,k data and 1D output potential which has potential, density etc. Note: Simulation will take much longer with this option set true. It should only be used when debugging.

false true/false

Page 17: MetaPoissonQTBM5 solver options

Gerhard Klimeck 17

Poisson Options (3)

Option Name Description Default Value Possible Range

Dirichlet_nodes_output If this is true the Dirchlet nodes will be outputted in a .dat files.

false true/false

output_line_corners To define a line through the device in which to print a poisson_1D_output file that has potential, density etc.

[(0, 1.0862, 1.0862), (20.0, 1.0862, 1.062)]

Should follow convention similar to default.

average_charge_over_fem_cell

This option is used to define how is the atomic charge mapped to the FEM cell (averaged or delta like points).

true true/false

poisson_max_iterations Maximum number of iterations to be used by the Poisson algorithm before stopping

15 n > 0

convergence_limit convergence limit for iterative solution methods (accuracy of eigenvalues)

1e-7 double

Page 18: MetaPoissonQTBM5 solver options

Gerhard Klimeck 18

Poisson Options (5)

Option Name Description Default Value Possible Range

homogenous_initial_potential

An initial guess for Poisson (when safe mode is used) that should be close to the actual value of the potential. If this value is chosen close to actual this will improve convergence.

1.5 double

selfconsistent_algorithm Algorithm used to solve the nonlinear Poisson equation. Fast uses a semi-classical guess for the first point, previous solution for the second point, and prediction based on previous two solutions for the third and higher points. It also uses a full step size in the Newton method. Safe uses a simple homogenous initial guess for the first point, previous solution as initial guess for other points, and Newton method with protection against divergence.

safe safe, fast

Page 19: MetaPoissonQTBM5 solver options

Gerhard Klimeck 19

MetaPoissonQTBM5 solver

Energy and K-space

Page 20: MetaPoissonQTBM5 solver options

Gerhard Klimeck 20

Energy and K-Space options(1)

Option Name Description Default Value Possible Range

energy_grid_small_number_of_points

The number of points to actually use in the adaptive energy grid ( = n means only first n points will be used from the ordered adaptive grid).

None. This is required. n > 0

bands_number_of_nodes The number of k nodes in the transport direction to solve for in the Schroedinger band structure solver for the drain and source mode contact domain.

200 n > 0

non_rectangular_energy This option must be true to define a k-dependent energy mesh. This is necessary for system_type == UTB/quasi_1D

false true/false

energy_points The number of energy points to use for a homogenous energy grid.

None. This is required if not using Adaptive Grid

n > 0

energy_range The energy range (in eV) to be used by homogenous grid.

None. This is required if not using Adaptive Grid

A list that defines the minimum and the minimum energy.

Page 21: MetaPoissonQTBM5 solver options

Gerhard Klimeck 21

Energy and K-Space options(2)

Option Name Description Default Value Possible Range

number_of_eigenvalues_to_use

The number of contact bands to actually use in the code for constructing the adaptive grid.

16 n > 0

number_of_eigenvalues The number of contact bands that the Schroedinger band structure solvers should attempt to find. This option must be high enough to ensure that band solvers find enough converged eigenvalues to satisfy the above option. Otherwise this option does not affect the simulation results.

150 Any integer greater than or equal to the number_eigenvalues_to_use should usually be several times larger.

number_of_k_points The number of k nodes in the transverse direction/directions to solve for in the Schroedinger band structure solver for the drain and source mode contact domain.

None. This is required for system_type == UTB and system_type == quasi_1D.

n > 0

Page 22: MetaPoissonQTBM5 solver options

Gerhard Klimeck 22

Energy and K-Space options(3)Option Name Description Default Value Possible Range

particle Used to set the eigenvalue sorting for Schroedinger and set the default drain and source threshold energy used by QTBM Solver to decide if the energy is a hole or an electron.

electron electron or hole

degeneracy_factor Sets the degeneracy factor for transmission/current and density calculation in the transport solver. Currently should only be used for transverse k-degeneracy.

1 n > 0

bands_solver_type The eigenvalue solver method to be used by the mode contact Schroedinger solvers and the semiclassical Schroedinger (if selfconsistent_algorithm == fast)

krylovschur krylovschur and lapack to name a few.

energy_grid_constructor This option is used to set the energy grid constructor. It’s main use is for telling QTBM what adaptive grid generator is.

name + ‘:Core:Propagation_Parallelizer”

string corresponding to location of adaptive grid.

Page 23: MetaPoissonQTBM5 solver options

Gerhard Klimeck 23

Energy and K-Space options(4)

Option Name Description Default Value Possible Range

kxmax if system_type == UTB or system_type == quasi_1D Maximum transverse kx

None. This is required if system_type == UTB or system_type == quasi_1D.

double > kxmin

kxmin if system_type == UTB or system_type == quasi_1D Minimum transverse kx

None. This is required if system_type == UTB or system_type == quasi_1D.

double > kxmax

kymax if system_type == quasi_1D Maximum transverse ky

None. This is required if system_type == quasi_1D.

double > kymin

kymin if system_type == quasi_1D Minimum transverse ky

None. This is required if system_type == quasi_1D

double < kymax

energy_resolved_current_output

Outputs energy resolved current. Works for wire geometry only.

true true/false