quantum_poisson{ }

Calling sequence

run{ quantum_poisson{ } }

Properties

  • usage: optional

  • items: maximum 1

Dependencies

Functionality

Triggers solving of the Schrödinger and Poisson equations self-consistently for the defined system.

Example

run{
    quantum_poisson{}
}

poisson{}
quantum{}

Nested keywords


residual

Calling sequence

run{ quantum_poisson{ residual } }

Properties

  • usage: optional

  • type: real number

  • values: [0.0, ...)

  • default: r=105 for 1D; r=103 for 2D; r=103 for 3D

  • unit: cm2 for 1D; cm1 for 2D; none for 3D

Functionality

Defines requested residual of the integrated total charge carrier density changes. Note that this is dimension dependent and default is: 1e5/cm2 (1D), 1e3/cm (2D), 1e-3[dimensionless] (3D). This applies to exact Schrödinger equation, not to subspace Schrödinger equation

Note

If you do not include enough eigenstates, the convergence behavior might be affected as the occupation of the eigenstates is not considered in a useful way.

Example

run{
    quantum_poisson{
        residual = 1e4
    }
}

poisson{}
quantum{}

iterations

Calling sequence

run{ quantum_poisson{ iterations } }

Properties

  • usage: optional

  • type: integer

  • values: z0

  • default: z=30

  • unit:

Functionality

Maximum number of iterations, i.e. self-consistency cycles

Example

run{
    quantum_poisson{
        iterations = 50
    }
}

poisson{}
quantum{}

use_subspace

Calling sequence

run{ quantum_poisson{ use_subspace } }

Properties

  • usage: optional

  • type: choice

  • values: yes or no

  • default: yes

Functionality

Solve Schrödinger equation within subspace of eigenvectors of previous iteration as long as achieved residual is larger than desired residual * residual_factor and at least in every second iteration

Example

run{
    quantum_poisson{
        use_subspace = no
    }
}

poisson{}
quantum{}

subspace_iterations

Calling sequence

run{ quantum_poisson{ subspace_iterations } }

Properties

  • usage: optional

  • type: integer

  • values: 1z1000

  • default: z=1

  • unit:

Functionality

Number of subspace iterations

Example

run{
    quantum_poisson{
        subspace_iterations = 5
    }
}

poisson{}
quantum{}

subspace_residual_factor

Calling sequence

run{ quantum_poisson{ subspace_residual_factor } }

Properties

  • usage: optional

  • type: real number

  • values: [2.0, ...)

  • default: r=1e12

  • unit:

Functionality

Residual factor for subspace iterations

Example

run{
    quantum_poisson{
        subspace_residual_factor = 1e10
    }
}

poisson{}
quantum{}

alpha_potential

Calling sequence

run{ quantum_poisson{ alpha_potential } }

Properties

  • usage: optional

  • type: real number

  • values: 103r1.0

  • default: r=1.0

  • unit:

Functionality

In case of stubborn convergence problems which do not appear to have any root cause such as not enough eigenvalues and which appear not to respond to any change in other parameters, try using a mildly smaller value than 1.0 such as 0.5.

Using values smaller than 1.0 per default is not recommended, as the run time is expected to increase as 1/ alpha_potential for normally converging input files.

Example

run{
    quantum_poisson{
        alpha_potential = 0.5
    }
}

poisson{}
quantum{}

output_log

Calling sequence

run{ quantum_poisson{ output_log } }

Properties

  • usage: optional

  • type: choice

  • values: yes or no

  • default: yes

Functionality

Output of convergence of Schrödinger-Poisson equation (residuals for quantum_poisson) into the logfile iteration_quantum_poisson.dat

Example

run{
    quantum_poisson{
        output_log = no
    }
}

poisson{}
quantum{}

output_local_residuals

Calling sequence

run{ quantum_poisson{ output_local_residuals } }

Properties

  • usage: optional

  • type: choice

  • values: yes or no

  • default: no

Functionality

Outputs residuals as functions of position when output_local_residuals = yes. In case the attribute is enabled for both a classical and quantum iterations, the quantum iteration overwrites the respective files of the classical iteration.

Example

run{
    quantum_poisson{
        output_local_residuals = yes
    }
}

poisson{}
quantum{}