
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 |