inplane_angle_jacobian Subroutine

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

Uses

  • proc~~inplane_angle_jacobian~~UsesGraph proc~inplane_angle_jacobian inplane_angle_jacobian module~mod_utils mod_utils proc~inplane_angle_jacobian->module~mod_utils module~mod_constants mod_constants module~mod_utils->module~mod_constants module~mod_memory mod_memory module~mod_utils->module~mod_memory iso_c_binding iso_c_binding module~mod_constants->iso_c_binding 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 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} &

     \frac{\partial \vec{R}_y}{\partial \vec{A}_y} & 
     \frac{\partial \vec{R}_z}{\partial \vec{A}_y} \        !!          \frac{\partial \vec{R}_x}{\partial \vec{A}_z} &

     \frac{\partial \vec{R}_y}{\partial \vec{A}_z} & 
     \frac{\partial \vec{R}_z}{\partial \vec{A}_z} \        !!      \end{bmatrix} \]

Those matrices are computed using the chain rule.

Exemple:

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


Calls

proc~~inplane_angle_jacobian~~CallsGraph proc~inplane_angle_jacobian inplane_angle_jacobian proc~cross_product cross_product proc~inplane_angle_jacobian->proc~cross_product proc~versor_der versor_der proc~inplane_angle_jacobian->proc~versor_der proc~simple_angle_jacobian simple_angle_jacobian proc~inplane_angle_jacobian->proc~simple_angle_jacobian proc~vec_skw vec_skw proc~inplane_angle_jacobian->proc~vec_skw

Called by

proc~~inplane_angle_jacobian~~CalledByGraph proc~inplane_angle_jacobian inplane_angle_jacobian proc~angle_geomgrad angle_geomgrad proc~angle_geomgrad->proc~inplane_angle_jacobian proc~link_atom_angle_geomgrad link_atom_angle_geomgrad proc~link_atom_angle_geomgrad->proc~angle_geomgrad proc~ommp_angle_geomgrad ommp_angle_geomgrad proc~ommp_angle_geomgrad->proc~angle_geomgrad proc~ommp_angle_geomgrad->proc~link_atom_angle_geomgrad proc~ommp_full_bnd_geomgrad ommp_full_bnd_geomgrad proc~ommp_full_bnd_geomgrad->proc~angle_geomgrad proc~ommp_full_bnd_geomgrad->proc~link_atom_angle_geomgrad proc~qm_helper_link_atom_geomgrad qm_helper_link_atom_geomgrad proc~qm_helper_link_atom_geomgrad->proc~link_atom_angle_geomgrad proc~c_ommp_angle_geomgrad C_ommp_angle_geomgrad proc~c_ommp_angle_geomgrad->proc~ommp_angle_geomgrad proc~c_ommp_full_bnd_geomgrad C_ommp_full_bnd_geomgrad proc~c_ommp_full_bnd_geomgrad->proc~ommp_full_bnd_geomgrad proc~ommp_full_geomgrad ommp_full_geomgrad proc~ommp_full_geomgrad->proc~ommp_full_bnd_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~ommptest_totalqmmm_geomgrad ommptest_totalqmmm_geomgrad proc~ommptest_totalqmmm_geomgrad->proc~ommp_full_geomgrad proc~ommptest_totalqmmm_geomgrad->proc~ommp_qm_helper_link_atom_geomgrad proc~ommptest_fakeqm_internal_geomgrad ommptest_fakeqm_internal_geomgrad proc~ommptest_fakeqm_internal_geomgrad->proc~ommp_full_geomgrad proc~c_ommp_full_geomgrad C_ommp_full_geomgrad proc~c_ommp_full_geomgrad->proc~ommp_full_geomgrad proc~ommptest_fakeqm_linkatom_geomgrad ommptest_fakeqm_linkatom_geomgrad proc~ommptest_fakeqm_linkatom_geomgrad->proc~ommp_full_geomgrad proc~ommptest_fakeqm_linkatom_geomgrad->proc~ommp_qm_helper_link_atom_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