Commit 97d9c3dc authored by athomps's avatar athomps
Browse files

Added output for itemized ReaxFF energies

git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@2878 f3b2605a-c512-4ea7-a41b-209d697bcdaa
parent 2c51e3ab
Loading
Loading
Loading
Loading
+59 −0
Original line number Diff line number Diff line
@@ -1030,3 +1030,62 @@ double PairREAX::memory_usage()
  bytes += matmax * sizeof(double);
  return bytes;
}

/* ----------------------------------------------------------------------
   print out the itemized energies to the log file
   this is not currently called, but should
   be made available to the user in some way
------------------------------------------------------------------------- */

void PairREAX::output_itemized_energy(double energy_charge_equilibration)
{
  double etmp[14],etmp2[14];
  
  etmp[0] = FORTRAN(cbkenergies, CBKENERGIES).eb;
  etmp[1] = FORTRAN(cbkenergies, CBKENERGIES).ea;
  etmp[2] = FORTRAN(cbkenergies, CBKENERGIES).elp;
  etmp[3] = FORTRAN(cbkenergies, CBKENERGIES).emol;
  etmp[4] = FORTRAN(cbkenergies, CBKENERGIES).ev;
  etmp[5] = FORTRAN(cbkenergies, CBKENERGIES).epen;
  etmp[6] = FORTRAN(cbkenergies, CBKENERGIES).ecoa;
  etmp[7] = FORTRAN(cbkenergies, CBKENERGIES).ehb;
  etmp[8] = FORTRAN(cbkenergies, CBKENERGIES).et;
  etmp[9] = FORTRAN(cbkenergies, CBKENERGIES).eco;
  etmp[10] = FORTRAN(cbkenergies, CBKENERGIES).ew;
  etmp[11] = FORTRAN(cbkenergies, CBKENERGIES).ep;
  etmp[12] = FORTRAN(cbkenergies, CBKENERGIES).efi;
  etmp[13] = energy_charge_equilibration;
  
  MPI_Allreduce(etmp,etmp2,14,MPI_DOUBLE,MPI_SUM,world);
  
  if (comm->me == 0) {
    fprintf(screen,"eb = %g \n",etmp2[0]);
    fprintf(screen,"ea = %g \n",etmp2[1]);
    fprintf(screen,"elp = %g \n",etmp2[2]);
    fprintf(screen,"emol = %g \n",etmp2[3]);
    fprintf(screen,"ecoa = %g \n",etmp2[4]);
    fprintf(screen,"epen = %g \n",etmp2[5]);
    fprintf(screen,"ecoa = %g \n",etmp2[6]);
    fprintf(screen,"ehb = %g \n",etmp2[7]);
    fprintf(screen,"et = %g \n",etmp2[8]);
    fprintf(screen,"eco = %g \n",etmp2[9]);
    fprintf(screen,"ew = %g \n",etmp2[10]);
    fprintf(screen,"ep = %g \n",etmp2[11]);
    fprintf(screen,"efi = %g \n",etmp2[12]);
    fprintf(screen,"eqeq = %g \n",etmp2[13]);
    fprintf(logfile,"eb = %g \n",etmp2[0]);
    fprintf(logfile,"ea = %g \n",etmp2[1]);
    fprintf(logfile,"elp = %g \n",etmp2[2]);
    fprintf(logfile,"emol = %g \n",etmp2[3]);
    fprintf(logfile,"ecoa = %g \n",etmp2[4]);
    fprintf(logfile,"epen = %g \n",etmp2[5]);
    fprintf(logfile,"ecoa = %g \n",etmp2[6]);
    fprintf(logfile,"ehb = %g \n",etmp2[7]);
    fprintf(logfile,"et = %g \n",etmp2[8]);
    fprintf(logfile,"eco = %g \n",etmp2[9]);
    fprintf(logfile,"ew = %g \n",etmp2[10]);
    fprintf(logfile,"ep = %g \n",etmp2[11]);
    fprintf(logfile,"efi = %g \n",etmp2[12]);
    fprintf(logfile,"eqeq = %g \n",etmp2[13]);
  }
}
+1 −0
Original line number Diff line number Diff line
@@ -82,6 +82,7 @@ class PairREAX : public Pair {
		       int[], double[], double[]);
  void charge_reax(const int &, const int &, double[],
		   double[], int[], int[], double[]);
  void output_itemized_energy(double);
};

}