diff --git a/src/CLASS2/angle_class2.cpp b/src/CLASS2/angle_class2.cpp index 2eabc20b38..09ff5860e9 100644 --- a/src/CLASS2/angle_class2.cpp +++ b/src/CLASS2/angle_class2.cpp @@ -419,7 +419,7 @@ void AngleClass2::write_data(FILE *fp) fprintf(fp,"\nBondAngle Coeffs\n\n"); for (int i = 1; i <= atom->nangletypes; i++) - fprintf(fp,"%d %g %g %g %gx\n",i,ba_k1[i],ba_k2[i],ba_r1[i],ba_r2[i]); + fprintf(fp,"%d %g %g %g %g\n",i,ba_k1[i],ba_k2[i],ba_r1[i],ba_r2[i]); } /* ---------------------------------------------------------------------- */ diff --git a/src/CLASS2/dihedral_class2.cpp b/src/CLASS2/dihedral_class2.cpp index dd273aa777..aab7f3cd86 100644 --- a/src/CLASS2/dihedral_class2.cpp +++ b/src/CLASS2/dihedral_class2.cpp @@ -37,7 +37,10 @@ using namespace MathConst; /* ---------------------------------------------------------------------- */ -DihedralClass2::DihedralClass2(LAMMPS *lmp) : Dihedral(lmp) {} +DihedralClass2::DihedralClass2(LAMMPS *lmp) : Dihedral(lmp) +{ + writedata = 1; +} /* ---------------------------------------------------------------------- */ @@ -913,3 +916,42 @@ void DihedralClass2::read_restart(FILE *fp) for (int i = 1; i <= atom->ndihedraltypes; i++) setflag[i] = 1; } + +/* ---------------------------------------------------------------------- + proc 0 writes to data file +------------------------------------------------------------------------- */ + +void DihedralClass2::write_data(FILE *fp) +{ + for (int i = 1; i <= atom->ndihedraltypes; i++) + fprintf(fp,"%d %g %g %g %g %g %g\n", + i,k1[i],phi1[i],k2[i],phi2[i],k3[i],phi3[i]); + + fprintf(fp,"\nAngleAngleTorsion Coeffs\n\n"); + for (int i = 1; i <= atom->ndihedraltypes; i++) + fprintf(fp,"%d %g %g %g\n",i,aat_k[i], + aat_theta0_1[i]*180.0/MY_PI,aat_theta0_2[i]*180.0/MY_PI); + + fprintf(fp,"\nEndBondTorsion Coeffs\n\n"); + for (int i = 1; i <= atom->ndihedraltypes; i++) + fprintf(fp,"%d %g %g %g %g %g %g %g %g\n",i, + ebt_f1_1[i],ebt_f2_1[i],ebt_f3_1[i], + ebt_f1_2[i],ebt_f2_2[i],ebt_f3_2[i], + ebt_r0_1[i],ebt_r0_2[i]); + + fprintf(fp,"\nMiddleBondTorsion Coeffs\n\n"); + for (int i = 1; i <= atom->ndihedraltypes; i++) + fprintf(fp,"%d %g %g %g %g\n",i,mbt_f1[i],mbt_f2[i],mbt_f3[i],mbt_r0[i]); + + fprintf(fp,"\nBondBond13 Coeffs\n\n"); + for (int i = 1; i <= atom->ndihedraltypes; i++) + fprintf(fp,"%d %g %g %g\n",i,bb13t_k[i],bb13t_r10[i],bb13t_r30[i]); + + fprintf(fp,"\nAngleTorsion Coeffs\n\n"); + for (int i = 1; i <= atom->ndihedraltypes; i++) + fprintf(fp,"%d %g %g %g %g %g %g %g %g\n",i, + at_f1_1[i],at_f2_1[i],at_f3_1[i], + at_f1_2[i],at_f2_2[i],at_f3_2[i], + at_theta0_1[i]*180.0/MY_PI,at_theta0_2[i]*180.0/MY_PI); +} + diff --git a/src/CLASS2/dihedral_class2.h b/src/CLASS2/dihedral_class2.h index c84ab1d5e9..c55a740300 100644 --- a/src/CLASS2/dihedral_class2.h +++ b/src/CLASS2/dihedral_class2.h @@ -1,4 +1,4 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov @@ -33,6 +33,7 @@ class DihedralClass2 : public Dihedral { void coeff(int, char **); void write_restart(FILE *); void read_restart(FILE *); + void write_data(FILE *); protected: double *k1,*k2,*k3; diff --git a/src/CLASS2/improper_class2.cpp b/src/CLASS2/improper_class2.cpp index 6b6d503d44..628a106300 100644 --- a/src/CLASS2/improper_class2.cpp +++ b/src/CLASS2/improper_class2.cpp @@ -36,7 +36,10 @@ using namespace MathConst; /* ---------------------------------------------------------------------- */ -ImproperClass2::ImproperClass2(LAMMPS *lmp) : Improper(lmp) {} +ImproperClass2::ImproperClass2(LAMMPS *lmp) : Improper(lmp) +{ + writedata = 1; +} /* ---------------------------------------------------------------------- */ @@ -835,3 +838,19 @@ double ImproperClass2::dot(double *a, double *b) { return (a[0]*b[0] + a[1]*b[1] + a[2]*b[2]); } + +/* ---------------------------------------------------------------------- + proc 0 writes to data file +------------------------------------------------------------------------- */ + +void ImproperClass2::write_data(FILE *fp) +{ + for (int i = 1; i <= atom->nimpropertypes; i++) + fprintf(fp,"%d %g %g\n",i,k0[i],chi0[i]); + + fprintf(fp,"\nAngleAngle Coeffs\n\n"); + for (int i = 1; i <= atom->nimpropertypes; i++) + fprintf(fp,"%d %g %g %g %g %g %g\n",i,aa_k1[i],aa_k2[i],aa_k3[i], + aa_theta0_1[i]*180.0/MY_PI,aa_theta0_2[i]*180.0/MY_PI, + aa_theta0_3[i]*180.0/MY_PI); +} diff --git a/src/CLASS2/improper_class2.h b/src/CLASS2/improper_class2.h index b6e40aad3e..33ddd8cde0 100644 --- a/src/CLASS2/improper_class2.h +++ b/src/CLASS2/improper_class2.h @@ -1,4 +1,4 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov @@ -33,6 +33,7 @@ class ImproperClass2 : public Improper { void coeff(int, char **); void write_restart(FILE *); void read_restart(FILE *); + void write_data(FILE *); protected: double *k0,*chi0; diff --git a/src/CLASS2/pair_lj_class2.cpp b/src/CLASS2/pair_lj_class2.cpp index da7dbb7941..90f5881ffd 100644 --- a/src/CLASS2/pair_lj_class2.cpp +++ b/src/CLASS2/pair_lj_class2.cpp @@ -28,7 +28,10 @@ using namespace MathConst; /* ---------------------------------------------------------------------- */ -PairLJClass2::PairLJClass2(LAMMPS *lmp) : Pair(lmp) {} +PairLJClass2::PairLJClass2(LAMMPS *lmp) : Pair(lmp) +{ + writedata = 1; +} /* ---------------------------------------------------------------------- */ @@ -348,6 +351,28 @@ void PairLJClass2::read_restart_settings(FILE *fp) MPI_Bcast(&tail_flag,1,MPI_INT,0,world); } + +/* ---------------------------------------------------------------------- + proc 0 writes to data file +------------------------------------------------------------------------- */ + +void PairLJClass2::write_data(FILE *fp) +{ + for (int i = 1; i <= atom->ntypes; i++) + fprintf(fp,"%d %g %g\n",i,epsilon[i][i],sigma[i][i]); +} + +/* ---------------------------------------------------------------------- + proc 0 writes all pairs to data file +------------------------------------------------------------------------- */ + +void PairLJClass2::write_data_all(FILE *fp) +{ + for (int i = 1; i <= atom->ntypes; i++) + for (int j = i; j <= atom->ntypes; j++) + fprintf(fp,"%d %d %g %g %g\n",i,j,epsilon[i][j],sigma[i][j],cut[i][j]); +} + /* ---------------------------------------------------------------------- */ double PairLJClass2::single(int i, int j, int itype, int jtype, double rsq, diff --git a/src/CLASS2/pair_lj_class2.h b/src/CLASS2/pair_lj_class2.h index 674599d523..b6b604cbca 100644 --- a/src/CLASS2/pair_lj_class2.h +++ b/src/CLASS2/pair_lj_class2.h @@ -1,4 +1,4 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov @@ -36,6 +36,8 @@ class PairLJClass2 : public Pair { void read_restart(FILE *); void write_restart_settings(FILE *); void read_restart_settings(FILE *); + void write_data(FILE *); + void write_data_all(FILE *); double single(int, int, int, int, double, double, double, double &); protected: diff --git a/src/CLASS2/pair_lj_class2_coul_cut.cpp b/src/CLASS2/pair_lj_class2_coul_cut.cpp index 76b7188758..b4ede4e976 100644 --- a/src/CLASS2/pair_lj_class2_coul_cut.cpp +++ b/src/CLASS2/pair_lj_class2_coul_cut.cpp @@ -29,7 +29,10 @@ using namespace MathConst; /* ---------------------------------------------------------------------- */ -PairLJClass2CoulCut::PairLJClass2CoulCut(LAMMPS *lmp) : Pair(lmp) {} +PairLJClass2CoulCut::PairLJClass2CoulCut(LAMMPS *lmp) : Pair(lmp) +{ + writedata = 1; +} /* ---------------------------------------------------------------------- */ @@ -406,6 +409,27 @@ void PairLJClass2CoulCut::read_restart_settings(FILE *fp) MPI_Bcast(&tail_flag,1,MPI_INT,0,world); } +/* ---------------------------------------------------------------------- + proc 0 writes to data file +------------------------------------------------------------------------- */ + +void PairLJClass2CoulCut::write_data(FILE *fp) +{ + for (int i = 1; i <= atom->ntypes; i++) + fprintf(fp,"%d %g %g\n",i,epsilon[i][i],sigma[i][i]); +} + +/* ---------------------------------------------------------------------- + proc 0 writes all pairs to data file +------------------------------------------------------------------------- */ + +void PairLJClass2CoulCut::write_data_all(FILE *fp) +{ + for (int i = 1; i <= atom->ntypes; i++) + for (int j = i; j <= atom->ntypes; j++) + fprintf(fp,"%d %d %g %g %g\n",i,j,epsilon[i][j],sigma[i][j],cut_lj[i][j]); +} + /* ---------------------------------------------------------------------- */ double PairLJClass2CoulCut::single(int i, int j, int itype, int jtype, diff --git a/src/CLASS2/pair_lj_class2_coul_cut.h b/src/CLASS2/pair_lj_class2_coul_cut.h index 4f754406dc..cea218f759 100644 --- a/src/CLASS2/pair_lj_class2_coul_cut.h +++ b/src/CLASS2/pair_lj_class2_coul_cut.h @@ -1,4 +1,4 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov @@ -37,6 +37,8 @@ class PairLJClass2CoulCut : public Pair { void read_restart(FILE *); void write_restart_settings(FILE *); void read_restart_settings(FILE *); + void write_data(FILE *); + void write_data_all(FILE *); double single(int, int, int, int, double, double, double, double &); protected: diff --git a/src/CLASS2/pair_lj_class2_coul_long.cpp b/src/CLASS2/pair_lj_class2_coul_long.cpp index 914a7d2c74..60c3ca7e04 100644 --- a/src/CLASS2/pair_lj_class2_coul_long.cpp +++ b/src/CLASS2/pair_lj_class2_coul_long.cpp @@ -42,6 +42,7 @@ using namespace MathConst; PairLJClass2CoulLong::PairLJClass2CoulLong(LAMMPS *lmp) : Pair(lmp) { ewaldflag = pppmflag = 1; + writedata = 1; ftable = NULL; } @@ -453,6 +454,27 @@ void PairLJClass2CoulLong::read_restart_settings(FILE *fp) MPI_Bcast(&tabinner,1,MPI_DOUBLE,0,world); } +/* ---------------------------------------------------------------------- + proc 0 writes to data file +------------------------------------------------------------------------- */ + +void PairLJClass2CoulLong::write_data(FILE *fp) +{ + for (int i = 1; i <= atom->ntypes; i++) + fprintf(fp,"%d %g %g\n",i,epsilon[i][i],sigma[i][i]); +} + +/* ---------------------------------------------------------------------- + proc 0 writes all pairs to data file +------------------------------------------------------------------------- */ + +void PairLJClass2CoulLong::write_data_all(FILE *fp) +{ + for (int i = 1; i <= atom->ntypes; i++) + for (int j = i; j <= atom->ntypes; j++) + fprintf(fp,"%d %d %g %g %g\n",i,j,epsilon[i][j],sigma[i][j],cut_lj[i][j]); +} + /* ---------------------------------------------------------------------- */ double PairLJClass2CoulLong::single(int i, int j, int itype, int jtype, diff --git a/src/CLASS2/pair_lj_class2_coul_long.h b/src/CLASS2/pair_lj_class2_coul_long.h index 6aecdb698a..829c4f23e0 100644 --- a/src/CLASS2/pair_lj_class2_coul_long.h +++ b/src/CLASS2/pair_lj_class2_coul_long.h @@ -1,4 +1,4 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov @@ -37,6 +37,8 @@ class PairLJClass2CoulLong : public Pair { void read_restart(FILE *); void write_restart_settings(FILE *); void read_restart_settings(FILE *); + void write_data(FILE *); + void write_data_all(FILE *); double single(int, int, int, int, double, double, double, double &); void *extract(const char *, int &); diff --git a/src/KSPACE/pair_lj_cut_coul_long.cpp b/src/KSPACE/pair_lj_cut_coul_long.cpp index 198f3da7ec..bb89f14c41 100644 --- a/src/KSPACE/pair_lj_cut_coul_long.cpp +++ b/src/KSPACE/pair_lj_cut_coul_long.cpp @@ -51,6 +51,7 @@ PairLJCutCoulLong::PairLJCutCoulLong(LAMMPS *lmp) : Pair(lmp) { ewaldflag = pppmflag = 1; respa_enable = 1; + writedata = 1; ftable = NULL; qdist = 0.0; } @@ -880,6 +881,28 @@ void PairLJCutCoulLong::read_restart_settings(FILE *fp) MPI_Bcast(&tabinner,1,MPI_DOUBLE,0,world); } + +/* ---------------------------------------------------------------------- + proc 0 writes to data file +------------------------------------------------------------------------- */ + +void PairLJCutCoulLong::write_data(FILE *fp) +{ + for (int i = 1; i <= atom->ntypes; i++) + fprintf(fp,"%d %g %g\n",i,epsilon[i][i],sigma[i][i]); +} + +/* ---------------------------------------------------------------------- + proc 0 writes all pairs to data file +------------------------------------------------------------------------- */ + +void PairLJCutCoulLong::write_data_all(FILE *fp) +{ + for (int i = 1; i <= atom->ntypes; i++) + for (int j = i; j <= atom->ntypes; j++) + fprintf(fp,"%d %d %g %g %g\n",i,j,epsilon[i][j],sigma[i][j],cut_lj[i][j]); +} + /* ---------------------------------------------------------------------- */ double PairLJCutCoulLong::single(int i, int j, int itype, int jtype, diff --git a/src/KSPACE/pair_lj_cut_coul_long.h b/src/KSPACE/pair_lj_cut_coul_long.h index d233f54f9b..8a9657be78 100644 --- a/src/KSPACE/pair_lj_cut_coul_long.h +++ b/src/KSPACE/pair_lj_cut_coul_long.h @@ -1,4 +1,4 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov @@ -39,6 +39,8 @@ class PairLJCutCoulLong : public Pair { void read_restart(FILE *); virtual void write_restart_settings(FILE *); virtual void read_restart_settings(FILE *); + void write_data(FILE *); + void write_data_all(FILE *); virtual double single(int, int, int, int, double, double, double, double &); void compute_inner(); diff --git a/src/MOLECULE/improper_cvff.cpp b/src/MOLECULE/improper_cvff.cpp index f031ddfdb8..06485e9189 100644 --- a/src/MOLECULE/improper_cvff.cpp +++ b/src/MOLECULE/improper_cvff.cpp @@ -32,7 +32,10 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -ImproperCvff::ImproperCvff(LAMMPS *lmp) : Improper(lmp) {} +ImproperCvff::ImproperCvff(LAMMPS *lmp) : Improper(lmp) +{ + writedata = 1; +} /* ---------------------------------------------------------------------- */ @@ -343,3 +346,13 @@ void ImproperCvff::read_restart(FILE *fp) for (int i = 1; i <= atom->nimpropertypes; i++) setflag[i] = 1; } + +/* ---------------------------------------------------------------------- + proc 0 writes to data file +------------------------------------------------------------------------- */ + +void ImproperCvff::write_data(FILE *fp) +{ + for (int i = 1; i <= atom->nimpropertypes; i++) + fprintf(fp,"%d %g %d %d\n",i,k[i],sign[i],multiplicity[i]); +} diff --git a/src/MOLECULE/improper_cvff.h b/src/MOLECULE/improper_cvff.h index f6d6c36d1c..7717fe7b64 100644 --- a/src/MOLECULE/improper_cvff.h +++ b/src/MOLECULE/improper_cvff.h @@ -1,4 +1,4 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov @@ -33,6 +33,7 @@ class ImproperCvff : public Improper { void coeff(int, char **); void write_restart(FILE *); void read_restart(FILE *); + void write_data(FILE *); protected: double *k; diff --git a/src/pair_lj_cut_coul_cut.cpp b/src/pair_lj_cut_coul_cut.cpp index 98eaecf63e..a9a33af2d6 100644 --- a/src/pair_lj_cut_coul_cut.cpp +++ b/src/pair_lj_cut_coul_cut.cpp @@ -30,7 +30,10 @@ using namespace MathConst; /* ---------------------------------------------------------------------- */ -PairLJCutCoulCut::PairLJCutCoulCut(LAMMPS *lmp) : Pair(lmp) {} +PairLJCutCoulCut::PairLJCutCoulCut(LAMMPS *lmp) : Pair(lmp) +{ + writedata = 1; +} /* ---------------------------------------------------------------------- */ @@ -401,6 +404,27 @@ void PairLJCutCoulCut::read_restart_settings(FILE *fp) MPI_Bcast(&tail_flag,1,MPI_INT,0,world); } +/* ---------------------------------------------------------------------- + proc 0 writes to data file +------------------------------------------------------------------------- */ + +void PairLJCutCoulCut::write_data(FILE *fp) +{ + for (int i = 1; i <= atom->ntypes; i++) + fprintf(fp,"%d %g %g\n",i,epsilon[i][i],sigma[i][i]); +} + +/* ---------------------------------------------------------------------- + proc 0 writes all pairs to data file +------------------------------------------------------------------------- */ + +void PairLJCutCoulCut::write_data_all(FILE *fp) +{ + for (int i = 1; i <= atom->ntypes; i++) + for (int j = i; j <= atom->ntypes; j++) + fprintf(fp,"%d %d %g %g %g\n",i,j,epsilon[i][j],sigma[i][j],cut_lj[i][j]); +} + /* ---------------------------------------------------------------------- */ double PairLJCutCoulCut::single(int i, int j, int itype, int jtype, diff --git a/src/pair_lj_cut_coul_cut.h b/src/pair_lj_cut_coul_cut.h index 734021b888..eb37b954e8 100644 --- a/src/pair_lj_cut_coul_cut.h +++ b/src/pair_lj_cut_coul_cut.h @@ -1,4 +1,4 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov @@ -37,6 +37,8 @@ class PairLJCutCoulCut : public Pair { void read_restart(FILE *); virtual void write_restart_settings(FILE *); virtual void read_restart_settings(FILE *); + void write_data(FILE *); + void write_data_all(FILE *); virtual double single(int, int, int, int, double, double, double, double &); void *extract(const char *, int &);