diff --git a/tools/pymol_asphere/doc/asphere_vis.1 b/tools/pymol_asphere/doc/asphere_vis.1 index 350fa57cff..d8582c8544 100755 --- a/tools/pymol_asphere/doc/asphere_vis.1 +++ b/tools/pymol_asphere/doc/asphere_vis.1 @@ -1,7 +1,7 @@ .if !'\*(.T'ps' .if !'\*(.T'html' .tm warning: eqn should have been given a `-T\*(.T' option .if '\*(.T'html' .if !'ps'ps' .tm warning: eqn should have been given a `-Tps' option .if '\*(.T'html' .if !'ps'ps' .tm warning: (it is advisable to invoke groff via: groff -Thtml -e) -.lf 1 /usr/share/groff/1.18.1.1/tmac/eqnrc +.lf 1 /usr/share/groff/1.18.1/tmac/eqnrc .\" Startup file for eqn. .EQ .nr 0C \n(.C @@ -11,9 +11,9 @@ .lf 63 .EN .lf 1 asphere_vis.manpage -.TH asphere_vis 1 "June 11, 2007" "asphere_vis (Graphics Utilities) 0.1" "Graphics Utilities" +.TH asphere_vis 1 "June 22, 2007" "asphere_vis (Graphics Utilities) 0.1" "Graphics Utilities" .SH NAME -\fBasphere_vis\fR - Tools for LAMMPS ellipsoid trajectory visualization in PyMol. +\fBasphere_vis\fR - Tools for ellipsoid visualization in PyMol of a LAMMPS trajectory. .PD 2 .SH VERSION .PD 1 @@ -22,12 +22,12 @@ Version 0.1 .SH SYNOPSIS .PD 1 .TP -\fBasphere_vis\fR input_data_file input_dump_file output_py_file [\fB-b\fR] [\fB-c\fR \fIcolor_file\fR] [\fB-d\fR] [\fB-f\fR \fImax_frame\fR] [\fB-h\fR] [\fB-i\fR \fIstart_frame\fR \fIskip\fR \fIend_frame\fR] [\fB-n\fR \fInotice_level\fR] [\fB-r\fR \fIellip_res\fR] [\fB-s\fR] +\fBasphere_vis\fR input_file dump_file output_py_file [\fB-b\fR] [\fB-c\fR \fIcolor_file\fR] [\fB-d\fR] [\fB-f\fR \fImax_frame\fR] [\fB-h\fR] [\fB-i\fR \fIstart_frame\fR \fIskip\fR \fIend_frame\fR] [\fB-n\fR \fInotice_level\fR] [\fB-r\fR \fIellip_res\fR] [\fB-s\fR] .br .PD 2 .SH DESCRIPTION .PD 1 -Tool for LAMMPS trajectory visualization in PyMol. The input is a LAMMPS 'data' file or a 'in' file with ellipsoid semi-axes specified using the ellipsoid command. The trajectory is input from a 'dump' file that must be generated using a custom style with the following arguments in order: +Tool for ellipsoid visualization in PyMol of a LAMMPS trajectory. The \fIinput_file\fR is a LAMMPS data file with a 'Shapes' section or a LAMMPS input script file with ellipsoid diameters specified using the 'shape' command. The trajectory is input from \fIdump_file\fR that must be generated using a LAMMPS dump_style custom command with the following arguments in order: .PD 0 .PP .PD 1 @@ -53,10 +53,10 @@ When used with \fB-s\fR, the option will number the filenames based on the frame .TP .PP .PD 1 -Color the atom_types and set transparency based on the input file. The input file contains a space delimited set sequence of the color for an atom followed by the alpha. The color should be the string name and the alpha should be between 0 and 1. +Color the atom_types and set transparency based on the color file. The color file contains a space delimited set sequence of the color for an atom followed by the alpha. The color should be the string name and the alpha should be between 0 and 1. .TP \fB-d\fR -Use a LAMMPS input file rather than a data file for extracting atom type information. The input filename is specified as \fIinput_data_file\fR. +Use a LAMMPS input script rather than a data file for extracting atom shape information. The input script is specified as \fIinput_file\fR. .TP \fB-f\fR \fImax_frame\fR .PD 0 @@ -107,7 +107,7 @@ Set the degree of program output. Use: .TP .PP .PD 1 -Resolution of ellipsoids in trajectory. The number of triangles per ellipsoid is equal to 2*(\fIellip_res\fR^2). Default is 10. +Resolution of ellipsoids in PyMol. The number of triangles per ellipsoid is equal to 2*(\fIellip_res\fR^2). Default is 10. .TP \fB-s\fR Output the results into separate .py files. The filename and extension for the output files is taken from \fIoutput_py_file\fR. diff --git a/tools/pymol_asphere/doc/asphere_vis.manpage b/tools/pymol_asphere/doc/asphere_vis.manpage index 40991503e7..1af337c76c 100755 --- a/tools/pymol_asphere/doc/asphere_vis.manpage +++ b/tools/pymol_asphere/doc/asphere_vis.manpage @@ -1,6 +1,6 @@ -.TH asphere_vis 1 "June 11, 2007" "asphere_vis (Graphics Utilities) 0.1" "Graphics Utilities" +.TH asphere_vis 1 "June 22, 2007" "asphere_vis (Graphics Utilities) 0.1" "Graphics Utilities" .SH NAME -\fBasphere_vis\fR - Tools for LAMMPS ellipsoid trajectory visualization in PyMol. +\fBasphere_vis\fR - Tools for ellipsoid visualization in PyMol of a LAMMPS trajectory. .PD 2 .SH VERSION .PD 1 @@ -9,12 +9,12 @@ Version 0.1 .SH SYNOPSIS .PD 1 .TP -\fBasphere_vis\fR input_data_file input_dump_file output_py_file [\fB-b\fR] [\fB-c\fR \fIcolor_file\fR] [\fB-d\fR] [\fB-f\fR \fImax_frame\fR] [\fB-h\fR] [\fB-i\fR \fIstart_frame\fR \fIskip\fR \fIend_frame\fR] [\fB-n\fR \fInotice_level\fR] [\fB-r\fR \fIellip_res\fR] [\fB-s\fR] +\fBasphere_vis\fR input_file dump_file output_py_file [\fB-b\fR] [\fB-c\fR \fIcolor_file\fR] [\fB-d\fR] [\fB-f\fR \fImax_frame\fR] [\fB-h\fR] [\fB-i\fR \fIstart_frame\fR \fIskip\fR \fIend_frame\fR] [\fB-n\fR \fInotice_level\fR] [\fB-r\fR \fIellip_res\fR] [\fB-s\fR] .br .PD 2 .SH DESCRIPTION .PD 1 -Tool for LAMMPS trajectory visualization in PyMol. The input is a LAMMPS 'data' file or a 'in' file with ellipsoid semi-axes specified using the ellipsoid command. The trajectory is input from a 'dump' file that must be generated using a custom style with the following arguments in order: +Tool for ellipsoid visualization in PyMol of a LAMMPS trajectory. The \fIinput_file\fR is a LAMMPS data file with a 'Shapes' section or a LAMMPS input script file with ellipsoid diameters specified using the 'shape' command. The trajectory is input from \fIdump_file\fR that must be generated using a LAMMPS dump_style custom command with the following arguments in order: .PD 0 .PP .PD 1 @@ -40,10 +40,10 @@ When used with \fB-s\fR, the option will number the filenames based on the frame .TP .PP .PD 1 -Color the atom_types and set transparency based on the input file. The input file contains a space delimited set sequence of the color for an atom followed by the alpha. The color should be the string name and the alpha should be between 0 and 1. +Color the atom_types and set transparency based on the color file. The color file contains a space delimited set sequence of the color for an atom followed by the alpha. The color should be the string name and the alpha should be between 0 and 1. .TP \fB-d\fR -Use a LAMMPS input file rather than a data file for extracting atom type information. The input filename is specified as \fIinput_data_file\fR. +Use a LAMMPS input script rather than a data file for extracting atom shape information. The input script is specified as \fIinput_file\fR. .TP \fB-f\fR \fImax_frame\fR .PD 0 @@ -94,7 +94,7 @@ Set the degree of program output. Use: .TP .PP .PD 1 -Resolution of ellipsoids in trajectory. The number of triangles per ellipsoid is equal to 2*(\fIellip_res\fR^2). Default is 10. +Resolution of ellipsoids in PyMol. The number of triangles per ellipsoid is equal to 2*(\fIellip_res\fR^2). Default is 10. .TP \fB-s\fR Output the results into separate .py files. The filename and extension for the output files is taken from \fIoutput_py_file\fR. diff --git a/tools/pymol_asphere/doc/asphere_vis.pdf b/tools/pymol_asphere/doc/asphere_vis.pdf index df01a58669..6dff9e4ef5 100755 Binary files a/tools/pymol_asphere/doc/asphere_vis.pdf and b/tools/pymol_asphere/doc/asphere_vis.pdf differ diff --git a/tools/pymol_asphere/src/asphere_vis.cpp b/tools/pymol_asphere/src/asphere_vis.cpp index 69bd353672..b5591ed55e 100644 --- a/tools/pymol_asphere/src/asphere_vis.cpp +++ b/tools/pymol_asphere/src/asphere_vis.cpp @@ -339,20 +339,20 @@ void Describe(CommandLine &cl,ostream &out) { void HandleArgs(CommandLine &cl, int argc, char *argv[], Error *error) { // Arguments cl.addmanditory(' ',3); - cl.addargname(' ',"input_data_file"); - cl.addargname(' ',"input_dump_file"); + cl.addargname(' ',"input_file"); + cl.addargname(' ',"dump_file"); cl.addargname(' ',"output_py_file"); cl.add('d',0); - cl.adddescription('d',"Use a LAMMPS input file rather than a data file for extracting atom type information. The input filename is specified as input_data_file."); + cl.adddescription('d',"Use a LAMMPS input script rather than a data file for extracting atom shape information. The input script is specified as input_file."); cl.add('f',1); cl.addargname('f',"max_frame"); cl.adddescription('f',"Do not write more than max_frame frames to the output file."); cl.add('r',1); cl.addargname('r',"ellip_res"); - cl.adddescription('r',"Resolution of ellipsoids in trajectory. The number of triangles per ellipsoid is equal to 2*(ellip_res^2). Default is 10."); + cl.adddescription('r',"Resolution of ellipsoids in PyMol. The number of triangles per ellipsoid is equal to 2*(ellip_res^2). Default is 10."); cl.add('c',1); cl.addargname('c',"color_file"); - cl.adddescription('c',"Color the atom_types and set transparency based on the input file. The input file contains a space delimited set sequence of the color for an atom followed by the alpha. The color should be the string name and the alpha should be between 0 and 1."); + cl.adddescription('c',"Color the atom_types and set transparency based on the color file. The color file contains a space delimited set sequence of the color for an atom followed by the alpha. The color should be the string name and the alpha should be between 0 and 1."); cl.add('s',0); cl.adddescription('s',"Output the results into separate .py files. The filename and extension for the output files is taken from output_py_file."); cl.add('i',3); @@ -371,17 +371,17 @@ void HandleArgs(CommandLine &cl, int argc, char *argv[], Error *error) { cl.adddescription('n',"Set the degree of program output. Use: \n\n\t-n 0\tNo output\n\t-n 10\tNormal program output\n\t-n 20\tParameters useful for reproducing the results\n\t-n 30\tAll output"); // Short Description - cl.addtoman_chapter("NAME","Tools for LAMMPS ellipsoid trajectory visualization in PyMol."); + cl.addtoman_chapter("NAME","Tools for ellipsoid visualization in PyMol of a LAMMPS trajectory."); // Version cl.addtoman_chapter("VERSION","Version 0.1"); // Full Description const string desc[5]={ - "Tool for LAMMPS trajectory visualization in PyMol. The input is a LAMMPS ", - "'data' file or a 'in' file with ellipsoid semi-axes specified using the ", - "ellipsoid command. The trajectory is input from a 'dump' file that must ", - "be generated using a custom style with the following arguments in order:\n", + "Tool for ellipsoid visualization in PyMol of a LAMMPS trajectory. The input_file is a LAMMPS ", + "data file with a 'Shapes' section or a LAMMPS input script file with ellipsoid diameters specified using the ", + "'shape' command. The trajectory is input from dump_file that must ", + "be generated using a LAMMPS dump_style custom command with the following arguments in order:\n", ".TP\\fItag type x y z quatw quati quatj quatk\\fR\n" }; cl.addtoman_chapter("DESCRIPTION",5,desc); diff --git a/tools/restart2data.cpp b/tools/restart2data.cpp index 889bc09580..70e2431a22 100644 --- a/tools/restart2data.cpp +++ b/tools/restart2data.cpp @@ -1886,6 +1886,12 @@ void angle(FILE *fp, Data &data) fread(&data.angle_harmonic_k[1],sizeof(double),data.nangletypes,fp); fread(&data.angle_harmonic_theta0[1],sizeof(double),data.nangletypes,fp); + } else if (strcmp(data.angle_style,"hybrid") == 0) { + + int nstyles = read_int(fp); + for (int i = 0; i < nstyles; i++) + char *substyle = read_char(fp); + } else { printf("ERROR: Unknown angle style %s\n",data.angle_style); exit(1); @@ -2065,6 +2071,12 @@ void dihedral(FILE *fp, Data &data) fread(&data.dihedral_opls_k3[1],sizeof(double),data.ndihedraltypes,fp); fread(&data.dihedral_opls_k4[1],sizeof(double),data.ndihedraltypes,fp); + } else if (strcmp(data.dihedral_style,"hybrid") == 0) { + + int nstyles = read_int(fp); + for (int i = 0; i < nstyles; i++) + char *substyle = read_char(fp); + } else { printf("ERROR: Unknown dihedral style %s\n",data.dihedral_style); exit(1); @@ -2128,6 +2140,12 @@ void improper(FILE *fp, Data &data) fread(&data.improper_harmonic_chi[1],sizeof(double), data.nimpropertypes,fp); + } else if (strcmp(data.improper_style,"hybrid") == 0) { + + int nstyles = read_int(fp); + for (int i = 0; i < nstyles; i++) + char *substyle = read_char(fp); + } else { printf("ERROR: Unknown improper style %s\n",data.improper_style); exit(1); @@ -2361,10 +2379,11 @@ void Data::write(FILE *fp) if (angle_style) { double PI = 3.1415926; // convert back to degrees - if (strcmp(angle_style,"none") != 0) + if ((strcmp(angle_style,"none") != 0) && + (strcmp(angle_style,"hybrid") != 0)) fprintf(fp,"\nAngle Coeffs\n\n"); - - if (strcmp(angle_style,"charmm") == 0) { + + else if (strcmp(angle_style,"charmm") == 0) { for (int i = 1; i <= nangletypes; i++) fprintf(fp,"%d %g %g %g %g\n",i, angle_charmm_k[i],angle_charmm_theta0[i]/PI*180.0, @@ -2403,10 +2422,11 @@ void Data::write(FILE *fp) if (dihedral_style) { double PI = 3.1415926; // convert back to degrees - if (strcmp(dihedral_style,"none") != 0) + if ((strcmp(dihedral_style,"none") != 0) && + (strcmp(dihedral_style,"hybrid") != 0)) fprintf(fp,"\nDihedral Coeffs\n\n"); - if (strcmp(dihedral_style,"charmm") == 0) { + else if (strcmp(dihedral_style,"charmm") == 0) { for (int i = 1; i <= ndihedraltypes; i++) fprintf(fp,"%d %g %d %d %g\n",i, dihedral_charmm_k[i],dihedral_charmm_multiplicity[i], @@ -2485,10 +2505,11 @@ void Data::write(FILE *fp) if (improper_style) { double PI = 3.1415926; // convert back to degrees - if (strcmp(improper_style,"none") != 0) + if ((strcmp(improper_style,"none") != 0) && + (strcmp(improper_style,"hybrid") != 0)) fprintf(fp,"\nImproper Coeffs\n\n"); - if (strcmp(improper_style,"class2") == 0) { + else if (strcmp(improper_style,"class2") == 0) { for (int i = 1; i <= nimpropertypes; i++) fprintf(fp,"%d %g %g\n",i, improper_class2_k0[i],improper_class2_chi0[i]/PI*180.0);