Comments (4)
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.
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.
Regarding those two findings:
- 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.
- 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.
- That's a good idea, the highest precedence is the maximum number of "type" and minimum number of "none" definitions
- 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)
- Add more precision to the standard XMLs
- Incorrect handling of partially typed systems in general_forcefield.py HOT 1
- Edge case when scaling factors are 0 HOT 1
- Getting an error when using Porebuilder and foyer/mbuild, maybe in the box vectors. HOT 1
- Windows built is failing HOT 1
- Parametrized structure has non-zero charge. HOT 1
- ParmEd residue matching assumes ordered residues
- Atom typing triangular water fails HOT 3
- Improper dihedral coefficients in oplsaa.xml HOT 7
- The General Forcefield will not work with GMSO dev branch. HOT 1
- Foyer not working when installed using `conda` but works with `mamba` HOT 4
- Dihedrals not found HOT 13
- deep copy in nbfix doesn't preserve all structure attributes
- CI stops running because tests are using too much memory. #1090
- Update Github action
- Failed Docker build HOT 1
- Error when foyer is imported HOT 9
- Failing CI tests on main
- Question on Retaining Manual Atomtype Modifications Post apply Method in Foyer HOT 2
- Sigma value for alcohol hydrogen in OPLSAA xml HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from foyer.