| 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) |
Constructs a spinorbit object with a given parent material.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(material), | target | :: | parent |
Diffusion equation
Calculate the spin-orbit coupling terms in the diffusion equation, and update the second derivatives of the Riccati parameters.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(spinorbit), | intent(in) | :: | this | |||
| type(propagator), | intent(inout) | :: | p |
Boundary condition (left)
Calculate the spin-orbit coupling terms in the left boundary condition, and update the residuals.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(spinorbit), | intent(in), | target | :: | this | ||
| type(propagator), | intent(in) | :: | p | |||
| type(spin), | intent(inout) | :: | r | |||
| type(spin), | intent(inout) | :: | rt |
Boundary condition (right)
Calculate the spin-orbit coupling terms in the right boundary condition, and update the residuals.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(spinorbit), | intent(in), | target | :: | this | ||
| type(propagator), | intent(in) | :: | p | |||
| type(spin), | intent(inout) | :: | r | |||
| type(spin), | intent(inout) | :: | rt |
Code to execute before updates
Updates the internal variables associated with spin-orbit coupling.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(spinorbit), | intent(inout) | :: | this |