Submitted pull request.  Let me know if I did everything right.  It's been 
awhile since I used git.


On Thursday, February 16, 2017 at 5:47:50 PM UTC-5, Christoph Junghans 
wrote:

> 2017-02-16 14:50 GMT-07:00 Joshua Moore <[email protected] <javascript:>>: 
> > 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] <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.

Reply via email to