by

Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
    Gernot Bauer
    @g-bauer
    Hi xperrylinn! Nice to meet you!
    Xavier Linn
    @xperrylinn
    @Luthaf new to Rust, but familiar with molecular simulation. I can start with the Morse potential in implementing the classical potentials issue.
    @g-bauer greetings!
    Guillaume Fraux
    @Luthaf
    This look like a nice idea! @g-bauer just wrote a tutorial for doing this: http://lumol.org/lumol/latest/book/advanced/potential/index.html
    Gernot Bauer
    @g-bauer
    Hey, the Morse potential is already implemented (also as a first contribution). You can have a look at all implemented potentials here. If you need help, let us know!
    Guillaume Fraux
    @Luthaf
    Whoops, sorry, I did not marked it as implemented on the issue. Should we also put the tutorial code in lumol-core and tick the corresponding box?
    Gernot Bauer
    @g-bauer
    You mean the Mie potential? We can do that, although we (read: I) then should also write the rest of the tutorial about the necessary steps to make it work with the input system.
    Ping @xperrylinn just in case you start working on Morse potential without seeing this.
    Guillaume Fraux
    @Luthaf
    Yes, I was thinking of the Mie potential. Fair enough, we can put it in core when the tutorial is finished =)
    Gernot Bauer
    @g-bauer
    @gjepson Let me know if you want to make your WCA implementation accessible from input files. I'd gladly help with that.
    Gernot Bauer
    @g-bauer
    I just pushed my PR with the Mie potential implementation. Maybe you can use it as guide on where to add stuff for input file usage (see here)
    Gernot Bauer
    @g-bauer
    @Luthaf I had some time to read the PR concerning the DOF. Having both MC and MD makes this issue a bit messy. I don't have a clear idea how to solve this. Do you have any (open) points you want to discuss?
    Guillaume Fraux
    @Luthaf
    In my mind, this a way to compute the pressure correctly with both MD and MC
    Which is why it covers both =)
    It is still a WIP because I did not get the Ewald MC NPT tests to pass, but from what I remember this was working for NPT simulations of rigid molecules with MC.
    I have a local branch covering more fixes to Ewald, but it is not there yet.
    In the meantime, I'll be happy to discuss the solution / framework I used to get the number of simulated degrees of freedom from the propagator
    I tried to get something that could be expanded to future use-cases, such as algorithms for rigid molecules MD (SHAKE, ...)
    Let me know if the code is understandable, I'll be happy to add more documentation if this is needed
    Gernot Bauer
    @g-bauer

    I have a local branch covering more fixes to Ewald, but it is not there yet.

    Are those fixes concerning bugs in the current implementation? I'll have some time this weekend to do some NPT runs of SPC.

    Guillaume Fraux
    @Luthaf
    Yep! Basically on the reciprocal space part, a lof of k-points where missing (this is entirely my fault, I tried to cut corners with symmetry that does not exist ...)
    I am currently running some more tests locally with MC simulations of NaCl, and then I'll send a PR
    But for SPC I think we will need to have both #225 and these fixes
    Gernot Bauer
    @g-bauer
    Ok! Looking forward to it. Do you know why it passed the tests for SPC NIST configurations?
    Guillaume Fraux
    @Luthaf
    Mainly because we used both a big cutoff in real space and a big cutoff in reciprocal space, which make the reciprocal part of the energy negligible wrt the real space part.
    But changing the values tu use and small real-space cutoff make the error appear!
    Gernot Bauer
    @g-bauer
    Mhm that's why we had to use smaller tolerances for the errors I guess?!
    Guillaume Fraux
    @Luthaf
    what do you mean ?
    Gernot Bauer
    @g-bauer
    If I remember correctly, when implementing the tests for Ewald (versus NIST), we found that for small cutoffs the energies were a bit off. AFAIK we reduced the tolerance for the tests to pass. This could stem from the bugs you found.
    Guillaume Fraux
    @Luthaf
    Oh, I did not remeber that ... I'll give it a look!
    Gernot Bauer
    @g-bauer
    See here: lumol-org/lumol#75
    Not sure if that's the reason. We used different alphas. I'm not sure either. We should check the tests for the new implementation :)
    But it is worth checking it more carefully!
    Gernot Bauer
    @g-bauer
    :thumbsup:
    Guillaume Fraux
    @Luthaf
    Hey @g-bauer, would you have some time to give a look to #240 and #241 ? Else I can merge them directly, as they are small PR with tests :smiley:
    Gernot Bauer
    @g-bauer
    I'll check #241 tomorrow!
    Gernot Bauer
    @g-bauer
    Seems like you are able to reproduce the LAMMPS data for SPC using Ewald! Thats awesome!
    Guillaume Fraux
    @Luthaf
    Yep, that nice ! But I still have the same issue with MC NPT. I'll check tomorrow if I can find what's wrong with either the Resize move or the energy cache
    and thanks for taking the time to merge #240!
    I rebased #241 on top of master, it is a pretty straightforward PR. I think the main change is the switch from .zip() methods to a soa_zip! macro in soa-derive
    Guillaume Fraux
    @Luthaf
    I think I found the remaining issue with #237: the default value for alpha was wrong, creating a big error specifically in the case of periodic systems such as the crystal I was using for testing
    Gernot Bauer
    @g-bauer
    You mean also w.r.t the NPT simulations?
    Guillaume Fraux
    @Luthaf
    yes :smile:
    Gernot Bauer
    @g-bauer
    That's nice!
    Garrett Jepson
    @gjepson
    Hello, I'm trying to use lumol via a Rust program. Could you point me towards the relevant documentation?
    Gernot Bauer
    @g-bauer
    Hey @gjepson, could you specify what you want to do? Do you mean using lumol as library within a Rust program? Then, I'd recommend taking a look at the examples here. The functions used within the examples are documented within the API documentation, which you can find here. Does that help?
    Guillaume Fraux
    @Luthaf
    Also, if you are willing to use the input system, you can follow the code in bin/lumol.rs for the lumol binary. If you don't use the input system, you might want to setup a logging backend in your own main to get the warning/error messages.
    Garrett Jepson
    @gjepson
    Yes, using lumol as a library. Thank you for those. One thing: whenever I try to run 'lumol argon.rs' from 'lumol/examples', I get the error message: '[error] invalid input file: unexpected character found: / at line 1'
    Gernot Bauer
    @g-bauer
    Can you try to run cargo run --example argon --release (from within the lumol directory)