This submodule is included by conductor.f, and contains the equations which model spin-orbit coupling in diffusive materials.
Constructs a spinorbit object with a given parent material.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(material), | target | :: | parent |
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
class(material), | public, | pointer | :: | material | => | null() |
Pointer to the material modelled by this instance |
type(spin), | public, | dimension(1:3) | :: | field |
Spin-orbit coupling field (SU(2) gauge field) |
||
type(spin), | public | :: | Ax |
Spin-orbit coupling matrices (the components and square) |
|||
type(spin), | public | :: | Ay |
Spin-orbit coupling matrices (the components and square) |
|||
type(spin), | public | :: | Az |
Spin-orbit coupling matrices (the components and square) |
|||
type(spin), | public | :: | A2 |
Spin-orbit coupling matrices (the components and square) |
|||
type(spin), | public | :: | Axt |
Spin-orbit coupling matrices (tilde-conjugated versions) |
|||
type(spin), | public | :: | Ayt |
Spin-orbit coupling matrices (tilde-conjugated versions) |
|||
type(spin), | public | :: | Azt |
Spin-orbit coupling matrices (tilde-conjugated versions) |
|||
type(spin), | public | :: | A2t |
Spin-orbit coupling matrices (tilde-conjugated versions) |
public function spinorbit_construct (parent) | Constructs a spinorbit object with a given parent material. |
procedure, public :: diffusion_equation => spinorbit_diffusion_equation | ../../ Diffusion equation |
procedure, public :: diffusion_equation_a => spinorbit_diffusion_equation_a | ../../ Boundary condition (left) |
procedure, public :: diffusion_equation_b => spinorbit_diffusion_equation_b | ../../ Boundary condition (right) |
procedure, public :: update_prehook => spinorbit_update_prehook | ../../ Code to execute before updates |