Comments (4)
Do you want to calculate the field at a lot of points, or just a few? You can compute the field at a single point by putting a probe particle there with charge 1 and epsilon 0, then computing the force. Put the NonbondedForce in its own force group and use the groups
argument to getState()
. That only works for one point at a time, though, since multiple probe particles would interact with each other.
from openmm.
(Apologies for my slow response). That would seem to work - presumably you also need to calculate the Nonbonded energy in the absence of the probe particle and subtract this from the Nonbonded energy with the probe particle?
I'm really interested in doing this for multiple points at every time-step of a simulation. It seems like there should be a more direct way of extracting this?
from openmm.
I would probably use two different NonbondedForces. One would be for running the simulation, and would set the probe particle to have charge 0 so it doesn't interact at all. The other would be for evaluating the force on the probe particle, and would be in a force group that doesn't affect the simulation (call setIntegrationForceGroups()
on the Integrator).
To compute the electric field, you just need the force on the probe particle. If you want the potential, you'll need to compute the energies from both NonbondedForces and subtract.
This will be very inefficient if you want to compute fields at multiple points in every step of a simulation. In principle it could be computed much faster, but that would require NonbondedForce to provide support for it directly. Currently it doesn't.
from openmm.
@tomfay is there a particular reason to extract these fields from OpenMM? Another option is to use TUPÃ (https://github.com/mdpoleto/tupa) to calculate the electric fields at any given point in the simulation box using over multiple trajectory frames using a real distance approach. In principle, the PME contribution beyond 15A to the field is minor (smaller than st.deviation), so a real distance approach is reasonable.
from openmm.
Related Issues (20)
- NaN forces with CustomCentroidBondForce as collective variable in CustomCVForce HOT 2
- Python wrapper: install in `CMAKE_INSTALL_PREFIX` HOT 6
- Martini simulation with no output HOT 6
- OpenMMException: Particle coordinate is nan when multiple GPUs are used HOT 6
- OpenMM 8.1.1 on Summit failing CUDA specific make tests HOT 4
- Which charmm36 forcefield version is loaded by default? HOT 3
- Interaction energy HOT 3
- big energy expression leads to wrong energies with GPU HOT 3
- Numerical problem causing NaN in energy calculation of CustomNonbondedForce HOT 1
- Pair-Energy Reporter in OpenMM HOT 1
- Modelling System with Peptide HOT 1
- Incorrect Potential Energy with MonteCarloFlexibleBarostat HOT 1
- Problems loading small molecular ligand PDBs with duplicate atom names HOT 4
- No template found for residue HOT 8
- An error occurred while reading the gromacs top file. HOT 3
- reporter that doesn't use reportInterval (help wanted) HOT 2
- OpenMM in FP16 or FP8 floating-point precision HOT 1
- make failed for openmm (:EOF: Error: Unable to find 'swig.swg' :2: Error: Unable to find 'python.swg') HOT 7
- Building a membrane without a protein using Modeller.addMembrane() HOT 1
- Issue in running openmm with gromacs files HOT 2
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 openmm.