mod_prm Module

This module handles the reading of a parameter file in .prm format and the asignament of parameters based on atom type and connectivity.

public :: assign_vdw, assign_pol, assign_mpoles, assign_bond, & assign_angle, assign_urey, assign_strbnd, assign_opb, & assign_pitors, assign_torsion, assign_tortors, & assign_angtor, assign_strtor, terminate_prm


Uses

  • module~~mod_prm~~UsesGraph module~mod_prm mod_prm module~mod_electrostatics mod_electrostatics module~mod_prm->module~mod_electrostatics module~mod_memory mod_memory module~mod_prm->module~mod_memory module~mod_constants mod_constants module~mod_prm->module~mod_constants module~mod_io mod_io module~mod_prm->module~mod_io module~mod_topology mod_topology module~mod_prm->module~mod_topology module~mod_bonded mod_bonded module~mod_prm->module~mod_bonded module~mod_utils mod_utils module~mod_prm->module~mod_utils module~mod_electrostatics->module~mod_memory module~mod_electrostatics->module~mod_constants module~mod_electrostatics->module~mod_io module~mod_electrostatics->module~mod_topology module~mod_profiling mod_profiling module~mod_electrostatics->module~mod_profiling module~mod_adjacency_mat mod_adjacency_mat module~mod_electrostatics->module~mod_adjacency_mat module~mod_memory->module~mod_constants module~mod_memory->module~mod_io iso_c_binding iso_c_binding module~mod_memory->iso_c_binding module~mod_constants->iso_c_binding module~mod_io->module~mod_constants module~mod_topology->module~mod_memory module~mod_topology->module~mod_adjacency_mat module~mod_bonded->module~mod_memory module~mod_bonded->module~mod_io module~mod_bonded->module~mod_topology module~mod_utils->module~mod_memory module~mod_utils->module~mod_constants module~mod_profiling->module~mod_memory module~mod_profiling->module~mod_constants module~mod_profiling->module~mod_io module~mod_adjacency_mat->module~mod_memory

Used by

  • module~~mod_prm~~UsedByGraph module~mod_prm mod_prm proc~init_eel_for_link_atom init_eel_for_link_atom proc~init_eel_for_link_atom->module~mod_prm proc~init_bonded_for_link_atom init_bonded_for_link_atom proc~init_bonded_for_link_atom->module~mod_prm proc~mmpol_init_from_xyz mmpol_init_from_xyz proc~mmpol_init_from_xyz->module~mod_prm proc~qm_helper_init_vdw_prm qm_helper_init_vdw_prm proc~qm_helper_init_vdw_prm->module~mod_prm proc~ommp_system_from_qm_helper ommp_system_from_qm_helper proc~ommp_system_from_qm_helper->module~mod_prm

Contents


Functions

private function keyword_is_implemented(kw)

Arguments

Type IntentOptional Attributes Name
character(len=*) :: kw

Return Value logical

private function keyword_is_ignored(kw)

Arguments

Type IntentOptional Attributes Name
character(len=*) :: kw

Return Value logical

private function keyword_is_recognized(kw)

Arguments

Type IntentOptional Attributes Name
character(len=*) :: kw

Return Value logical

public function check_keyword(prm_buf)

Arguments

Type IntentOptional Attributes Name
character(len=OMMP_STR_CHAR_MAX), intent(in) :: prm_buf(:)

name of the input PRM file

Return Value logical

public function get_prm_ff_type(prm_buf) result(ff_type)

This function is intended to check if the ff described by prm_type is AMOEBA (or amoeba-like) or AMBER or FF of another kind. A FF is considered to be AMOEBA if: it contains multipole keywords (and no charge keywords) and polarization MUTUAL. A FF is considered do be AMBER if contains charge keyword and no multipole keyword.

Arguments

Type IntentOptional Attributes Name
character(len=OMMP_STR_CHAR_MAX), intent(in) :: prm_buf(:)

Char buffer containing the prm file loaded in RAM

Return Value integer(kind=ip)


Subroutines

private subroutine read_atom_cards(top, prm_buf)

Arguments

Type IntentOptional Attributes Name
type(ommp_topology_type), intent(inout) :: top

Topology object

character(len=OMMP_STR_CHAR_MAX), intent(in) :: prm_buf(:)

public subroutine assign_bond(bds, prm_buf, exclude_list, nexc_in)

If there are no bonds in the system just return, there is nothing to do.

Arguments

Type IntentOptional Attributes Name
type(ommp_bonded_type), intent(inout) :: bds

Bonded potential data structure

character(len=OMMP_STR_CHAR_MAX), intent(in) :: prm_buf(:)
integer(kind=ip), intent(in), optional, dimension(:) :: exclude_list

List of atoms for which interactions should not be computed

integer(kind=ip), intent(in), optional :: nexc_in

Number of atom in excluded list needed to skip a parameter

public subroutine assign_urey(bds, prm_buf)

Arguments

Type IntentOptional Attributes Name
type(ommp_bonded_type), intent(inout) :: bds

Bonded potential data structure

character(len=OMMP_STR_CHAR_MAX), intent(in) :: prm_buf(:)

public subroutine assign_strbnd(bds, prm_buf)

No parameters are defined, nothing to do.

Arguments

Type IntentOptional Attributes Name
type(ommp_bonded_type), intent(inout) :: bds

Bonded potential data structure

character(len=OMMP_STR_CHAR_MAX), intent(in) :: prm_buf(:)

Char buffer containing the prm file loaded in RAM

public subroutine assign_opb(bds, prm_buf)

Arguments

Type IntentOptional Attributes Name
type(ommp_bonded_type), intent(inout) :: bds

Bonded potential data structure

character(len=OMMP_STR_CHAR_MAX), intent(in) :: prm_buf(:)

public subroutine assign_pitors(bds, prm_buf)

Arguments

Type IntentOptional Attributes Name
type(ommp_bonded_type), intent(inout) :: bds

Bonded potential data structure

character(len=OMMP_STR_CHAR_MAX), intent(in) :: prm_buf(:)

public subroutine assign_torsion(bds, prm_buf)

Arguments

Type IntentOptional Attributes Name
type(ommp_bonded_type), intent(inout) :: bds

Bonded potential data structure

character(len=OMMP_STR_CHAR_MAX), intent(in) :: prm_buf(:)

public subroutine assign_imptorsion(bds, prm_buf)

Arguments

Type IntentOptional Attributes Name
type(ommp_bonded_type), intent(inout) :: bds

Bonded potential data structure

character(len=OMMP_STR_CHAR_MAX), intent(in) :: prm_buf(:)

public subroutine assign_strtor(bds, prm_buf)

Arguments

Type IntentOptional Attributes Name
type(ommp_bonded_type), intent(inout) :: bds

Bonded potential data structure

character(len=OMMP_STR_CHAR_MAX), intent(in) :: prm_buf(:)

public subroutine assign_angtor(bds, prm_buf)

Arguments

Type IntentOptional Attributes Name
type(ommp_bonded_type), intent(inout) :: bds

Bonded potential data structure

character(len=OMMP_STR_CHAR_MAX), intent(in) :: prm_buf(:)

public subroutine assign_angle(bds, prm_buf, exclude_list, nexc_in)

Arguments

Type IntentOptional Attributes Name
type(ommp_bonded_type), intent(inout) :: bds

Bonded potential data structure

character(len=OMMP_STR_CHAR_MAX), intent(in) :: prm_buf(:)

Char buffer containing the prm file loaded in RAM

integer(kind=ip), intent(in), optional, dimension(:) :: exclude_list

List of atoms for which interactions should not be computed

integer(kind=ip), intent(in), optional :: nexc_in

Number of atom in excluded list needed to skip a parameter

public subroutine assign_vdw(vdw, top, prm_buf)

Arguments

Type IntentOptional Attributes Name
type(ommp_nonbonded_type), intent(inout) :: vdw

Non-bonded structure to be initialized

type(ommp_topology_type), intent(inout) :: top

Topology structure

character(len=OMMP_STR_CHAR_MAX), intent(in) :: prm_buf(:)

Char buffer containing the prm file loaded in RAM

public subroutine assign_pol(eel, prm_buf)

Arguments

Type IntentOptional Attributes Name
type(ommp_electrostatics_type), intent(inout), target :: eel

Electrostatics data structure to be initialized

character(len=OMMP_STR_CHAR_MAX), intent(in) :: prm_buf(:)

Char buffer containing the prm file loaded in RAM

public subroutine assign_mpoles(eel, prm_buf)

Arguments

Type IntentOptional Attributes Name
type(ommp_electrostatics_type), intent(inout) :: eel

The electrostatic object to be initialized

character(len=OMMP_STR_CHAR_MAX), intent(in) :: prm_buf(:)

Char buffer containing the prm file loaded in RAM

public subroutine assign_tortors(bds, prm_buf)

Arguments

Type IntentOptional Attributes Name
type(ommp_bonded_type), intent(inout) :: bds

Bonded potential data structure

character(len=OMMP_STR_CHAR_MAX), intent(in) :: prm_buf(:)

Char buffer containing the prm file loaded in RAM