Construction of dipole tensors and dipole matrices.
Form either a real or a complex dipole matrix.
The real-typed version is equivalent to .
$$ \begin{gathered} \mathbf T_{ij}(\mathbf q)=\sum_{\mathbf n}\mathbf T(\mathbf R_{\mathbf nij})\mathrm e^{-\mathrm i\mathbf q\cdot\mathbf R_{\mathbf nij}},\quad\mathbf R_{\mathbf nij}=\mathbf R_j+\mathbf R_\mathbf n-\mathbf R_i \ \frac{\mathrm d\mathbf R_{\mathbf nij}}{\mathrm d\mathbf R_k}=(\delta_{jk}-\delta_{ik})\mathbf I \ \mathbf{T}{ij}(\mathbf{q})\approx\mathbf{T}^\text{Ew}(\mathbf{q}) =\sum_\mathbf n^{|\mathbf R_{\mathbf nij}|
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(geom_t), | intent(inout) | :: | geom | |||
| type(damping_t), | intent(in) | :: | damp | |||
| type(grad_matrix_re_t), | intent(out), | optional | :: | ddipmat | ||
| type(grad_request_t), | intent(in), | optional | :: | grad |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(geom_t), | intent(inout) | :: | geom | |||
| type(damping_t), | intent(in) | :: | damp | |||
| type(grad_matrix_cplx_t), | intent(out), | optional | :: | ddipmat | ||
| type(grad_request_t), | intent(in), | optional | :: | grad | ||
| real(kind=dp), | intent(in) | :: | q(3) |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=dp), | intent(in) | :: | r(3) | |||
| type(grad_matrix_re_t), | intent(out), | optional | :: | dT | ||
| logical, | intent(in), | optional | :: | grad |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=dp), | intent(in) | :: | r | |||
| real(kind=dp), | intent(in) | :: | gamm | |||
| type(grad_scalar_t), | intent(out), | optional | :: | dB | ||
| type(grad_request_t), | intent(in), | optional | :: | grad |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=dp), | intent(in) | :: | r | |||
| real(kind=dp), | intent(in) | :: | gamm | |||
| type(grad_scalar_t), | intent(out), | optional | :: | dC | ||
| type(grad_request_t), | intent(in), | optional | :: | grad |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=dp), | intent(in) | :: | r(3) | |||
| real(kind=dp), | intent(in) | :: | gamm | |||
| type(grad_matrix_re_t), | intent(out), | optional | :: | dT | ||
| type(grad_request_t), | intent(in), | optional | :: | grad |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=dp), | intent(in) | :: | r(3) | |||
| real(kind=dp), | intent(in) | :: | sigma | |||
| type(grad_matrix_re_t), | intent(out), | optional | :: | dT | ||
| type(grad_request_t), | intent(in), | optional | :: | grad |