Removed .html files. Removed compute.h mods. Cast pressure for functions
This commit is contained in:
@ -16,9 +16,6 @@ Dunn, NJH; Lebold, KM; DeLyser, MR; Rudzinski, JF; Noid, WG.
|
||||
"BOCS: Bottom-Up Open-Source Coarse-Graining Software."
|
||||
J. Phys. Chem. B. 122, 13, 3363-3377 (2018).
|
||||
|
||||
The MOD_COMPUTE_H file is identical to the original compute.h except for
|
||||
the two lines (three with comments) needed for USER-BOCS to work.
|
||||
|
||||
Along with the source code files, the following files have been included
|
||||
(in the /bocs/ directory):
|
||||
methanol.lmp
|
||||
|
||||
@ -42,12 +42,8 @@ variable UVDW equal evdwl*4.184
|
||||
# ID group-ID style_name thermostat T_init T_end T_couple barostat P_start P_end P_couple pmatch_basis avg_vol N_sites N_coeffs coeff1 coeff2
|
||||
fix 1 all bocs temp 300.0 300.0 100.0 cgiso 0.986 0.986 1000.0 analytic 66476.015 968 2 245030.10 8962.20
|
||||
|
||||
# Compute the modified pressure
|
||||
compute bocsPress all pressureBocs thermo_temp
|
||||
# Report the modified pressure
|
||||
thermo_modify press bocsPress
|
||||
# Use the modified pressure for fix bocs instead of thermo_press
|
||||
fix_modify 1 press bocsPress
|
||||
thermo_modify press 1_press
|
||||
|
||||
|
||||
|
||||
|
||||
@ -27,9 +27,7 @@ fix 1 all bocs temp 300.0 300.0 100.0 cgiso 0.986 0.986 1000.0 analytic 66476.01
|
||||
|
||||
fix 1 all bocs temp 300.0 300.0 100.0 cgiso 0.986 0.986 1000.0 cubic_spline input_Fv.dat :pre
|
||||
|
||||
compute bocsPress all pressureBocs thermo_temp
|
||||
thermo_modify press bocsPress
|
||||
fix_modify 1 press bocsPress :pre
|
||||
thermo_modify press 1_press :pre
|
||||
|
||||
|
||||
[Description:]
|
||||
@ -78,23 +76,13 @@ As this is computing a (modified) pressure, group-ID should be {all}.
|
||||
The pressure correction has only been tested for use with an isotropic
|
||||
pressure coupling in 3 dimensions.
|
||||
|
||||
There are three additional commands that must be supplied along with fix
|
||||
bocs. They are given in the examples section. The name {bocsPress} can be
|
||||
changed for any name of your choosing, provided it remains consistent across
|
||||
all three commands. Additionally, the ID {1} in the {fix_modify} command must
|
||||
match up with the {ID} specified in the original {fix bocs} command. Everything else
|
||||
in those three commands must be unchanged. The first two commands can be
|
||||
specified before the {fix bocs} command, but the {fix_modify} command must be
|
||||
given after the original {fix bocs} command.
|
||||
|
||||
The {compute} command tells LAMMPS to compute the pressure using the modified
|
||||
barostat.
|
||||
|
||||
The {thermo_modify} command tells LAMMPS to report the pressure from the modified
|
||||
barostat instead of the default pressure, i.e. thermo_press.
|
||||
|
||||
The {fix_modify} command tells LAMMPS to use the pressure from the modified
|
||||
barostat for the fix, instead of using the default presure, i.e. thermo_press.
|
||||
By default, LAMMPS will still report the normal value for the pressure
|
||||
if the pressure is printed via a {thermo} command, or if the pressures
|
||||
are written to a file every so often. In order to have LAMMPS report the
|
||||
modified pressure, you must include the {thermo_modify} command given in
|
||||
the examples. For the last argument in the command, you should put
|
||||
XXXX_press, where XXXX is the ID given to the fix bocs command (in the
|
||||
example, the ID of the fix bocs command is 1 ).
|
||||
|
||||
[Related:]
|
||||
|
||||
|
||||
@ -36,6 +36,8 @@
|
||||
#include "error.h"
|
||||
#include "citeme.h"
|
||||
|
||||
#include "compute_pressure_bocs.h"
|
||||
|
||||
using namespace LAMMPS_NS;
|
||||
using namespace FixConst;
|
||||
|
||||
@ -225,9 +227,6 @@ FixBocs::FixBocs(LAMMPS *lmp, int narg, char **arg) :
|
||||
"Supply a file name after cubic_spline.");
|
||||
p_basis_type = 2;
|
||||
spline_length = read_F_table( arg[iarg+1], p_basis_type );
|
||||
// build_cubic_splines(); MRD I moved this into read_F_table
|
||||
// and that's why I pass p_basis_type in there too. I was having
|
||||
// a fight getting "double ** data" stuff to work
|
||||
iarg += 2;
|
||||
} else
|
||||
{
|
||||
@ -708,7 +707,6 @@ FixBocs::FixBocs(LAMMPS *lmp, int narg, char **arg) :
|
||||
delete [] newarg;
|
||||
pcomputeflag = 1;
|
||||
|
||||
|
||||
/*~ MRD End of stuff copied from fix_npt.cpp~*/
|
||||
|
||||
}
|
||||
@ -787,26 +785,6 @@ void FixBocs::init()
|
||||
error->all(FLERR,"Cannot use fix npt and fix deform on "
|
||||
"same component of stress tensor");
|
||||
}
|
||||
if (p_match_flag) // MRD NJD
|
||||
{
|
||||
if (pressure)
|
||||
{
|
||||
if (p_basis_type == 0)
|
||||
{
|
||||
pressure->send_cg_info(p_basis_type, N_p_match, p_match_coeffs,
|
||||
N_mol, vavg);
|
||||
}
|
||||
else if ( p_basis_type == 1 || p_basis_type == 2 )
|
||||
{
|
||||
pressure->send_cg_info(p_basis_type, splines, spline_length);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
error->all(FLERR,"Unable to find pressure. Are you sure you included"
|
||||
" the compute bocsPress and fix_modify commands?");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// set temperature and pressure ptrs
|
||||
@ -825,6 +803,33 @@ void FixBocs::init()
|
||||
pressure = modify->compute[icompute];
|
||||
}
|
||||
|
||||
|
||||
if (pstat_flag)
|
||||
{
|
||||
if (p_match_flag) // MRD NJD
|
||||
{
|
||||
if (pressure)
|
||||
{
|
||||
if (p_basis_type == 0)
|
||||
{
|
||||
((ComputePressureBocs *)pressure)->send_cg_info(p_basis_type,
|
||||
N_p_match, p_match_coeffs, N_mol, vavg);
|
||||
}
|
||||
else if ( p_basis_type == 1 || p_basis_type == 2 )
|
||||
{
|
||||
((ComputePressureBocs *)pressure)->send_cg_info(p_basis_type,
|
||||
splines, spline_length);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
error->all(FLERR,"Unable to find pressure. Are you sure you included"
|
||||
" the compute bocsPress and fix_modify commands?");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// set timesteps and frequencies
|
||||
|
||||
dtv = update->dt;
|
||||
@ -1755,12 +1760,13 @@ int FixBocs::modify_param(int narg, char **arg)
|
||||
{
|
||||
if ( p_basis_type == 0 )
|
||||
{
|
||||
pressure->send_cg_info(p_basis_type, N_p_match, p_match_coeffs,
|
||||
N_mol, vavg);
|
||||
((ComputePressureBocs *)pressure)->send_cg_info(p_basis_type, N_p_match,
|
||||
p_match_coeffs, N_mol, vavg);
|
||||
}
|
||||
else if ( p_basis_type == 1 || p_basis_type == 2 )
|
||||
{
|
||||
pressure->send_cg_info(p_basis_type, splines, spline_length );
|
||||
((ComputePressureBocs *)pressure)->send_cg_info(p_basis_type, splines,
|
||||
spline_length );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user