# vaex03.in : Gated Ultra-Thin Body Structure

Requires: Victory Atomistic

Minimum Versions: Victory Atomistic 1.4.0.R

This example demonstrates the capability to calculate electronic bandstructures, potential and charge distribution in gated ultra-thin body structure[1].

The Material section part contains the crystal structures with name "MoS2". The detalied info resides in the all.mat file containing critical dimension for the crystal structure, effective mass or dielectric constants. The hamiltonian file is pointed to by option created by wannier90 and post-processed for each atom which have the same orbital number. The ** readin_atom_xyz_file** contains the xyz coordinates of the unit cell with their atomic names indexed if duplicated, e.g. Mo1, Mo@. The ** number_of_orbitals** specifies the orbital numbers for each atom in the wannier process.

The stucture is altogether the intersection of the atomic domain and the Region specified by it's coordinates. In the Domain section, a pseudomorphic domain is created by repetition of a single unit cell with desired repeated number of unit cells. The device is periodic in the xy directions while seperated into 3 regions in the z direction. Region 1 decides the MoS2 layer number. Region 2 decides the oxide thickness. Region 3 decides the air thickness.

The poisson equation is solved with electron and holes density calculated from EK_e and EK_hi, respectively. The differential equation is solved with finite element method on a mesh provided by the {Bold} continuum solver with mesh tunable by options {Bold} dx, {Bold} dy, {Bold} dz. The nonlinear equation is iterated with numerical options and convergence criterial specified in the {Bold} poisson_device solver. Schroedinger solves the eigenvalue calculation for the hamiltonian with the Bloch phase due to periodicity. The {Bold} EK1 and {Bold} EK2 solvers calculate along specific k path (high symmetry point) designated by {Bold} k_points. EK1 solves with zero potential while EK2 is solved self-consistently with the potential from the {Bold} poisson_device solver.

Publication: [1] K. C. Wang, T. K. Stanev, D. Valencia, J. Charles, A. Henning, V. K. Sangwan, A. Lahiri, D. Mejia, P. Sarangapani, M. Povolotskyi, A. Afzalian, J. Maassen, G. Klimeck, M. C. Hersam, L. J. Lauhon, N. P. Stern, and T. Kubis, "Control of interlayer physics in 2H transition metal dichalcogenides," J. Appl. Phys., vol. 122, no. 22, 2017.

Visualization: 1. vtk structure output consists of the device structure. {Bold} Use Paraview to visualize these structure files (.vtk extension).

2. band structure data files and IV data files: Files with ".dat" extension. {Bold} Use a graph plotter such as Matlab, Python plotter, or Origin to visualize the data files.

To load and run this example, select the ** Load** button in DeckBuild > Examples. This will copy the input file and any support files to your current working directory. Select the ** Run** button in DeckBuild to execute the example.

## Input Deck

go victoryatomistic simflags="-P 16" // please increase the nz in the fem domain and number_of_k_points for more precise calculation Structure { Material { name = MoS2 tag = substrate crystal_structure = dichalcogenide regions = (1) bond_radius = 0.3 Lattice:u_dichalcogenide = 0.308 Lattice:a_dichalcogenide = 0.316 Bands:TB:MoS2:param_set = param_YaohuaTan_GGA Lattice:coordination_sphere_radius = 1.2 Bands:BandEdge:VBO= -0.9 VBO=-6.52772 Bands:BandEdge:Ec= .1 Bands:BandEdge:Ev= -0.8 doping_type = N doping_density = 2e19 //0000000000000000000 Lattice:epsilon_dc = 4.2 Lattice:epsilon_dc_c = 4.20 Lattice:epsilon_dc_a = 2.8 Lattice:cation1 = "Mo" Lattice:cation2 = "Mo" Lattice:anion1 = "S" Lattice:anion2 = "S" Lattice:anion3 = "S" Lattice:anion4 = "S" number_of_orbitals = 5 readin_hr_file = hamiltonMoS2wa_bulk_rotate.dat readin_atom_xyz_file = wannier90_centres.xyz } Material { name = MoS2 tag = oxide crystal_structure = dichalcogenide regions = (2) bond_radius = 0.3 Lattice:u_dichalcogenide = 0.308 Lattice:a_dichalcogenide = 0.316 Bands:TB:MoS2:param_set = param_YaohuaTan_GGA Lattice:coordination_sphere_radius = 0.38 type="Insulator" doping_type = N doping_density = 0 Bands:BandEdge:Ev = -5 Bands:BandEdge:Ec = 5 Lattice:epsilon_dc = 0.16804210526 Lattice:epsilon_dc_c = 0.16804210526 Lattice:epsilon_dc_a = 2 number_of_orbitals = 5 readin_hr_file = hamiltonMoS2wa_bulk_rotate.dat readin_atom_xyz_file = wannier90_centres.xyz } Material { name = Air tag = air crystal_structure = dichalcogenide regions = (3) } Domain { name = structure1 type = pseudomorphic base_material = substrate dimension = (1,1,301) periodic = (true, true, false) miller_index_basis = cartesian starting_cell_coordinate = (0, 0, 0) crystal_direction1 = (1,0,0) crystal_direction2 = (0,1,0) crystal_direction3 = (0,0,1) passivate=false regions = (1,2,3) geometry_description = simple_shapes output = (xyz, coupling) } Domain { name = continuum type = FEM_macroscopic output = mesh nx = 5 ny = 4 nz = 150 xmin = 0.00 xmax = 0.54732806 ymin = -0.000 ymax = 0.316 zmin = -1 zmax = 12.889 atomistic_domains = structure1 regions = (1,2,3) periodic = (true ,true,false) } Geometry { Region { shape = cuboid region_number = 1 priority = 2 min = (-1,-1,-0.01) max = ( 1, 1,.609) tag = substrate } Region { //oxide region shape = cuboid region_number = 2 priority = 1 min = (-1,-1, .609) // in nm max = ( 1, 1,12.889) // tag = substrate } Region { //air region shape = cuboid region_number = 3 priority = 1 min = (-1,-1,-20) // in nm max = ( 1, 1,0.7) tag = substrate } } } Solvers { solver { name = EK_e type = Schroedinger domain = structure1 active_regions = (1) job_list = (electron_density,derivative_electron_density_over_potential) output = (energies) DOS_energy_grid = (-2,2,0.01) DOS_broadening_model = 2 DOS_spin_factor = 2 potential_solver = poisson_device charge_model = electron_hole cutoff_distance_to_bandedge = 0.4 // [eV] distance below(Ec)/above(Ev) band edges that wavefunctions are excluded from density automatic_threshold = true spatially_varying_threshold = true output_precision = 7 temperature = 10 tb_basis = readin_SO k_space_basis = reciprocal number_of_k_points = 15 kxmax = 0.5 kymax = 0.5 k_degeneracy = 4 number_of_eigenvalues_to_use = 6 number_of_eigenvalues = 6 chem_pot = 0.0 } solver { name = EK_h type = Schroedinger domain = structure1 active_regions = (1) job_list = (hole_density,derivative_hole_density_over_potential) output = (energies) DOS_energy_grid = (-2,2,0.01) DOS_broadening_model = 2 DOS_spin_factor = 2 potential_solver = poisson_device charge_model = electron_hole cutoff_distance_to_bandedge = 0.4 // [eV] distance below(Ec)/above(Ev) band edges that wavefunctions are excluded from density automatic_threshold = true spatially_varying_threshold = true output_precision = 7 temperature = 10 tb_basis = readin_SO k_space_basis = reciprocal number_of_k_points = 15 kxmax = 0.5 kymax = 0.5 k_degeneracy = 4 number_of_eigenvalues_to_use = 6 number_of_eigenvalues = 6 chem_pot = 0.0 } solver { name = poisson_device type = NonlinearPoisson domain = continuum fem_output = (potential) atomistic_output = (potential, charge,charge_cm-3,free_charge,free_charge_cm-3,doping,doping_cm-3,atom_id_potential) one_dim_output = (potential, free_charge_cm-3, doping_cm-3) one_dim_output_average = true node_potential_output = true charge_model = electron_hole density_solver = (EK_e,EK_h) output_line_corners = [(0.1, 0, -1), (0.1, 0, 15)] number_of_output_points = 100 number_of_interpolation_points= 1 do_nonlinearpoisson_outputs_xyz_format =true Delta_function_like_charge = false ksp_type = bcgs rel_tolerance = 1e-6 max_iterations = 2 stop_if_diverged = false use_average_density_as_a_guess = false atomic_radius = 0.24 solve_on_single_replica = true boundary_condition { metal_work_function = 5.22 name = gate_contact semiconductor = substrate single_surface_normal = [(0,0,1)] surface_of_regions = 2 type = SchottkyContact voltage = 80 } } solver { name = EK1 type = Schroedinger domain = structure1 active_regions = (1) job_list = (calculate_band_structure) output = (energies, k-points,k-points_energies) output_format = SDB output_precision = 7 tb_basis = readin_SO k_points = [(0.5,0),(0.5,0.5),(0.0,0.0),(0.0,0.5)] k_points_labels=(M,M,G,M) number_of_nodes = (40,40,40) } solver { name = EK2 type = Schroedinger domain = structure1 active_regions = (1) potential_solver = poisson_device job_list = (calculate_band_structure) output = (energies, k-points,k-points_energies) output_format = SDB output_precision = 7 tb_basis = readin_SO k_points = [(0.5,0),(0.5,0.5),(0.0,0.0),(0.0,0.5)] k_points_labels=(M,M,G,M) number_of_nodes = (40,40,40) } } Global { solve = (poisson_device,EK2) print_calculate = true database = ./all.mat messaging_level = 5 } quit