141 lines
3.3 KiB
C
141 lines
3.3 KiB
C
/*
|
|
* This function fills in the keyword field, the number of members for each
|
|
* item and the number of parameters for each item
|
|
*
|
|
*/
|
|
|
|
#include "msi2lmp.h"
|
|
#include "Forcefield.h"
|
|
|
|
#include <string.h>
|
|
|
|
void InitializeItems(void)
|
|
{
|
|
/* ATOM TYPES */
|
|
strcpy(ff_atomtypes.keyword,"#atom_types");
|
|
ff_atomtypes.number_of_members = 1;
|
|
ff_atomtypes.number_of_parameters = 1;
|
|
|
|
/* EQUIVALENCE */
|
|
|
|
strcpy(equivalence.keyword,"#equivalence");
|
|
equivalence.number_of_members = 6;
|
|
equivalence.number_of_parameters = 0;
|
|
|
|
/* NON-BOND */
|
|
|
|
strcpy(ff_vdw.keyword,"#nonbond");
|
|
ff_vdw.number_of_members = 1;
|
|
ff_vdw.number_of_parameters = 2;
|
|
|
|
/* BOND */
|
|
|
|
ff_bond.number_of_members = 2;
|
|
if (forcefield & (FF_TYPE_CLASS1|FF_TYPE_OPLSAA)) {
|
|
strcpy(ff_bond.keyword,"#quadratic_bond");
|
|
ff_bond.number_of_parameters = 2;
|
|
}
|
|
|
|
if (forcefield & FF_TYPE_CLASS2) {
|
|
strcpy(ff_bond.keyword,"#quartic_bond");
|
|
ff_bond.number_of_parameters = 4;
|
|
}
|
|
|
|
/* MORSE */
|
|
|
|
if (forcefield & FF_TYPE_CLASS1) {
|
|
ff_morse.number_of_members = 2;
|
|
strcpy(ff_morse.keyword,"#morse_bond");
|
|
ff_morse.number_of_parameters = 3;
|
|
}
|
|
|
|
/* ANGLE */
|
|
|
|
ff_ang.number_of_members = 3;
|
|
if (forcefield & (FF_TYPE_CLASS1|FF_TYPE_OPLSAA)) {
|
|
strcpy(ff_ang.keyword,"#quadratic_angle");
|
|
ff_ang.number_of_parameters = 2;
|
|
}
|
|
|
|
if (forcefield & FF_TYPE_CLASS2) {
|
|
strcpy(ff_ang.keyword,"#quartic_angle");
|
|
ff_ang.number_of_parameters = 4;
|
|
}
|
|
|
|
/* TORSION */
|
|
|
|
ff_tor.number_of_members = 4;
|
|
if (forcefield & (FF_TYPE_CLASS1|FF_TYPE_OPLSAA)) {
|
|
strcpy(ff_tor.keyword,"#torsion_1");
|
|
ff_tor.number_of_parameters = 3;
|
|
}
|
|
|
|
if (forcefield & FF_TYPE_CLASS2) {
|
|
strcpy(ff_tor.keyword,"#torsion_3");
|
|
ff_tor.number_of_parameters = 6;
|
|
}
|
|
|
|
/* OOP */
|
|
|
|
ff_oop.number_of_members = 4;
|
|
if (forcefield & (FF_TYPE_CLASS1|FF_TYPE_OPLSAA)) {
|
|
strcpy(ff_oop.keyword,"#out_of_plane");
|
|
ff_oop.number_of_parameters = 3;
|
|
}
|
|
|
|
if (forcefield & FF_TYPE_CLASS2) {
|
|
strcpy(ff_oop.keyword,"#wilson_out_of_plane");
|
|
ff_oop.number_of_parameters = 2;
|
|
}
|
|
|
|
if (forcefield & FF_TYPE_CLASS2) {
|
|
/* BOND-BOND */
|
|
|
|
strcpy(ff_bonbon.keyword,"#bond-bond");
|
|
ff_bonbon.number_of_members = 3;
|
|
ff_bonbon.number_of_parameters = 1;
|
|
|
|
/* BOND-ANGLE */
|
|
|
|
strcpy(ff_bonang.keyword,"#bond-angle");
|
|
ff_bonang.number_of_members = 3;
|
|
ff_bonang.number_of_parameters = 2;
|
|
|
|
/* ANGLE-TORSION */
|
|
|
|
strcpy(ff_angtor.keyword,"#angle-torsion_3");
|
|
ff_angtor.number_of_members = 4;
|
|
ff_angtor.number_of_parameters = 6;
|
|
|
|
/* ANGLE-ANGLE-TORSION */
|
|
|
|
strcpy(ff_angangtor.keyword,"#angle-angle-torsion_1");
|
|
ff_angangtor.number_of_members = 4;
|
|
ff_angangtor.number_of_parameters = 1;
|
|
|
|
/* END-BOND-TORSION */
|
|
|
|
strcpy(ff_endbontor.keyword,"#end_bond-torsion_3");
|
|
ff_endbontor.number_of_members = 4;
|
|
ff_endbontor.number_of_parameters = 6;
|
|
|
|
/* MID-BOND-TORSION */
|
|
|
|
strcpy(ff_midbontor.keyword,"#middle_bond-torsion_3");
|
|
ff_midbontor.number_of_members = 4;
|
|
ff_midbontor.number_of_parameters = 3;
|
|
|
|
/* ANGLE-ANGLE */
|
|
|
|
strcpy(ff_angang.keyword,"#angle-angle");
|
|
ff_angang.number_of_members = 4;
|
|
ff_angang.number_of_parameters = 1;
|
|
|
|
/* BOND-BOND-1-3 */
|
|
|
|
strcpy(ff_bonbon13.keyword,"#bond-bond_1_3");
|
|
ff_bonbon13.number_of_members = 4;
|
|
ff_bonbon13.number_of_parameters = 1;
|
|
}
|
|
}
|