2.6.12. quantum{ }

A group of keywords specifying quantum models, i.e. how the Schrödinger equation should be solved.

Groups located directly under quantum{} are:

Code Example
quantum{
    debuglevel      = 1
    allow_overlapping_regions = no

    #----------------
    # Quantum regions
    #----------------
    region{
        name = "qr1"

        quantize_x{}
        quantize_y{}
        quantize_z{}

        no_density = yes
        x = [10.0, 20.0]
        y = [10.0, 20.0]
        z = [10.0, 20.0]

        # Boundary conditions
        #--------------------
        boundary{
            x = dirichlet
            y = dirichlet
            z = neumann
            classical_boundary_x = no
            classical_boundary_y = no
            classical_boundary_z = no
            num_classical_x  = [1,1]
            num_classical_y  = [1,1]
            num_classical_z  = [1,1]
        }

        # Output definitions
        #-------------------
        output_wavefunctions{
            max_num        = 10
            all_k_points   = yes/no
            structured     = no
            amplitudes = "S_X_Y_Z CB_HH_LH_SO"
            probabilities = "yes CB_HH_LH_SO"
            scale          = 0.7
            in_one_file    = yes
            energy_shift   = both
            include_energies_in_shifted_files = yes
        }
        output_subband_densities{
            max_num     = 10
            in_one_file = yes
        }
        output_sparse_matrix{
            type = all
            structured = no
        }
        output_rotated_inverse_mass_tensor{
            boxes      = yes
            structured = no
        }

        # Quantum models and solver definitions
        #--------------------------------------
        Gamma{
            num_ev           = 10
            # Eigensolvers (choose one)
            lapack{}
            arpack{}
            accuracy         = 1e-6
            iterations       = 200
            preconditioner   = chebyshev
            cutoff           = 0.3
            abs_cutoff       = 2.5
            order_chebyshev  = 20

            # Dispersion
            #-----------
            dispersion{
                path{
                    name = "100"
                    point{
                        k = [1.0, 0.0, 0.0]
                        k = [1.0, 1.0, 0.0]
                    }
                    spacing    = 0.5
                    num_points = 10
                }
                lines{
                    name = "lines"
                    spacing  = 0.5
                    k_max    = 1.0
                }
                full{
                    name = "3D"
                    kxgrid{
                        line{
                            pos = -1
                            spacing = 0.02
                        }
                    }
                    kygrid{
                        line{
                            pos = -1
                            spacing = 0.02
                        }
                    }
                    kzgrid{
                        line{
                            pos = -1
                            spacing = 0.02
                        }
                    }
                }
                superlattice{
                    name = "superlattice"
                    num_points_x   = 10
                    num_points_y   = 15
                    num_points_z   = 20
                    num_points     = 20
                }
            }
        }

        L{
            ... (same as Gamma)
        }

        X{
            ... (same as Gamma)
        }

        Delta{
            ... (same as Gamma)
        }

        HH{
            ... (same as Gamma)
        }

        LH{
            ... (same as Gamma)
        }

        SO{
            ... (same as Gamma)
        }

        kp_6band{
            ... (same as Gamma)

            kp_parameters{
                use_Luttinger_parameters = no
                approximate_kappa        = no
            }

            lapack{}
            #arpack{}

            k_integration{
                relative_size = 0.2
                num_points    = 5
                num_subpoints = 2
                max_symmetry  = no
                force_k0_subspace = yes
            }
        }

        kp_8band{
            num_electrons     = 6
            num_holes         = 12
            accuracy          = 1e-8
            iterations        = 200

            kp_parameters{
                use_Luttinger_parameters = no
                from_6band_parameters    = no
                approximate_kappa        = no
                evaluate_S               = no
                rescale_S_to             = 1.0
            }

            k_integration{
                ... (same as kp_6band)
            }

            lapack{}
            #arpack_inv{}
            shift_window      = 0
            shift             = 0.2
            abs_shift         = 2.5

            linear_solver{
                iterations     = 500
                abs_accuracy   = 1e-9
                rel_accuracy   = 1e-9
                use_cscg       = no
                force_diagonal_preconditioner = no
            }

            #advanced settings for 8-band k.p quantum density
            shift_min_CB      = 0.0
            shift_max_VB      = 0.0
            tunneling         = yes

            classify_kspace   = 0
            threshold_classification = 0.5

            full_band_density = no
        }

        #Matrix elements definitions
        #---------------------------
        interband_matrix_elements{
            KP6_Gamma{}
            HH_Gamma{}                # < HH_i | Gamma_j >
            LH_Gamma{}                # < LH_i | Gamma_j >
            SO_Gamma{}                # < SO_i | Gamma_j >
            HH_Delta{}                # < HH_i | Delta_j >
            LH_Delta{}                # < LH_i | Delta_j >
            SO_Delta{}                # < SO_i | Delta_j >
            HH_X{}                    # < HH_i | X_j >
            LH_X{}                    # < LH_i | X_j >
            SO_X{}                    # < SO_i | X_j >
            HH_L{}                    # < HH_i | L_j >
            LH_L{}                    # < LH_i | L_j >
            SO_L{}                    # < SO_i | L_j >

            output_matrix_elements      = yes
            output_transition_energies  = yes/no #
        }

        intraband_matrix_elements{
            direction = [1,1,0]
            Gamma{}
            Delta{}
            X{}
            L{}
            HH{}
            LH{}
            SO{}
            KP6{}
            KP8{}

            output_matrix_elements      = yes/no                output_transition_energies  = yes/no
            output_oscillator_strengths = yes/no
        }

        dipole_moment_matrix_elements{
            direction = [1,1,0]
            Gamma{}
            Delta{}
            X{}
            L{}
            HH{}
            LH{}
            SO{}
            KP6{}
            KP8{}

            output_matrix_elements      = yes
            output_transition_energies  = yes
            output_oscillator_strengths = yes
        }

        transition_energies{
            Gamma{}
            KP6_Gamma{}
            HH_Gamma{}
            LH_Gamma{}
            SO_Gamma{}
            Delta{}
            HH_Delta{}
            LH_Delta{}
            SO_Delta{}
            X{}
            HH_X{}
            LH_X{}
            SO_X{}
            L{}
            HH_L{}
            LH_L{}
            SO_L{}
            HH{}
            LH{}
            SO{}
            KP6{}
            KP8{}
        }


        lifetimes{
            phonon_energy = 0.036
            Gamma{}
            HH{}
            LH{}
        }

    } # end: region{}

    #Many body effects
    #-----------------
    exchange_correlation{
        type             = lda
        initial_spin_pol = 1.0
        output_spin_polarization{}
        output_exchange_correlation{}
    }

}