torsion_angle_jacobian Subroutine

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

Uses

  • proc~~torsion_angle_jacobian~~UsesGraph proc~torsion_angle_jacobian torsion_angle_jacobian module~mod_constants mod_constants proc~torsion_angle_jacobian->module~mod_constants module~mod_utils mod_utils proc~torsion_angle_jacobian->module~mod_utils iso_c_binding iso_c_binding module~mod_constants->iso_c_binding module~mod_utils->module~mod_constants module~mod_memory mod_memory module~mod_utils->module~mod_memory module~mod_memory->module~mod_constants module~mod_memory->iso_c_binding module~mod_io mod_io module~mod_memory->module~mod_io module~mod_io->module~mod_constants

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}

] Applying the chain rule: [J_a = \frac{\partial \theta}{\partial \vec{A}} = -\frac{1}{\sqrt{1-\theta^2}} \frac{\partial cos(\theta)}{\partial \vec{A}} = -\frac{1}{\sqrt{1-\theta^2}} \frac{\partial \vec{U} \cdot \vec{T}}{\partial \vec{A}} \ !! = -\frac{1}{\sqrt{1-\theta^2}}

     \frac{\partial (\vec{B} - \vec{A})}{\partial \vec{A}} \times
     \frac{\partial \vec{T}}{\partial (\vec{B} - \vec{A})} \times
     \frac{\partial \hat{T}}{\partial \vec{T}} \times \vec{U} \        !!       = -\frac{1}{\sqrt{1-\theta^2}}

     (- \mathbb{I}_3) \times
     skw(B-C) \times
     \frac{\partial \hat{T}}{\partial \vec{T}} \times \vec{U}

]

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


Calls

proc~~torsion_angle_jacobian~~CallsGraph proc~torsion_angle_jacobian torsion_angle_jacobian proc~cross_product cross_product proc~torsion_angle_jacobian->proc~cross_product proc~versor_der versor_der proc~torsion_angle_jacobian->proc~versor_der proc~vec_skw vec_skw proc~torsion_angle_jacobian->proc~vec_skw

Called by

proc~~torsion_angle_jacobian~~CalledByGraph proc~torsion_angle_jacobian torsion_angle_jacobian proc~torsion_geomgrad torsion_geomgrad proc~torsion_geomgrad->proc~torsion_angle_jacobian proc~angtor_geomgrad angtor_geomgrad proc~angtor_geomgrad->proc~torsion_angle_jacobian proc~strtor_geomgrad strtor_geomgrad proc~strtor_geomgrad->proc~torsion_angle_jacobian proc~tortor_geomgrad tortor_geomgrad proc~tortor_geomgrad->proc~torsion_angle_jacobian proc~imptorsion_geomgrad imptorsion_geomgrad proc~imptorsion_geomgrad->proc~torsion_angle_jacobian proc~link_atom_torsion_geomgrad link_atom_torsion_geomgrad proc~link_atom_torsion_geomgrad->proc~torsion_geomgrad proc~ommp_torsion_geomgrad ommp_torsion_geomgrad proc~ommp_torsion_geomgrad->proc~torsion_geomgrad proc~ommp_torsion_geomgrad->proc~link_atom_torsion_geomgrad proc~ommp_full_bnd_geomgrad ommp_full_bnd_geomgrad proc~ommp_full_bnd_geomgrad->proc~torsion_geomgrad proc~ommp_full_bnd_geomgrad->proc~angtor_geomgrad proc~ommp_full_bnd_geomgrad->proc~strtor_geomgrad proc~ommp_full_bnd_geomgrad->proc~tortor_geomgrad proc~ommp_full_bnd_geomgrad->proc~imptorsion_geomgrad proc~ommp_full_bnd_geomgrad->proc~link_atom_torsion_geomgrad proc~ommp_angtor_geomgrad ommp_angtor_geomgrad proc~ommp_angtor_geomgrad->proc~angtor_geomgrad proc~ommp_strtor_geomgrad ommp_strtor_geomgrad proc~ommp_strtor_geomgrad->proc~strtor_geomgrad proc~ommp_tortor_geomgrad ommp_tortor_geomgrad proc~ommp_tortor_geomgrad->proc~tortor_geomgrad proc~ommp_imptorsion_geomgrad ommp_imptorsion_geomgrad proc~ommp_imptorsion_geomgrad->proc~imptorsion_geomgrad proc~qm_helper_link_atom_geomgrad qm_helper_link_atom_geomgrad proc~qm_helper_link_atom_geomgrad->proc~link_atom_torsion_geomgrad proc~c_ommp_angtor_geomgrad C_ommp_angtor_geomgrad proc~c_ommp_angtor_geomgrad->proc~ommp_angtor_geomgrad proc~c_ommp_full_bnd_geomgrad C_ommp_full_bnd_geomgrad proc~c_ommp_full_bnd_geomgrad->proc~ommp_full_bnd_geomgrad proc~c_ommp_torsion_geomgrad C_ommp_torsion_geomgrad proc~c_ommp_torsion_geomgrad->proc~ommp_torsion_geomgrad proc~ommp_full_geomgrad ommp_full_geomgrad proc~ommp_full_geomgrad->proc~ommp_full_bnd_geomgrad proc~c_ommp_strtor_geomgrad C_ommp_strtor_geomgrad proc~c_ommp_strtor_geomgrad->proc~ommp_strtor_geomgrad proc~c_ommp_tortor_geomgrad C_ommp_tortor_geomgrad proc~c_ommp_tortor_geomgrad->proc~ommp_tortor_geomgrad proc~c_ommp_imptorsion_geomgrad C_ommp_imptorsion_geomgrad proc~c_ommp_imptorsion_geomgrad->proc~ommp_imptorsion_geomgrad proc~ommp_qm_helper_link_atom_geomgrad ommp_qm_helper_link_atom_geomgrad proc~ommp_qm_helper_link_atom_geomgrad->proc~qm_helper_link_atom_geomgrad proc~c_ommp_full_geomgrad C_ommp_full_geomgrad proc~c_ommp_full_geomgrad->proc~ommp_full_geomgrad proc~c_ommp_qm_helper_link_atom_geomgrad C_ommp_qm_helper_link_atom_geomgrad proc~c_ommp_qm_helper_link_atom_geomgrad->proc~ommp_qm_helper_link_atom_geomgrad

Contents