Skip to content

sancho_rubio#

Includes the Sancho-Rubio open boundary condition solver.

Classes:

  • SanchoRubio

    Calculates the surface Green's function iteratively.[^1].

SanchoRubio #

SanchoRubio(max_iterations: int = 100, convergence_tol: float = 1e-06)

Bases: OBCSolver

Calculates the surface Green's function iteratively.1.


  1. M P Lopez Sancho et al., "Highly convergent schemes for the calculation of bulk and surface Green functions", 1985 J. Phys. F: Met. Phys. 15 851 

Parameters:

  • max_iterations (int, default: 100 ) –

    The maximum number of iterations to perform.

  • convergence_tol (float, default: 1e-06 ) –

    The convergence tolerance for the iterative scheme. The criterion for convergence is that the average Frobenius norm of the update matrices alpha and beta is less than this value.

Methods:

  • __call__

    Returns the surface Green's function.

__call__ #

__call__(a_ii: NDArray, a_ij: NDArray, a_ji: NDArray, contact: str) -> NDArray

Returns the surface Green's function.

Parameters:

  • a_ii (NDArray) –

    Diagonal boundary block of a system matrix.

  • a_ij (NDArray) –

    Superdiagonal boundary block of a system matrix.

  • a_ji (NDArray) –

    Subdiagonal boundary block of a system matrix.

  • contact (str) –

    The contact to which the boundary blocks belong.

Returns:

  • x_ii ( NDArray ) –

    The system's surface Green's function.