Giter VIP home page Giter VIP logo

Comments (4)

chrisiacovella avatar chrisiacovella commented on July 18, 2024

Agreed.

We want bonded parameters that references atom_types to take precedence of bond_classes, as they would be the most specific cases. Given that our atom-typing approach does not rely upon the physical order in which rules are evaluated, we don't want to require bonded interactions to be defined in a specific order.

from foyer.

chrisiacovella avatar chrisiacovella commented on July 18, 2024

In testing, a few things I found:
1- "type" and "class" can be mixed in a single definition
2- if the parameters for two separately defined bonded interactions are the same, the code considers them to only be a single type when it dumps to lammps (I didn't check gromacs, but I assume it's the same behavior). I'm not sure if this makes things cleaner or potentially more confusing.

from foyer.

summeraz avatar summeraz commented on July 18, 2024

Regarding those two findings:

  1. If "type" and "class" can be mixed, then perhaps we want to set the order of precedence based on the number of "type" definitions in a listed dihedral.
  2. I implemented this behavior when writing the LAMMPS writer simply to make the data file a bit cleaner. I had been thinking of going back on this, however, and having the LAMMPS writer write all dihedral parameters (even duplicates) with a comment added at the end that specifies what the dihedral corresponds to (at this point we are dealing with a ParmEd Structure so we will have lost the bond type information, but could at least have a comment at the end of the line that details what elements are involved in the dihedral).

from foyer.

chrisiacovella avatar chrisiacovella commented on July 18, 2024
  1. That's a good idea, the highest precedence is the maximum number of "type" and minimum number of "none" definitions
  2. Ok, so that's an easy change. I think we should have an option that is "descriptive" output, where we put a comment at the end of each line to say which dihedral parameters these correspond to (so like basically dump the definition string, class1="x" class2="") I probably wouldn't want that in every file, but might be useful to have for validation purposes (of say, a single molecule).

from foyer.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.