propagator Interface

public interface propagator

Contents


Module Procedures

private pure function propagator_construct_vacuum() result(this)

Construct a vacuum propagator, i.e. a propagator which satisfies G=0.

Arguments

None

Return Value type(propagator)

Constructed object

private pure function propagator_construct_riccati(g, gt, dg, dgt) result(this)

Construct an arbitrary state by explicitly providing the Riccati parameters. Unspecified Riccati parameters default to zero due to the spin constructors. The distribution function defaults to equilibrium at zero temperature.

Arguments

Type IntentOptional AttributesName
type(spin), intent(in) :: g

Riccati parameter γ

type(spin), intent(in) :: gt

Riccati parameter γ~

type(spin), intent(in), optional :: dg

Riccati parameter ∇γ

type(spin), intent(in), optional :: dgt

Riccati parameter ∇γ~

Return Value type(propagator)

Constructed object

private pure function propagator_construct_bcs(energy, gap) result(this)

Constructs a state corresponding to a BCS superconductor at some given energy, which may have an imaginary term representing inelastic scattering. The second argument 'gap' is used to provide the superconducting order parameter Δ. The distribution function defaults to equilibrium at zero temperature.

Arguments

Type IntentOptional AttributesName
complex(kind=wp), intent(in) :: energy

Quasiparticle energy (including inelastic scattering contribution)

complex(kind=wp), intent(in) :: gap

Superconducting order parameter (including superconducting phase)

Return Value type(propagator)

Constructed object