git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@9765 f3b2605a-c512-4ea7-a41b-209d697bcdaa

This commit is contained in:
sjplimp 2013-04-08 23:38:11 +00:00
parent b6df7c873b
commit 601ca515e6
13 changed files with 70 additions and 6 deletions

View File

@ -39,8 +39,8 @@ BodyNparticle::BodyNparticle(LAMMPS *lmp, int narg, char **arg) :
// NOTE: need to set appropriate nnbin param for dcp
icp = new MyPool<int>(1,1);
dcp = new MyPool<double>(3*nmin,3*nmax);
icp = new MyPoolChunk<int>(1,1);
dcp = new MyPoolChunk<double>(3*nmin,3*nmax);
}
/* ---------------------------------------------------------------------- */

View File

@ -403,6 +403,25 @@ void AngleClass2::read_restart(FILE *fp)
for (int i = 1; i <= atom->nangletypes; i++) setflag[i] = 1;
}
/* ----------------------------------------------------------------------
proc 0 writes to data file
------------------------------------------------------------------------- */
void AngleClass2::write_data(FILE *fp)
{
for (int i = 1; i <= atom->nangletypes; i++)
fprintf(fp,"%d %g %g %g %g\n",
i,theta0[i]/MY_PI*180.0,k2[i],k3[i],k4[i]);
fprintf(fp,"\nBondBond Coeffs\n\n");
for (int i = 1; i <= atom->nangletypes; i++)
fprintf(fp,"%d %g %g %g\n",i,bb_k[i],bb_r1[i],bb_r2[i]);
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]);
}
/* ---------------------------------------------------------------------- */
double AngleClass2::single(int type, int i1, int i2, int i3)

View File

@ -34,6 +34,7 @@ class AngleClass2 : public Angle {
double equilibrium_angle(int);
void write_restart(FILE *);
void read_restart(FILE *);
void write_data(FILE *);
double single(int, int, int, int);
protected:

View File

@ -259,6 +259,17 @@ void AngleCharmm::read_restart(FILE *fp)
for (int i = 1; i <= atom->nangletypes; i++) setflag[i] = 1;
}
/* ----------------------------------------------------------------------
proc 0 writes to data file
------------------------------------------------------------------------- */
void AngleCharmm::write_data(FILE *fp)
{
for (int i = 1; i <= atom->nangletypes; i++)
fprintf(fp,"%d %g %g %g %g\n",
i,k[i],theta0[i]/MY_PI*180.0,k_ub[i],r_ub[i]);
}
/* ---------------------------------------------------------------------- */
double AngleCharmm::single(int type, int i1, int i2, int i3)

View File

@ -34,6 +34,7 @@ class AngleCharmm : public Angle {
double equilibrium_angle(int);
void write_restart(FILE *);
void read_restart(FILE *);
void write_data(FILE *);
double single(int, int, int, int);
protected:

View File

@ -200,6 +200,16 @@ void AngleCosine::read_restart(FILE *fp)
for (int i = 1; i <= atom->nangletypes; i++) setflag[i] = 1;
}
/* ----------------------------------------------------------------------
proc 0 writes to data file
------------------------------------------------------------------------- */
void AngleCosine::write_data(FILE *fp)
{
for (int i = 1; i <= atom->nangletypes; i++)
fprintf(fp,"%d %g\n",i,k[i]);
}
/* ---------------------------------------------------------------------- */
double AngleCosine::single(int type, int i1, int i2, int i3)

View File

@ -34,6 +34,7 @@ class AngleCosine : public Angle {
double equilibrium_angle(int);
void write_restart(FILE *);
void read_restart(FILE *);
void write_data(FILE *);
double single(int, int, int, int);
protected:

View File

@ -262,6 +262,17 @@ void AngleCosinePeriodic::read_restart(FILE *fp)
for (int i = 1; i <= atom->nangletypes; i++) setflag[i] = 1;
}
/* ----------------------------------------------------------------------
proc 0 writes to data file
------------------------------------------------------------------------- */
void AngleCosinePeriodic::write_data(FILE *fp)
{
for (int i = 1; i <= atom->nangletypes; i++)
fprintf(fp,"%d %g %d %d\n",i,k[i],b[i],multiplicity[i]);
}
/* ---------------------------------------------------------------------- */
double AngleCosinePeriodic::single(int type, int i1, int i2, int i3)

View File

@ -34,6 +34,7 @@ class AngleCosinePeriodic : public Angle {
double equilibrium_angle(int);
void write_restart(FILE *);
void read_restart(FILE *);
void write_data(FILE *);
double single(int, int, int, int);
protected:

View File

@ -221,6 +221,16 @@ void AngleCosineSquared::read_restart(FILE *fp)
for (int i = 1; i <= atom->nangletypes; i++) setflag[i] = 1;
}
/* ----------------------------------------------------------------------
proc 0 writes to data file
------------------------------------------------------------------------- */
void AngleCosineSquared::write_data(FILE *fp)
{
for (int i = 1; i <= atom->nangletypes; i++)
fprintf(fp,"%d %g %g\n",i,k[i],theta0[i]/MY_PI*180.0);
}
/* ---------------------------------------------------------------------- */
double AngleCosineSquared::single(int type, int i1, int i2, int i3)

View File

@ -34,6 +34,7 @@ class AngleCosineSquared : public Angle {
double equilibrium_angle(int);
void write_restart(FILE *);
void read_restart(FILE *);
void write_data(FILE *);
virtual double single(int, int, int, int);
protected:

View File

@ -30,10 +30,7 @@ using namespace MathConst;
/* ---------------------------------------------------------------------- */
AngleHarmonic::AngleHarmonic(LAMMPS *lmp) : Angle(lmp)
{
writedata = 1;
}
AngleHarmonic::AngleHarmonic(LAMMPS *lmp) : Angle(lmp) {}
/* ---------------------------------------------------------------------- */

View File

@ -41,6 +41,7 @@ enum{LINEAR,SPLINE};
AngleTable::AngleTable(LAMMPS *lmp) : Angle(lmp)
{
writedata = 0;
ntables = 0;
tables = NULL;
}