Thanks. By <scale>, do you mean post_update_options.scale not the post_update_options.pressure.simple.scale?
Should the post_update_options.pressure.simple.scale should always be some small number like 0.0003 in the SPC/E ibi_pressure example? While the post_update_options.scale should be 1 for a single interaction, or the sum of these should sum to 1 for multiple interactions? Thanks again. Josh On Thursday, February 16, 2017 at 4:05:26 PM UTC-5, Christoph Junghans wrote: > 2017-02-16 13:51 GMT-07:00 Joshua Moore <[email protected] <javascript:>>: > > Good discussion. I understand the pressure correction a little better > now. > > > > I was doing > > > > A-A > > > > <do>1 0 0</do> > > > > B-B > > > > <do>0 1 0</do> > > > > A-B > > > > <do>0 0 1</do> > > > > And applying the total pressure to each interaction. So that would work > > with 3 interactions? If you had 4, could you do > > > > <do>0 0 0 1</do> ?? > Yes! > > > > > Or you are saying, you could update them all in the same step, but just > > apply a scaling factor so that the total of all scale factors is 1? > The other option is to do <do>1</do> for all interaction, meaning do > pressure correction every step. > And adjust the scaling factor (i.e. <scale>XXX</scale>) to something > smaller. > > Christoph > > > > Thanks. > > > > Josh > > > > On Thursday, February 16, 2017 at 3:43:43 PM UTC-5, Christoph Junghans > > wrote: > >> > >> 2017-02-16 13:29 GMT-07:00 Sikandar Mashayak <[email protected]>: > >> > > >> > > >> > On Thu, Feb 16, 2017 at 2:23 PM, Christoph Junghans < > [email protected]> > >> > wrote: > >> >> > >> >> 2017-02-16 13:05 GMT-07:00 Joshua Moore <[email protected]>: > >> >> > Hi Christoph, > >> >> > > >> >> > Thanks again. I think I've implemented all your suggestions > except > >> >> > for > >> >> > > >> >> > "If you want to allow a pressure file per-interaction add > >> >> > <pressure_file> to <lammps> block inside the <non-bonded> block > >> >> > and use > >> >> > p_file="$(csg_get_interaction_property > inverse.lammps.pressure_file)" > >> >> > " > >> >> > > >> >> > I will have to think about that one. I think just a single > pressure > >> >> > makes > >> >> > sense, no? > >> >> Multi-component pressure correction is bit tricky. You would need > the > >> >> contribution from each individual interaction. > >> >> The standard version of Gromacs cannot calculated that and hence we > >> >> just use the total pressure. > >> > > >> > > >> > Won't this cause extra counting/corrections to the multiple > >> > interactions, > >> > i.e., multiple pair potentials will be modified to correct the same > >> > pressure > >> > resulting in over corrections and hence, error. > >> You can use individual scaling factors (e.g. 0.25,0.5, 0.25) to > >> correct for that statically. > >> > >> > > >> > I think, either the pressure correction should be added to only one > >> > interaction for a given iteration or use partial pressures > corresponding > >> > to > >> > each interaction to compute the pressure corrections. > >> I usually prefer the former approach, too, but it doesn't work very > >> well if one of the two species is underrepresented and hence you > >> correct for a pressure, which mostly comes from a different > >> interaction. > >> > >> Christoph > >> > > >> > Best, > >> > Sikandar > >> > > >> >> > >> >> You could also do a version where it fails back to total pressure, > >> >> something like: > >> >> p_file="$(csg_get_interaction_property --allow-empty > >> >> inverse.lammps.pressure_file)" > >> >> [[ -z ${p_file] ]] && p_file="$(csg_get_interaction_property > >> >> inverse.lammps.pressure_file)" > >> >> > >> >> One more thing, please add documentation for new xml options to > >> >> share/xml/csg_defaults.xml. > >> >> > >> >> > > >> >> > The other issue was a typo. Thanks for suggesting that. I had > >> >> > <post_update></post_update> in twice, the second time, with > nothing > >> >> > in > >> >> > it, > >> >> > so think it overrides the previous block. Seems to be updating > now. > >> >> Good that you found it, I have seen that problem before! > >> >> > >> >> Christoph > >> >> > > >> >> > I will do a pull request later today after a bit more testing, but > I > >> >> > think > >> >> > it's ok now. > >> >> > > >> >> > Thanks. > >> >> > > >> >> > Josh > >> >> > > >> >> > > >> >> > > >> >> > On Thursday, February 16, 2017 at 1:46:29 PM UTC-5, Christoph > >> >> > Junghans > >> >> > wrote: > >> >> >> > >> >> >> 2017-02-16 10:20 GMT-07:00 Joshua Moore <[email protected]>: > >> >> >> > Hi Christoph, > >> >> >> > > >> >> >> > I think I have it basically working now, but I might be having > a > >> >> >> > few > >> >> >> > issues. > >> >> >> > Here is what I did > >> >> >> > > >> >> >> > 1) I created a calc_pressure_lammps.sh file as you suggested. > It > >> >> >> > is > >> >> >> > attached, but it is basically just calculating the average of a > >> >> >> > column > >> >> >> > of > >> >> >> > pressures I've outputted from LAMMPS using awk and assigning > this > >> >> >> > to > >> >> >> > the > >> >> >> > p_new variable. I have hard coded the name of the lammps file > >> >> >> > (called > >> >> >> > lammps.pressure), as I wasn't sure how this could be read into > the > >> >> >> > script. > >> >> >> Nice, it looks very good! > >> >> >> > >> >> >> I would add an option to xml file in lammps block, e.g. > >> >> >> <cg> > >> >> >> ... > >> >> >> <inverse> > >> >> >> <lammps> > >> >> >> ... > >> >> >> <traj>traj.dump</traj> > >> >> >> ... > >> >> >> <pressure_file>lammps.pressure</pressure_file> > >> >> >> </lammps> > >> >> >> </inverse> > >> >> >> </cg> > >> >> >> and then you can read its value inside the script using: > >> >> >> p_file="$(csg_get_property cg.inverse.lammps.pressure_file)" > >> >> >> If you want to allow a pressure file per-interaction add > >> >> >> <pressure_file> to <lammps> block inside the <non-bonded> block > >> >> >> and use > >> >> >> p_file="$(csg_get_interaction_property > >> >> >> inverse.lammps.pressure_file)" > >> >> >> > >> >> >> In addition, I would check if the pressure file exists before > >> >> >> invoking > >> >> >> awk: > >> >> >> [[ -f ${p_file} ]] || die "${0##*/}: pressure file '${p_file}" > >> >> >> doesn't > >> >> >> exist" > >> >> >> and check that awk actually ran correctly: > >> >> >> p_now=$(...) || die "${0##*/}: pressure averaging failed" > >> >> >> > >> >> >> (Note "${0##*/}" is just the name of the script) > >> >> >> > > >> >> >> > 2) > >> >> >> > Added "pressure lammps calc_pressure_lammps.sh" in csg_table > below > >> >> >> > "pressure > >> >> >> > gromacs calc_pressure_gromacs.sh" > >> >> >> > > >> >> >> > 3) Commented out in postupd_pressure.sh this line > >> >> >> > > >> >> >> > #[[ $sim_prog != gromacs ]] && die "${0##*/}: pressure > correction > >> >> >> > for > >> >> >> > ${sim_prog} is not implemented yet!" > >> >> >> I would change it to that: > >> >> >> [[ $sim_prog != @(gromacs|lammps) ]] && die "${0##*/}: pressure > >> >> >> correction for ${sim_prog} is not implemented yet!" > >> >> >> so that it only works for lammps and gromacs > >> >> >> > >> >> >> Can you do a pull request with these changes? > >> >> >> Details: > >> >> >> > >> >> >> > >> >> >> < > https://github.com/votca/csg/wiki/BugFix#for-users-contribute-a-bug-fix> > >> >> >> > >> >> >> > > >> >> >> > 4) It seems to be running and the pressure appears to be > >> >> >> > improving. > >> >> >> > I > >> >> >> > have > >> >> >> > 3 bead types for the hexane example, and 3 interactions, A-A, > B-B, > >> >> >> > and > >> >> >> > A-B. > >> >> >> > VOTCA is only writing a A-A.pressure and a A-B.pressure file. > It > >> >> >> > doesn't > >> >> >> > seem to be writing a B-B.pressure file, so I'm not sure if it > is > >> >> >> > updating > >> >> >> > the B-B interaction?? > >> >> >> That is a bit more tricky. I am guessing there is a typo in the > xml > >> >> >> file, but I will look more in detail later. > >> >> >> I would look for the output and check: > >> >> >> - if the IBI update itself done for A-B > >> >> >> - if pressure is listed as a Post-update for the A-B interaction > >> >> >> - check inverse.log if calc_pressure_lammps.sh is called for A-B > at > >> >> >> all. > >> >> >> > >> >> >> Christoph > >> >> >> > > >> >> >> > I am attaching the settings.xml file where I am calling for the > >> >> >> > pressure > >> >> >> > correction. Can you take a look to see if it is defined > correctly > >> >> >> > there? > >> >> >> > > >> >> >> > In the *tar.gz I am attaching my current version of the ibi for > >> >> >> > LAMMPS > >> >> >> > with > >> >> >> > real units and pressure correction. > >> >> >> > > >> >> >> > Thanks again for all your help. > >> >> >> > > >> >> >> > Josh > >> >> >> > > >> >> >> > > >> >> >> > On Wednesday, February 15, 2017 at 11:05:47 AM UTC-5, Joshua > Moore > >> >> >> > wrote: > >> >> >> >> > >> >> >> >> Hello, > >> >> >> >> > >> >> >> >> It appears the pressure correction for LAMMPS is not > implemented. > >> >> >> >> > >> >> >> >> I saw this post by Frank > >> >> >> >> > >> >> >> >> https://groups.google.com/d/msg/votca/Jxsdz6v9QKw/OUVfYan8CwAJ > >> >> >> >> > >> >> >> >> It seems like in order to make it work, you would just have to > >> >> >> >> feed > >> >> >> >> in > >> >> >> >> the > >> >> >> >> pressure from LAMMPS. > >> >> >> >> > >> >> >> >> What would be required for this? > >> >> >> >> > >> >> >> >> Could I have LAMMPS output an average pressure, and then this > >> >> >> >> could > >> >> >> >> be > >> >> >> >> fed > >> >> >> >> into pressure_cor_simple.pl as my $p_now=$ARGV[0]; ?? > >> >> >> >> > >> >> >> >> How does Gromacs do it? Does Gromacs calculate an average > >> >> >> >> pressure > >> >> >> >> and > >> >> >> >> that is fed in as $ARGV[0] into the perl script? > >> >> >> >> > >> >> >> >> Thanks. > >> >> >> >> > >> >> >> >> Josh > >> >> >> > > >> >> >> > -- > >> >> >> > You received this message because you are subscribed to the > Google > >> >> >> > Groups > >> >> >> > "votca" group. > >> >> >> > To unsubscribe from this group and stop receiving emails from > it, > >> >> >> > send > >> >> >> > an > >> >> >> > email to [email protected]. > >> >> >> > To post to this group, send email to [email protected]. > >> >> >> > Visit this group at https://groups.google.com/group/votca. > >> >> >> > For more options, visit https://groups.google.com/d/optout. > >> >> >> > >> >> >> > >> >> >> > >> >> >> -- > >> >> >> Christoph Junghans > >> >> >> Web: http://www.compphys.de > >> >> > > >> >> > -- > >> >> > You received this message because you are subscribed to the Google > >> >> > Groups > >> >> > "votca" group. > >> >> > To unsubscribe from this group and stop receiving emails from it, > >> >> > send > >> >> > an > >> >> > email to [email protected]. > >> >> > To post to this group, send email to [email protected]. > >> >> > Visit this group at https://groups.google.com/group/votca. > >> >> > For more options, visit https://groups.google.com/d/optout. > >> >> > >> >> > >> >> > >> >> -- > >> >> Christoph Junghans > >> >> Web: http://www.compphys.de > >> >> > >> >> -- > >> >> You received this message because you are subscribed to the Google > >> >> Groups > >> >> "votca" group. > >> >> To unsubscribe from this group and stop receiving emails from it, > send > >> >> an > >> >> email to [email protected]. > >> >> To post to this group, send email to [email protected]. > >> >> Visit this group at https://groups.google.com/group/votca. > >> >> For more options, visit https://groups.google.com/d/optout. > >> > > >> > > >> > -- > >> > You received this message because you are subscribed to the Google > >> > Groups > >> > "votca" group. > >> > To unsubscribe from this group and stop receiving emails from it, > send > >> > an > >> > email to [email protected]. > >> > To post to this group, send email to [email protected]. > >> > Visit this group at https://groups.google.com/group/votca. > >> > For more options, visit https://groups.google.com/d/optout. > >> > >> > >> > >> -- > >> Christoph Junghans > >> Web: http://www.compphys.de > > > > -- > > You received this message because you are subscribed to the Google > Groups > > "votca" group. > > To unsubscribe from this group and stop receiving emails from it, send > an > > email to [email protected] <javascript:>. > > To post to this group, send email to [email protected] > <javascript:>. > > Visit this group at https://groups.google.com/group/votca. > > For more options, visit https://groups.google.com/d/optout. > > > > -- > Christoph Junghans > Web: http://www.compphys.de > -- You received this message because you are subscribed to the Google Groups "votca" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/votca. For more options, visit https://groups.google.com/d/optout.
