forked from lijiext/lammps
Added enthalpy to list of thermo attributes
git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@203 f3b2605a-c512-4ea7-a41b-209d697bcdaa
This commit is contained in:
parent
d99ec65f8c
commit
c53730f2e9
|
@ -18,7 +18,7 @@ args = list of arguments for a particular style :l
|
||||||
{multi} args = none
|
{multi} args = none
|
||||||
{granular} args = none
|
{granular} args = none
|
||||||
{custom} args = list of attributes
|
{custom} args = list of attributes
|
||||||
possible attributes = step, atoms, cpu, temp, press, pe, ke, etotal,
|
possible attributes = step, atoms, cpu, temp, press, pe, ke, etotal, enthalpy
|
||||||
evdwl, ecoul, epair, ebond, eangle, edihed, eimp, emol, elong, etail,
|
evdwl, ecoul, epair, ebond, eangle, edihed, eimp, emol, elong, etail,
|
||||||
vol, lx, ly, lz, pxx, pyy, pzz, pxy, pxz, pyz
|
vol, lx, ly, lz, pxx, pyy, pzz, pxy, pxz, pyz
|
||||||
gke, grot, tave, pave, eave, peave, t_ID
|
gke, grot, tave, pave, eave, peave, t_ID
|
||||||
|
@ -29,6 +29,7 @@ args = list of arguments for a particular style :l
|
||||||
press = pressure
|
press = pressure
|
||||||
pe = total potential energy
|
pe = total potential energy
|
||||||
ke = kinetic energy
|
ke = kinetic energy
|
||||||
|
enthalpy = enthalpy, pe + press*vol
|
||||||
etotal = total energy (pe + ke)
|
etotal = total energy (pe + ke)
|
||||||
evdwl = VanderWaal pairwise energy
|
evdwl = VanderWaal pairwise energy
|
||||||
ecoul = Coulombic pairwise energy
|
ecoul = Coulombic pairwise energy
|
||||||
|
|
|
@ -45,6 +45,7 @@
|
||||||
// gke, grot (granular trans-ke and rotational-ke)
|
// gke, grot (granular trans-ke and rotational-ke)
|
||||||
// tave, pave, eave, peave (time-averaged quantities)
|
// tave, pave, eave, peave (time-averaged quantities)
|
||||||
// t_ID (user-defined temperatures)
|
// t_ID (user-defined temperatures)
|
||||||
|
// enthalpy
|
||||||
|
|
||||||
// customize by adding a DEFINE to this list
|
// customize by adding a DEFINE to this list
|
||||||
|
|
||||||
|
@ -664,6 +665,8 @@ void Thermo::parse_fields(char *str)
|
||||||
addfield("E_ave",&Thermo::compute_eave,FLOAT);
|
addfield("E_ave",&Thermo::compute_eave,FLOAT);
|
||||||
} else if (strcmp(word,"peave") == 0) {
|
} else if (strcmp(word,"peave") == 0) {
|
||||||
addfield("PE_ave",&Thermo::compute_peave,FLOAT);
|
addfield("PE_ave",&Thermo::compute_peave,FLOAT);
|
||||||
|
} else if (strcmp(word,"enthalpy") == 0) {
|
||||||
|
addfield("Enthalpy",&Thermo::compute_enthalpy,FLOAT);
|
||||||
|
|
||||||
// user-defined temperature (t_ID)
|
// user-defined temperature (t_ID)
|
||||||
// only 1st 8 chars of ID are passed to addfield
|
// only 1st 8 chars of ID are passed to addfield
|
||||||
|
@ -754,6 +757,7 @@ int Thermo::compute_value(char *word, double *answer)
|
||||||
else if (strcmp(word,"erot") == 0) compute_erot();
|
else if (strcmp(word,"erot") == 0) compute_erot();
|
||||||
else if (strcmp(word,"gke") == 0) compute_gke();
|
else if (strcmp(word,"gke") == 0) compute_gke();
|
||||||
else if (strcmp(word,"grot") == 0) compute_grot();
|
else if (strcmp(word,"grot") == 0) compute_grot();
|
||||||
|
else if (strcmp(word,"enthalpy") == 0) compute_enthalpy();
|
||||||
else if (strncmp(word,"t_",2) == 0) {
|
else if (strncmp(word,"t_",2) == 0) {
|
||||||
int tempwhich;
|
int tempwhich;
|
||||||
for (tempwhich = 0; tempwhich < force->ntemp; tempwhich++)
|
for (tempwhich = 0; tempwhich < force->ntemp; tempwhich++)
|
||||||
|
@ -1253,3 +1257,19 @@ void Thermo::compute_fix()
|
||||||
dvalue = fixvalues[fixprint[ifix_print++]];
|
dvalue = fixvalues[fixprint[ifix_print++]];
|
||||||
if (normflag) dvalue /= natoms;
|
if (normflag) dvalue /= natoms;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* ---------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
void Thermo::compute_enthalpy()
|
||||||
|
{
|
||||||
|
double etmp,vtmp,ptmp;
|
||||||
|
compute_etotal();
|
||||||
|
etmp = dvalue;
|
||||||
|
compute_vol();
|
||||||
|
vtmp = dvalue;
|
||||||
|
if (normflag) vtmp /= natoms;
|
||||||
|
compute_press();
|
||||||
|
ptmp = dvalue;
|
||||||
|
dvalue = etmp+ptmp*vtmp/(force->nktv2p);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
@ -128,6 +128,7 @@ class Thermo : public LAMMPS {
|
||||||
void compute_eave();
|
void compute_eave();
|
||||||
void compute_peave();
|
void compute_peave();
|
||||||
void compute_t_id();
|
void compute_t_id();
|
||||||
|
void compute_enthalpy();
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue