Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Initializing a large number of CVs #1034

Open
lizhuzh opened this issue Mar 3, 2024 · 5 comments
Open

Initializing a large number of CVs #1034

lizhuzh opened this issue Mar 3, 2024 · 5 comments

Comments

@lizhuzh
Copy link

lizhuzh commented Mar 3, 2024

Hi PLUMED developers,

I am using GROMACS 2018. In my simulation, I need to calculate large amount (~10^4) of CVs. However, I found that it takes ~30 mins to initialize these CVs at the beginning of simulation. I am wondering why this is the case and whether there is any way to make it faster.

Thanks,
Lizhu

@GiovanniBussi
Copy link
Member

PLUMED is not designed for that regime, but rather for the regime where there are a few (10-100) CVs. In addition to startup, I suspect you can have significant overhead also during the simulation if you use 10^4 CVs.

There are a number of CVs that are designed to compute simpler CVs on multiple combinations of atoms (e.g., all pairwise distances in a single CV). If you are more specific about what you are trying to do we can help you to obtain the same result using less CVs

@lizhuzh
Copy link
Author

lizhuzh commented Mar 4, 2024

PLUMED is not designed for that regime, but rather for the regime where there are a few (10-100) CVs. In addition to startup, I suspect you can have significant overhead also during the simulation if you use 10^4 CVs.

There are a number of CVs that are designed to compute simpler CVs on multiple combinations of atoms (e.g., all pairwise distances in a single CV). If you are more specific about what you are trying to do we can help you to obtain the same result using less CVs

Thanks for your reply. I indeed want to calculate all pairwise distance between two groups. Which CV do you think can calculate these quantities?

@GiovanniBussi
Copy link
Member

What do you want to do with those distances? There are many variables that combine multiple pairwise distances in different manners, e.g.:

  • COORDINATION
  • COORDINATIONNUMBER
  • CONTACTMAP
  • DISTANCES

and possibly others

@lizhuzh
Copy link
Author

lizhuzh commented Mar 6, 2024

What do you want to do with those distances? There are many variables that combine multiple pairwise distances in different manners, e.g.:

  • COORDINATION

  • COORDINATIONNUMBER

  • CONTACTMAP

  • DISTANCES

and possibly others

Sorry for the late reply --- I was looking at the manual and the source codes of these CVs. What I want to do is to pass all pairwise distances to another CV (e.g. RESTRAINTS). It seems that I do not have access to these components in the above CVs. Also, it seems that those CVs you mentioned are not parallelized, except COORDINATION.Am I correct?

@GiovanniBussi
Copy link
Member

Are all the restraints identical? If so you can easily do this with COORDINATION and a switching function, with a lot of flexibility on the form of the restraint (though identical on all distances)

If not you might use CONTACTMAP, with a limited for for the restraint, but different reference distances. And I think it's parallelized.

DRMSD might also be a good option, but I don't know if it's parallelized

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants