Documentation for module molecule_kind_types

Define the molecule kind structure types and the corresponding functionality

source: molecule_kind_types.F
Loading...

public Types:

molecule_kind_type
...
torsion_type
...
local_fixd_constraint_type
...
bond_type
...
bend_type
...
colvar_constraint_type
...
opbend_type
...
impr_type
...
vsite_constraint_type
...
g4x6_constraint_type
...
fixd_constraint_type
...
ub_type
...
atom_type
...
g3x3_constraint_type
...
shell_type
...

public Subroutines/Functions:

Allocate and initialize a molecule kind set.
Deallocate a molecule kind set.
Get informations about a molecule kind.
Get informations about a molecule kind set.
...
Set the components of a molecule kind.
Write a moleculeatomic kind set data set to the output unit.

public Types:

TYPE :: atom_type

...


POINTER :: atomic_kind ...
INTEGER
:: id_name ...

TYPE :: bend_type

...


INTEGER
:: a ...
INTEGER
:: b ...
INTEGER
:: c ...
INTEGER
:: id_type ...
INTEGER
:: itype ...
POINTER :: bend_kind ...

TYPE :: bond_type

...


INTEGER
:: a ...
INTEGER
:: b ...
INTEGER
:: id_type ...
INTEGER
:: itype ...
POINTER :: bond_kind ...

TYPE :: colvar_constraint_type

...


INTEGER
:: type_id ...
INTEGER
:: inp_seq_num ...
LOGICAL
:: use_points ...
REAL(dp)
:: expected_value ...
REAL(dp)
:: expected_value_growth_speed ...
INTEGER,
POINTER, DIMENSION(:) :: i_atoms ...
:: restraint ...

TYPE :: fixd_constraint_type

...


:: restraint ...
INTEGER
:: fixd ...
INTEGER
:: itype ...
REAL(dp),
DIMENSION(3) :: coord ...

TYPE :: g3x3_constraint_type

...


INTEGER
:: a ...
INTEGER
:: b ...
INTEGER
:: c ...
REAL(dp)
:: dab ...
REAL(dp)
:: dac ...
REAL(dp)
:: dbc ...
:: restraint ...

TYPE :: g4x6_constraint_type

...


INTEGER
:: a ...
INTEGER
:: b ...
INTEGER
:: c ...
INTEGER
:: d ...
REAL(dp)
:: dab ...
REAL(dp)
:: dac ...
REAL(dp)
:: dbc ...
REAL(dp)
:: dad ...
REAL(dp)
:: dbd ...
REAL(dp)
:: dcd ...
:: restraint ...

TYPE :: impr_type

...


INTEGER
:: a ...
INTEGER
:: b ...
INTEGER
:: c ...
INTEGER
:: d ...
INTEGER
:: id_type ...
INTEGER
:: itype ...
POINTER :: impr_kind ...

TYPE :: local_fixd_constraint_type

...


INTEGER
:: ifixd_index ...
INTEGER
:: ikind ...

TYPE :: molecule_kind_type

...


TYPE(atom_type),
DIMENSION(:), POINTER :: atom_list ...
DIMENSION(:), POINTER :: bond_kind_set ...
TYPE(bond_type),
DIMENSION(:), POINTER :: bond_list ...
DIMENSION(:), POINTER :: bend_kind_set ...
TYPE(bend_type),
DIMENSION(:), POINTER :: bend_list ...
DIMENSION(:), POINTER :: ub_kind_set ...
TYPE(ub_type),
DIMENSION(:), POINTER :: ub_list ...
DIMENSION(:), POINTER :: torsion_kind_set ...
DIMENSION(:), POINTER :: torsion_list ...
DIMENSION(:), POINTER :: impr_kind_set ...
TYPE(impr_type),
DIMENSION(:), POINTER :: impr_list ...
DIMENSION(:), POINTER :: opbend_kind_set ...
DIMENSION(:), POINTER :: opbend_list ...
DIMENSION(:), POINTER :: colv_list ...
DIMENSION(:), POINTER :: g3x3_list ...
DIMENSION(:), POINTER :: g4x6_list ...
DIMENSION(:), POINTER :: vsite_list ...
DIMENSION(:), POINTER :: fixd_list ...
TYPE(shell_type),
DIMENSION(:), POINTER :: shell_list ...
:: name ...
REAL(dp)
:: charge ...
REAL(dp)
:: mass ...
INTEGER
:: kind_number ...
INTEGER
:: natom ...
INTEGER
:: nbond ...
INTEGER
:: nbend ...
INTEGER
:: nimpr ...
INTEGER
:: nopbend ...
INTEGER
:: ntorsion ...
INTEGER
:: nub ...
INTEGER
:: ng3x3 ...
INTEGER
:: ng3x3_restraint ...
INTEGER
:: ng4x6 ...
INTEGER
:: ng4x6_restraint ...
INTEGER
:: nvsite ...
INTEGER
:: nvsite_restraint ...
INTEGER
:: nfixd ...
INTEGER
:: nfixd_restraint ...
INTEGER
:: nmolecule ...
INTEGER
:: nshell ...
:: ncolv ...
INTEGER
:: nsgf ...
INTEGER
:: nelectron ...
INTEGER
:: nelectron_alpha ...
INTEGER
:: nelectron_beta ...
INTEGER,
DIMENSION(:), POINTER :: molecule_list ...
LOGICAL
:: molname_generated ...

TYPE :: opbend_type

...


INTEGER
:: a ...
INTEGER
:: b ...
INTEGER
:: c ...
INTEGER
:: d ...
INTEGER
:: id_type ...
INTEGER
:: itype ...
POINTER :: opbend_kind ...

TYPE :: shell_type

...


INTEGER
:: a ...
:: name ...
POINTER :: shell_kind ...

TYPE :: torsion_type

...


INTEGER
:: a ...
INTEGER
:: b ...
INTEGER
:: c ...
INTEGER
:: d ...
INTEGER
:: id_type ...
INTEGER
:: itype ...
POINTER :: torsion_kind ...

TYPE :: ub_type

...


INTEGER
:: a ...
INTEGER
:: b ...
INTEGER
:: c ...
INTEGER
:: id_type ...
INTEGER
:: itype ...
POINTER :: ub_kind ...

TYPE :: vsite_constraint_type

...


INTEGER
:: a ...
INTEGER
:: b ...
INTEGER
:: c ...
INTEGER
:: d ...
REAL(dp)
:: wbc ...
REAL(dp)
:: wdc ...
:: restraint ...

SUBROUTINEallocate_molecule_kind_set(molecule_kind_set, nmolecule_kind)

Allocate and initialize a molecule kind set.

Arguments:
POINTER
:: molecule_kind_set(:) ...
INTEGER,
INTENT(in)
:: nmolecule_kind ...

SUBROUTINEdeallocate_molecule_kind_set(molecule_kind_set)

Deallocate a molecule kind set.

Arguments:
POINTER
:: molecule_kind_set(:) ...

SUBROUTINEget_molecule_kind(molecule_kind, atom_list, bond_list, bend_list, ub_list, impr_list, opbend_list, colv_list, fixd_list, g3x3_list, g4x6_list, vsite_list, torsion_list, shell_list, name, mass, charge, kind_number, natom, nbend, nbond, nub, nimpr, nopbend, nconstraint, nconstraint_fixd, nfixd, ncolv, ng3x3, ng4x6, nvsite, nfixd_restraint, ng3x3_restraint, ng4x6_restraint, nvsite_restraint, nrestraints, nmolecule, nsgf, nshell, ntorsion, molecule_list, nelectron, nelectron_alpha, nelectron_beta, bond_kind_set, bend_kind_set, ub_kind_set, impr_kind_set, opbend_kind_set, torsion_kind_set, molname_generated)

Get informations about a molecule kind.

Arguments:
POINTER
:: molecule_kind ...
TYPE(atom_type),
OPTIONAL, POINTER
:: atom_list(:) ...
TYPE(bond_type),
OPTIONAL, POINTER
:: bond_list(:) ...
TYPE(bend_type),
OPTIONAL, POINTER
:: bend_list(:) ...
TYPE(ub_type),
OPTIONAL, POINTER
:: ub_list(:) ...
TYPE(impr_type),
OPTIONAL, POINTER
:: impr_list(:) ...
OPTIONAL, POINTER
:: opbend_list(:) ...
OPTIONAL, POINTER
:: colv_list(:) ...
OPTIONAL, POINTER
:: fixd_list(:) ...
OPTIONAL, POINTER
:: g3x3_list(:) ...
OPTIONAL, POINTER
:: g4x6_list(:) ...
OPTIONAL, POINTER
:: vsite_list(:) ...
OPTIONAL, POINTER
:: torsion_list(:) ...
TYPE(shell_type),
OPTIONAL, POINTER
:: shell_list(:) ...
INTENT(out),
OPTIONAL
:: name ...
REAL(dp),
OPTIONAL
:: mass ...
REAL(dp),
OPTIONAL
:: charge ...
INTEGER,
INTENT(out),
OPTIONAL
:: kind_number ...
INTEGER,
INTENT(out),
OPTIONAL
:: natom ...
INTEGER,
INTENT(out),
OPTIONAL
:: nbend ...
INTEGER,
INTENT(out),
OPTIONAL
:: nbond ...
INTEGER,
INTENT(out),
OPTIONAL
:: nub ...
INTEGER,
INTENT(out),
OPTIONAL
:: nimpr ...
INTEGER,
INTENT(out),
OPTIONAL
:: nopbend ...
INTEGER,
INTENT(out),
OPTIONAL
:: nconstraint ...
INTEGER,
INTENT(out),
OPTIONAL
:: nconstraint_fixd ...
INTEGER,
INTENT(out),
OPTIONAL
:: nfixd ...
INTENT(out),
OPTIONAL
:: ncolv ...
INTEGER,
INTENT(out),
OPTIONAL
:: ng3x3 ...
INTEGER,
INTENT(out),
OPTIONAL
:: ng4x6 ...
INTEGER,
INTENT(out),
OPTIONAL
:: nvsite ...
INTEGER,
INTENT(out),
OPTIONAL
:: nfixd_restraint ...
INTEGER,
INTENT(out),
OPTIONAL
:: ng3x3_restraint ...
INTEGER,
INTENT(out),
OPTIONAL
:: ng4x6_restraint ...
INTEGER,
INTENT(out),
OPTIONAL
:: nvsite_restraint ...
INTEGER,
INTENT(out),
OPTIONAL
:: nrestraints ...
INTEGER,
INTENT(out),
OPTIONAL
:: nmolecule ...
INTEGER,
INTENT(out),
OPTIONAL
:: nsgf ...
INTEGER,
INTENT(out),
OPTIONAL
:: nshell ...
INTEGER,
INTENT(out),
OPTIONAL
:: ntorsion ...
INTEGER,
OPTIONAL, POINTER
:: molecule_list(:) ...
INTEGER,
INTENT(out),
OPTIONAL
:: nelectron ...
INTEGER,
INTENT(out),
OPTIONAL
:: nelectron_alpha ...
INTEGER,
INTENT(out),
OPTIONAL
:: nelectron_beta ...
OPTIONAL, POINTER
:: bond_kind_set(:) ...
OPTIONAL, POINTER
:: bend_kind_set(:) ...
OPTIONAL, POINTER
:: ub_kind_set(:) ...
OPTIONAL, POINTER
:: impr_kind_set(:) ...
OPTIONAL, POINTER
:: opbend_kind_set(:) ...
OPTIONAL, POINTER
:: torsion_kind_set(:) ...
LOGICAL,
INTENT(out),
OPTIONAL
:: molname_generated ...

SUBROUTINEget_molecule_kind_set(molecule_kind_set, maxatom, natom, nbond, nbend, nub, ntorsion, nimpr, nopbend, nconstraint, nconstraint_fixd, nmolecule, nrestraints)

Get informations about a molecule kind set.

Arguments:
POINTER
:: molecule_kind_set(:) ...
INTEGER,
INTENT(out),
OPTIONAL
:: maxatom ...
INTEGER,
INTENT(out),
OPTIONAL
:: natom ...
INTEGER,
INTENT(out),
OPTIONAL
:: nbond ...
INTEGER,
INTENT(out),
OPTIONAL
:: nbend ...
INTEGER,
INTENT(out),
OPTIONAL
:: nub ...
INTEGER,
INTENT(out),
OPTIONAL
:: ntorsion ...
INTEGER,
INTENT(out),
OPTIONAL
:: nimpr ...
INTEGER,
INTENT(out),
OPTIONAL
:: nopbend ...
INTEGER,
INTENT(out),
OPTIONAL
:: nconstraint ...
INTEGER,
INTENT(out),
OPTIONAL
:: nconstraint_fixd ...
INTEGER,
INTENT(out),
OPTIONAL
:: nmolecule ...
INTEGER,
INTENT(out),
OPTIONAL
:: nrestraints ...

SUBROUTINEsetup_colvar_counters(colv_list, ncolv)

...

Arguments:
POINTER
:: colv_list(:) ...
:: ncolv ...

SUBROUTINEset_molecule_kind(molecule_kind, name, mass, charge, kind_number, molecule_list, atom_list, nbond, bond_list, nbend, bend_list, nub, ub_list, nimpr, impr_list, nopbend, opbend_list, ntorsion, torsion_list, fixd_list, ncolv, colv_list, ng3x3, g3x3_list, ng4x6, nfixd, g4x6_list, nvsite, vsite_list, ng3x3_restraint, ng4x6_restraint, nfixd_restraint, nshell, shell_list, nvsite_restraint, bond_kind_set, bend_kind_set, ub_kind_set, torsion_kind_set, impr_kind_set, opbend_kind_set, nelectron, nsgf, molname_generated)

Set the components of a molecule kind.

Arguments:
POINTER
:: molecule_kind ...
CHARACTER(*),
INTENT(in),
OPTIONAL
:: name ...
REAL(dp),
OPTIONAL
:: mass ...
REAL(dp),
OPTIONAL
:: charge ...
INTEGER,
INTENT(in),
OPTIONAL
:: kind_number ...
INTEGER,
OPTIONAL, POINTER
:: molecule_list(:) ...
TYPE(atom_type),
OPTIONAL, POINTER
:: atom_list(:) ...
INTEGER,
INTENT(in),
OPTIONAL
:: nbond ...
TYPE(bond_type),
OPTIONAL, POINTER
:: bond_list(:) ...
INTEGER,
INTENT(in),
OPTIONAL
:: nbend ...
TYPE(bend_type),
OPTIONAL, POINTER
:: bend_list(:) ...
INTEGER,
INTENT(in),
OPTIONAL
:: nub ...
TYPE(ub_type),
OPTIONAL, POINTER
:: ub_list(:) ...
INTEGER,
INTENT(in),
OPTIONAL
:: nimpr ...
TYPE(impr_type),
OPTIONAL, POINTER
:: impr_list(:) ...
INTEGER,
INTENT(in),
OPTIONAL
:: nopbend ...
OPTIONAL, POINTER
:: opbend_list(:) ...
INTEGER,
INTENT(in),
OPTIONAL
:: ntorsion ...
OPTIONAL, POINTER
:: torsion_list(:) ...
OPTIONAL, POINTER
:: fixd_list(:) ...
INTENT(in),
OPTIONAL
:: ncolv ...
OPTIONAL, POINTER
:: colv_list(:) ...
INTEGER,
INTENT(in),
OPTIONAL
:: ng3x3 ...
OPTIONAL, POINTER
:: g3x3_list(:) ...
INTEGER,
INTENT(in),
OPTIONAL
:: ng4x6 ...
INTEGER,
INTENT(in),
OPTIONAL
:: nfixd ...
OPTIONAL, POINTER
:: g4x6_list(:) ...
INTEGER,
INTENT(in),
OPTIONAL
:: nvsite ...
OPTIONAL, POINTER
:: vsite_list(:) ...
INTEGER,
INTENT(in),
OPTIONAL
:: ng3x3_restraint ...
INTEGER,
INTENT(in),
OPTIONAL
:: ng4x6_restraint ...
INTEGER,
INTENT(in),
OPTIONAL
:: nfixd_restraint ...
INTEGER,
INTENT(in),
OPTIONAL
:: nshell ...
TYPE(shell_type),
OPTIONAL, POINTER
:: shell_list(:) ...
INTEGER,
INTENT(in),
OPTIONAL
:: nvsite_restraint ...
OPTIONAL, POINTER
:: bond_kind_set(:) ...
OPTIONAL, POINTER
:: bend_kind_set(:) ...
OPTIONAL, POINTER
:: ub_kind_set(:) ...
OPTIONAL, POINTER
:: torsion_kind_set(:) ...
OPTIONAL, POINTER
:: impr_kind_set(:) ...
OPTIONAL, POINTER
:: opbend_kind_set(:) ...
INTEGER,
INTENT(in),
OPTIONAL
:: nelectron ...
INTEGER,
INTENT(in),
OPTIONAL
:: nsgf ...
LOGICAL,
INTENT(in),
OPTIONAL
:: molname_generated ...

SUBROUTINEwrite_molecule_kind_set(molecule_kind_set, subsys_section)

Write a moleculeatomic kind set data set to the output unit.

Arguments:
POINTER
:: molecule_kind_set(:) ...
POINTER
:: subsys_section ...

private Parameters/Types:

private Types:

TYPE :: restraint_type

...


LOGICAL
:: active ...
REAL(dp)
:: k0 ...