2017-02-16 14:50 GMT-07:00 Joshua Moore <[email protected]>: > Thanks. > > By <scale>, do you mean post_update_options.scale not the > post_update_options.pressure.simple.scale? I meant 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? Yes, it should be a small number related to the compressibility for the system, see: <http://dx.doi.org/10.1140/epje/i2008-10413-5> > > 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? For multiple interactions it is not so clear, I usually split the contribution amongst the different interactions. However, if the number is small making it even smaller doesn't really change much. Christoph > > 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]>: >> > 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]. >> > 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.
