spinscattering_m Module

This submodule is included by conductor.f, and contains equations which model spin-flip scattering, spin-orbit scattering, and magnetic orbital depairing.



Contents


Interfaces

public interface spinscattering

  • public impure function spinscattering_construct(parent) result(this)

    Constructs a spinscattering object with a given parent material.

    Arguments

    Type IntentOptional AttributesName
    class(material), target:: parent

    Return Value type(spinscattering)


Derived Types

type, public :: spinscattering

Components

TypeVisibility AttributesNameInitial
class(material), public, pointer:: material=> null()

Pointer to the material modelled by this instance

type(nambu), public, dimension(0:7):: nambuv

Pauli matrices spanning the 4×4 Spin-Nambu space

real(kind=wp), public :: depairing =0.0_wp

Orbital depairing coefficient

real(kind=wp), public :: spinflip =0.0_wp

Spin-flip scattering coefficient (1/8τΔ)

real(kind=wp), public :: spinorbit =0.0_wp

Spin-orbit scattering coefficient (1/8τΔ)

Constructor

public impure function spinscattering_construct(parent)

Constructs a spinscattering object with a given parent material.

Type-Bound Procedures

procedure, public :: diffusion_equation => spinscattering_diffusion_equation

Diffusion equation

procedure, public :: kinetic_equation => spinscattering_kinetic_equation

Kinetic equation


Functions

public impure function spinscattering_construct(parent) result(this)

Constructs a spinscattering object with a given parent material.

Arguments

Type IntentOptional AttributesName
class(material), target:: parent

Return Value type(spinscattering)