Documentation for module mol_force

...

source: mol_force.F
Loading...

public Subroutines/Functions:

Computes the forces from the bends
SUBROUTINE
force_bonds (id_type, rij, r0, k, cs, energy, fscalar)
Computes the forces from the bonds
Computes the forces from the improper torsions
Computes the forces from the out of plane bends
Computes the forces from the torsions
SUBROUTINE
get_pv_bend (f1, f3, r12, r32, pv_bend)
Computes the pressure tensor from the bends
SUBROUTINE
get_pv_bond (f12, r12, pv_bond)
Computes the pressure tensor from the bonds
SUBROUTINE
get_pv_torsion (f1, f3, f4, r12, r32, r43, pv_torsion)
Computes the pressure tensor from the torsions (also used for impr and opbend)

SUBROUTINEforce_bends(id_type, b12, b32, d12, d32, id12, id32, dist, theta, theta0, k, cb, r012, r032, kbs12, kbs32, kss, legendre, g1, g2, g3, energy, fscalar)

Computes the forces from the bends

Arguments:
INTEGER,
INTENT(in)
:: id_type ...
REAL(dp),
INTENT(in)
:: b12(:) ...
REAL(dp),
INTENT(in)
:: b32(:) ...
REAL(dp),
INTENT(in)
:: d12 ...
REAL(dp),
INTENT(in)
:: d32 ...
REAL(dp),
INTENT(in)
:: id12 ...
REAL(dp),
INTENT(in)
:: id32 ...
REAL(dp),
INTENT(in)
:: dist ...
REAL(dp),
INTENT(in)
:: theta ...
REAL(dp),
INTENT(in)
:: theta0 ...
REAL(dp),
INTENT(in)
:: k ...
REAL(dp),
INTENT(in)
:: cb ...
REAL(dp),
INTENT(in)
:: r012 ...
REAL(dp),
INTENT(in)
:: r032 ...
REAL(dp),
INTENT(in)
:: kbs12 ...
REAL(dp),
INTENT(in)
:: kbs32 ...
REAL(dp),
INTENT(in)
:: kss ...
INTENT(in)
:: legendre ...
REAL(dp),
INTENT(out)
:: g1(:) ...
REAL(dp),
INTENT(out)
:: g2(:) ...
REAL(dp),
INTENT(out)
:: g3(:) ...
REAL(dp),
INTENT(out)
:: energy ...
REAL(dp),
INTENT(out)
:: fscalar ...

SUBROUTINEforce_bonds(id_type, rij, r0, k, cs, energy, fscalar)

Computes the forces from the bonds

Arguments:
INTEGER,
INTENT(in)
:: id_type ...
REAL(dp),
INTENT(in)
:: rij(:) ...
REAL(dp),
INTENT(in)
:: r0 ...
REAL(dp),
INTENT(in)
:: k(3) ...
REAL(dp),
INTENT(in)
:: cs ...
REAL(dp),
INTENT(out)
:: energy ...
REAL(dp),
INTENT(out)
:: fscalar ...

SUBROUTINEforce_imp_torsions(id_type, s32, is32, ism, isn, dist1, dist2, tm, tn, t12, k, phi0, gt1, gt2, gt3, gt4, energy, fscalar)

Computes the forces from the improper torsions

Arguments:
INTEGER,
INTENT(in)
:: id_type ...
REAL(dp),
INTENT(in)
:: s32 ...
REAL(dp),
INTENT(in)
:: is32 ...
REAL(dp),
INTENT(in)
:: ism ...
REAL(dp),
INTENT(in)
:: isn ...
REAL(dp),
INTENT(in)
:: dist1 ...
REAL(dp),
INTENT(in)
:: dist2 ...
REAL(dp),
INTENT(in)
:: tm(:) ...
REAL(dp),
INTENT(in)
:: tn(:) ...
REAL(dp),
INTENT(in)
:: t12(:) ...
REAL(dp),
INTENT(in)
:: k ...
REAL(dp),
INTENT(in)
:: phi0 ...
REAL(dp),
INTENT(out)
:: gt1(:) ...
REAL(dp),
INTENT(out)
:: gt2(:) ...
REAL(dp),
INTENT(out)
:: gt3(:) ...
REAL(dp),
INTENT(out)
:: gt4(:) ...
REAL(dp),
INTENT(out)
:: energy ...
REAL(dp),
INTENT(out)
:: fscalar ...

SUBROUTINEforce_opbends(id_type, s32, tm, t41, t42, t43, k, phi0, gt1, gt2, gt3, gt4, energy, fscalar)

Computes the forces from the out of plane bends

Arguments:
INTEGER,
INTENT(in)
:: id_type ...
REAL(dp),
INTENT(in)
:: s32 ...
REAL(dp),
INTENT(in)
:: tm(:) ...
REAL(dp),
INTENT(in)
:: t41(:) ...
REAL(dp),
INTENT(in)
:: t42(:) ...
REAL(dp),
INTENT(in)
:: t43(:) ...
REAL(dp),
INTENT(in)
:: k ...
REAL(dp),
INTENT(in)
:: phi0 ...
REAL(dp),
INTENT(out)
:: gt1(:) ...
REAL(dp),
INTENT(out)
:: gt2(:) ...
REAL(dp),
INTENT(out)
:: gt3(:) ...
REAL(dp),
INTENT(out)
:: gt4(:) ...
REAL(dp),
INTENT(out)
:: energy ...
REAL(dp),
INTENT(out)
:: fscalar ...

SUBROUTINEforce_torsions(id_type, s32, is32, ism, isn, dist1, dist2, tm, tn, t12, k, phi0, m, gt1, gt2, gt3, gt4, energy, fscalar)

Computes the forces from the torsions

Arguments:
INTEGER,
INTENT(in)
:: id_type ...
REAL(dp),
INTENT(in)
:: s32 ...
REAL(dp),
INTENT(in)
:: is32 ...
REAL(dp),
INTENT(in)
:: ism ...
REAL(dp),
INTENT(in)
:: isn ...
REAL(dp),
INTENT(in)
:: dist1 ...
REAL(dp),
INTENT(in)
:: dist2 ...
REAL(dp),
INTENT(in)
:: tm(:) ...
REAL(dp),
INTENT(in)
:: tn(:) ...
REAL(dp),
INTENT(in)
:: t12(:) ...
REAL(dp),
INTENT(in)
:: k ...
REAL(dp),
INTENT(in)
:: phi0 ...
INTEGER,
INTENT(in)
:: m ...
REAL(dp),
INTENT(out)
:: gt1(:) ...
REAL(dp),
INTENT(out)
:: gt2(:) ...
REAL(dp),
INTENT(out)
:: gt3(:) ...
REAL(dp),
INTENT(out)
:: gt4(:) ...
REAL(dp),
INTENT(out)
:: energy ...
REAL(dp),
INTENT(out)
:: fscalar ...

SUBROUTINEget_pv_bend(f1, f3, r12, r32, pv_bend)

Computes the pressure tensor from the bends

Arguments:
REAL(dp),
INTENT(in)
:: f1(3) ...
REAL(dp),
INTENT(in)
:: f3(3) ...
REAL(dp),
INTENT(in)
:: r12(3) ...
REAL(dp),
INTENT(in)
:: r32(3) ...
REAL(dp),
INTENT(inout)
:: pv_bend(:,:) ...

SUBROUTINEget_pv_bond(f12, r12, pv_bond)

Computes the pressure tensor from the bonds

Arguments:
REAL(dp),
INTENT(in)
:: f12(3) ...
REAL(dp),
INTENT(in)
:: r12(3) ...
REAL(dp),
INTENT(inout)
:: pv_bond(:,:) ...

SUBROUTINEget_pv_torsion(f1, f3, f4, r12, r32, r43, pv_torsion)

Computes the pressure tensor from the torsions (also used for impr and opbend)

Arguments:
REAL(dp),
INTENT(in)
:: f1(3) ...
REAL(dp),
INTENT(in)
:: f3(3) ...
REAL(dp),
INTENT(in)
:: f4(3) ...
REAL(dp),
INTENT(in)
:: r12(3) ...
REAL(dp),
INTENT(in)
:: r32(3) ...
REAL(dp),
INTENT(in)
:: r43(3) ...
REAL(dp),
INTENT(inout)
:: pv_torsion(:,:) ...