Menu

#40 Automatically determine the energy mesh

2.0
open
nobody
None
2023-01-10
2015-07-29
KM Tu
No

One thing that makes running ERmod not so "automatic" is that one has to adjust ecdmin and eccore manually before doing production runs.

We can remove this hassle by storing the energy trajectory first and updating the energy histogram later when the min and max are determined. It is a tradeoff, of course. We can let the user have options. The user can trade some cpu time and disk storage for the joy of "one-click and run".

I have implemented the parallel writing of the energy trajectory with the HDF5 library:
https://github.com/kmtu/ermod/compare/engtraj
(Since sourceforge does not seem to offer the comparison view between branches, I pasted the github link. Note that the current implementation is for a specific purpose of my own and cannot be adopted directly.)

More details need to be discussed though. For example, since both soln and refs need to have the same energy mesh, the codes for building the energy histogram may have be moved to slvfe.F90. In addition, the performance impact of the energy trajectory I/O needs to be assessed, too.

Discussion

  • Shun Sakuraba

    Shun Sakuraba - 2015-08-07

    IMO, time to rerun ermod is still comparable to simulation time, so just running ermod twice is also a viable option. First run only determines the histogram and the second run is normal run with a modified histogram. It is also simpler in design (plus, I/O is already eating up significant amount of time in ermod). Though it is basically a waste of the computation time, it's still not dominant in current ERmod workflow.

    Pros:

    • minimal code change
    • lower I/O reading pressure
      Cons:
    • Waste computational time
     
  • Nobuyuki MATUBAYASI

    User-defined meshes can be accepted in the enginit subroutine of engproc.F90 posed on Sep. 1. This functionality allows use of an arbitrary set of bin widths and is available when meshread = 1 is set in parameters_er and an EcdMesh file is prepared, EcdMesh can be of some help for automatic preparetion of meshes

     
  • Nobuyuki MATUBAYASI

    A procedure can be as follows:
    1) run a short soln run using KM Tu's engtraj option.
    2) get the minimum and maximum energies from 1), and set the minimum minus some margin to ecdmin and the maxium plus some margin to eccore.
    3) the domain from minus 2 or 3 kcal/mol to plus 2 or kcal/mol is binned by letting the number of solvent molecules in each bin is less than 10, say. Here, the bin width will not be uniform
    4) The domain outside plus-minus 2 or 3 kcal/mol can be biined with a uniform bin width of 0.05 kcal/mol.
    5) Above eccore, it would be enough simply to set pecore = 300
    6) EcdMesh determined with 1)-5) above in soln is copied to refs

     
  • Shun Sakuraba

    Shun Sakuraba - 2023-01-10
    • Milestone: 1.0 --> 2.0
     

Log in to post a comment.

Monday.com Logo