Home › Forum › SOFA › Using SOFA › Suitable collision model for bendable helices
Tagged: 64_bits, Linux_ubuntu, SOFA_1706
- This topic has 3 replies, 2 voices, and was last updated 5 years, 11 months ago by Hugo.
-
AuthorPosts
-
2 February 2018 at 19:51 #10412ksBlocked
Hi,
we are currently modeling alpha-helices and their interactions in SOFA. The helix is build by positioning the atoms (frames) in space and to allow a degree of bending, we connect some of the neighboring atoms with springs. This works quite well, as long as there are no interactions with other helices. Here, the problem is that they can get too close. The atoms are represented with collision spheres, but spheres of other helices can go in between and come generally too close. We cannot increase the diameter of the spheres enough to avoid this problem, because it would impede the bending and with self collisions deactivated, after a certain size, the model behaves weird (atoms popping out).
What we would really like instead would be a cylindrical collision model with a certain diameter that covers the helix. Can you just add some sort of skinning mapping to the current model to achieve this? Would another model be more suitable? One caveat is, that we need to be able to connect springs to certain points within the helix (the atoms).
Another solution could be to implement Van der Waals forces. Do you have some pointers/ examples on how to implement this (complete beginner here)?
Thanks!
Kolja
5 February 2018 at 18:15 #10453HugoKeymasterDear Kolja,
Welcome on the SOFA forum!
The approach either collision- or force-based are pretty different from one another.Collision would be possible. How do you describe the topology of your alpha-helices? If this is a group of lines, then, you can define a collision model on it with:
<Lines />Since you are interested in the geometrical output of the solution, I would also use a force field mimicking the Van der Waals forces. Such a forcefield is rather easy to implement in a new ForceField. All you need is to implement the right addForce() and addDForce() functions. Infos are available here.
If this does not help enough, let us know. We could still help you in the process.
Finally, two further options would be possible:- we can propose some training sessions (next sessions is in Feb. 26th in Paris)
- or propose a few support hours during which we could help you in the development.
A short side question, do you have your own alpha-helix model ?
Is this implemented in a plugin?Best regards,
Hugo
15 February 2018 at 06:46 #10543ksBlockedThank you Hugo for your quick reply!
We will look into ForceField to mimick the Van der Waals forces. I will get back to you with the implementation details of the helix.
On a related note: I assume that you internally calculate the distances between all frames to compute possible collisions? Is this exposed somewhere? We need to have the euclidean distances, which are easy to compute, but we would like to avoid computing them twice.
Thanks!
Kolja22 November 2018 at 17:13 #12513 -
AuthorPosts
- You must be logged in to reply to this topic.