mod_jacobian_mat Module


Uses

  • module~~mod_jacobian_mat~~UsesGraph module~mod_jacobian_mat mod_jacobian_mat module~mod_memory mod_memory module~mod_jacobian_mat->module~mod_memory module~mod_io mod_io module~mod_memory->module~mod_io module~mod_constants mod_constants module~mod_memory->module~mod_constants iso_c_binding iso_c_binding module~mod_memory->iso_c_binding module~mod_io->module~mod_constants module~mod_constants->iso_c_binding

Used by

  • module~~mod_jacobian_mat~~UsedByGraph module~mod_jacobian_mat mod_jacobian_mat proc~opb_geomgrad opb_geomgrad proc~opb_geomgrad->module~mod_jacobian_mat proc~pitors_geomgrad pitors_geomgrad proc~pitors_geomgrad->module~mod_jacobian_mat proc~imptorsion_geomgrad imptorsion_geomgrad proc~imptorsion_geomgrad->module~mod_jacobian_mat proc~vdw_geomgrad_inter vdw_geomgrad_inter proc~vdw_geomgrad_inter->module~mod_jacobian_mat proc~vdw_geomgrad vdw_geomgrad proc~vdw_geomgrad->module~mod_jacobian_mat proc~strtor_geomgrad strtor_geomgrad proc~strtor_geomgrad->module~mod_jacobian_mat proc~tortor_geomgrad tortor_geomgrad proc~tortor_geomgrad->module~mod_jacobian_mat proc~bond_geomgrad bond_geomgrad proc~bond_geomgrad->module~mod_jacobian_mat proc~vdw_geomgrad_inter_restricted vdw_geomgrad_inter_restricted proc~vdw_geomgrad_inter_restricted->module~mod_jacobian_mat proc~angle_geomgrad angle_geomgrad proc~angle_geomgrad->module~mod_jacobian_mat proc~torsion_geomgrad torsion_geomgrad proc~torsion_geomgrad->module~mod_jacobian_mat proc~strbnd_geomgrad strbnd_geomgrad proc~strbnd_geomgrad->module~mod_jacobian_mat proc~angtor_geomgrad angtor_geomgrad proc~angtor_geomgrad->module~mod_jacobian_mat proc~urey_geomgrad urey_geomgrad proc~urey_geomgrad->module~mod_jacobian_mat

Contents


Subroutines

public pure subroutine Rij_jacobian(ci, cj, Rij, J_i, J_j)

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.

Arguments

Type IntentOptional 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)

public pure subroutine simple_angle_jacobian(ca, cb, cc, thet, J_a, J_b, J_c)

Arguments

Type IntentOptional 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

public pure subroutine inplane_angle_jacobian(ca, cb, cc, cx, thet, J_a, J_b, J_c, J_x)

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} &

Read more…

Arguments

Type IntentOptional 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

public subroutine torsion_angle_jacobian(ca, cb, cc, cd, thet, J_a, J_b, J_c, J_d)

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}

Read more…

Arguments

Type IntentOptional 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

public subroutine opb_angle_jacobian(ca, cb, cc, cd, thet, J_a, J_b, J_c, J_d)

Arguments

Type IntentOptional 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

public subroutine pitors_angle_jacobian(ca, cb, cc, cd, ce, cf, thet, J_a, J_b, J_c, J_d, J_e, J_f)

Arguments

Type IntentOptional 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