/* * 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 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; } }