Compute the Jacobian matrix of distance Rij = sqrt((ci(x)-cj(x))2 + (ci(y)-cj(y))2 + (ci(z)-cj(z))**2) Derivatives wrt ci(:) are saved in J_i and wrt cj(:) in J_j; the distance between the two points is also provided in output in Rij.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=rp), | intent(in) | :: | ci(3) | |||
real(kind=rp), | intent(in) | :: | cj(3) | |||
real(kind=rp), | intent(out) | :: | Rij | |||
real(kind=rp), | intent(out) | :: | J_i(3) | |||
real(kind=rp), | intent(out) | :: | J_j(3) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=rp), | intent(in), | dimension(3) | :: | ca |
Coordinates of the atoms defining the angle |
|
real(kind=rp), | intent(in), | dimension(3) | :: | cb |
Coordinates of the atoms defining the angle |
|
real(kind=rp), | intent(in), | dimension(3) | :: | cc |
Coordinates of the atoms defining the angle |
|
real(kind=rp), | intent(out) | :: | thet |
The angle (in rad) defined by ca-cb-cc |
||
real(kind=rp), | intent(out), | dimension(3) | :: | J_a |
The Jacobian components on atoms a, b and c respectively |
|
real(kind=rp), | intent(out), | dimension(3) | :: | J_b |
The Jacobian components on atoms a, b and c respectively |
|
real(kind=rp), | intent(out), | dimension(3) | :: | J_c |
The Jacobian components on atoms a, b and c respectively |
Computes the Jacobian matrix for the inplane angle definition. It computes the Jacobian for the normal angle using the projected point (R) as central point. Then projects onto A, B, C, and X (auxiliary point). The projection is done computing the 3x3 matrices of partial derivative of wrt any actual point and using them to project . [\frac{\partial \vec{R}}{\partial \vec{A}} = \begin{bmatrix} \frac{\partial \vec{R}_x}{\partial \vec{A}_x} & \frac{\partial \vec{R}_y}{\partial \vec{A}_x} & \frac{\partial \vec{R}_z}{\partial \vec{A}_x} \ !! \frac{\partial \vec{R}_x}{\partial \vec{A}_y} &
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=rp), | intent(in), | dimension(3) | :: | ca |
Coordinates of the atoms defining the angle |
|
real(kind=rp), | intent(in), | dimension(3) | :: | cb |
Coordinates of the atoms defining the angle |
|
real(kind=rp), | intent(in), | dimension(3) | :: | cc |
Coordinates of the atoms defining the angle |
|
real(kind=rp), | intent(in), | dimension(3) | :: | cx |
Coordinates of the atoms defining the angle |
|
real(kind=rp), | intent(out) | :: | thet |
The angle (in rad) defined by ca-cb-cc |
||
real(kind=rp), | intent(out), | dimension(3) | :: | J_a |
The Jacobian components on atoms a, b and c respectively |
|
real(kind=rp), | intent(out), | dimension(3) | :: | J_b |
The Jacobian components on atoms a, b and c respectively |
|
real(kind=rp), | intent(out), | dimension(3) | :: | J_c |
The Jacobian components on atoms a, b and c respectively |
|
real(kind=rp), | intent(out), | dimension(3) | :: | J_x |
The Jacobian components on atoms a, b and c respectively |
Computes the Jacobian matrix for torsion angle defined by points , , and (connected in this order). The angle is defined as follow: [ \vec{U} = (\vec{B} - \vec{C}) \times (\vec{D} - \vec{C}) \ !! \vec{T} = (\vec{B} - \vec{A}) \times (\vec{B} - \vec{C}) \ !! cos(\theta) = \vec{U} \cdot \vec{T}
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=rp), | intent(inout), | dimension(3) | :: | ca |
Coordinates of the atoms defining the angle |
|
real(kind=rp), | intent(inout), | dimension(3) | :: | cb |
Coordinates of the atoms defining the angle |
|
real(kind=rp), | intent(inout), | dimension(3) | :: | cc |
Coordinates of the atoms defining the angle |
|
real(kind=rp), | intent(inout), | dimension(3) | :: | cd |
Coordinates of the atoms defining the angle |
|
real(kind=rp), | intent(out) | :: | thet |
The torsion angle |
||
real(kind=rp), | intent(out), | dimension(3) | :: | J_a |
The Jacobian components on atoms a, b and c and d respectively |
|
real(kind=rp), | intent(out), | dimension(3) | :: | J_b |
The Jacobian components on atoms a, b and c and d respectively |
|
real(kind=rp), | intent(out), | dimension(3) | :: | J_c |
The Jacobian components on atoms a, b and c and d respectively |
|
real(kind=rp), | intent(out), | dimension(3) | :: | J_d |
The Jacobian components on atoms a, b and c and d respectively |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=rp), | intent(inout), | dimension(3) | :: | ca |
Coordinates of the atoms defining the angle |
|
real(kind=rp), | intent(inout), | dimension(3) | :: | cb |
Coordinates of the atoms defining the angle |
|
real(kind=rp), | intent(inout), | dimension(3) | :: | cc |
Coordinates of the atoms defining the angle |
|
real(kind=rp), | intent(inout), | dimension(3) | :: | cd |
Coordinates of the atoms defining the angle |
|
real(kind=rp), | intent(out) | :: | thet |
The out-of-plane angle |
||
real(kind=rp), | intent(out), | dimension(3) | :: | J_a |
The Jacobian components on atoms a, b and c and d respectively |
|
real(kind=rp), | intent(out), | dimension(3) | :: | J_b |
The Jacobian components on atoms a, b and c and d respectively |
|
real(kind=rp), | intent(out), | dimension(3) | :: | J_c |
The Jacobian components on atoms a, b and c and d respectively |
|
real(kind=rp), | intent(out), | dimension(3) | :: | J_d |
The Jacobian components on atoms a, b and c and d respectively |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=rp), | intent(inout), | dimension(3) | :: | ca | ||
real(kind=rp), | intent(inout), | dimension(3) | :: | cb | ||
real(kind=rp), | intent(inout), | dimension(3) | :: | cc | ||
real(kind=rp), | intent(inout), | dimension(3) | :: | cd | ||
real(kind=rp), | intent(inout), | dimension(3) | :: | ce | ||
real(kind=rp), | intent(inout), | dimension(3) | :: | cf | ||
real(kind=rp), | intent(out) | :: | thet | |||
real(kind=rp), | intent(out), | dimension(3) | :: | J_a | ||
real(kind=rp), | intent(out), | dimension(3) | :: | J_b | ||
real(kind=rp), | intent(out), | dimension(3) | :: | J_c | ||
real(kind=rp), | intent(out), | dimension(3) | :: | J_d | ||
real(kind=rp), | intent(out), | dimension(3) | :: | J_e | ||
real(kind=rp), | intent(out), | dimension(3) | :: | J_f |