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

Worm body modelling and mechanics - parameters, values etc. #127

Open
a-palyanov opened this issue Oct 19, 2017 · 12 comments
Open

Worm body modelling and mechanics - parameters, values etc. #127

a-palyanov opened this issue Oct 19, 2017 · 12 comments
Assignees

Comments

@a-palyanov
Copy link
Member

a-palyanov commented Oct 19, 2017

One statement about worm body is the following:
"The stiffness of the body is due to both high elastic modulus of its cuticle (the Young Modulus, E = 10–400 MPa, is comparable to rubber). Using measured viscoelasticity, it is possible to estimate the muscle power that is required to bend the body itself or to push the body against surroundings. In environments that pose little resistance (e.g., water), most muscle power is used to drive the bending of a stiff body. Only when the viscosity of surroundings increases by ~100-fold does the muscle power needed to push against the environment begin to compare with the power needed to bend the body. For over a ~10,000-fold increase in environmental viscosity, the muscle power varies by less than twofold [72]. Hence, the C. elegans motor circuit operates in low gear, pushing the animal through high resistance environments, and exhibiting little acceleration in low resistance environments."
(source: https://scholar.harvard.edu/files/aravisamuel/files/zhen_curr_opin_neurobiol_2015.pdf)

Another one contains significanlty different values:
"Despite the high stiffness measurements reported for the worm cuticle, an analysis based on the bending moments observed in the worm’s undulatory swimming gait leads to a significantly lower estimate for the Young’s modulus for the entire worm, 3.77 kPa (14); the mechanical loading in this experiment was provided by the worm’s own muscles as it swims, complicating interpretation and possibly underlying the low modulus value. Another recent study measured the worm’s bending modulus using deflection of the entire body under actuation from a single point (26). Calculating the Young’s modulus of the worm’s body yields a value ranging from 110 kPa to 1.3 MPa, depending on whether the worm is modeled as a uniform cylinder or cylindrical shell (26). The large range of reported values highlights our poor understanding of the mechanical properties of C. elegans. There is a clear need for elucidating the role of the cuticle, as well as the interplay of internal and external pressure, in the mechanics of the whole worm."
(source: https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4407266/)

Here I plan to discuss parameters, values and other stuff related to worm body modelling, and keep the history of progress on this, especially related to Sibernetic worm models.

@a-palyanov a-palyanov self-assigned this Oct 19, 2017
@a-palyanov
Copy link
Member Author

a-palyanov commented Oct 20, 2017


Authors of the second paper mentioned in the previous message believe that "(A) The worm can be thought of as a stack of radially symmetric springs stretched to compensate for different internal and external pressures. (Inset) After the worm is punctured with a fine needle, internal organs are rapidly expelled, indicating high internal pressure (puncture location indicated by magenta arrow). (B) The system can be reduced to a one-dimensional model containing a valve that regulates the internal pressure."
Possibly it is a good idea to get rid of worm's internal liquid (in further versions of worm body model) and replace it with springs?
Another point (right now I don't have an estimate about how important it could be): in Sibernetic we do not take into account atmospheric pressure. However, the pressure of liquid when the worm is located inside it, will act on it.

@a-palyanov
Copy link
Member Author

a-palyanov commented Oct 31, 2017

The new version of Sibernetic is available on github (development branch). A set of parameters is tuned to provide more adequate properties of worm body and its movement (swimming, crawling) for half-resolution models. Here is a video of how it looks now:
https://www.youtube.com/watch?v=IUMI7XQpNBk
And here, for comparison, is a video of a real C. elegans swimming:
https://www.youtube.com/watch?v=qDvSYxNGSNg
And a figure showing the similarity/difference between a real and simulated trace of the worm's tail during swimming:
swimming half res

@a-palyanov
Copy link
Member Author

a-palyanov commented Dec 11, 2017

Hey guys, I've got some incredible news for those who work with Sibernetic.
As you probably remember, when I switched from full-resolution model to half-resolution model of the worm body, I've changed the mass and size (smoothing radius) of the particles, but preserved integration time step the same (I've missed to adjust its value). The length of half-resolution worm was 0.8 mm. Recently I've found the source paper corresponding to this worm swimming video, which was without scale bar. Here is the picture with scale bar, using which I've calculated that this worm's length is about 1.1 mm: swimming c elegans
So I've adjusted (encreased) the mass and radius of the particles (of the same half-resolution model) once more. And at this time I've finally realized that when mass of particles grows, integration time step can be encreased (for example, in modecular dynamics simulations masses of atoms is so small that it is necessary to use integration time step of a femto-second order). So, I've started to use larger and larger values (starting from our default value of 0.5e-5 s) and found, that simulation remains stable for the values up to 2.0e-5 s.
It is 4 times more than we used before, which means that for 1.1 mm worm body Sibernetic simulation is able to work 4 times faster. The new version, I hope, will be available on github in a few days.

@a-palyanov
Copy link
Member Author

I've decided to investigate the dependence of simulation quality on integration time step and used the swimming scene for this. Here are the initial and final positions of the worm:
swimming_start_end

@a-palyanov
Copy link
Member Author

Note that it swims by itself, without any additional conditions, in the mid-water, not at the bottom and not partially floating over the surface of the liquid (densities of the liquid and worm are equal). Here are the traces of the worm tail (as on some previous pictures in this thread) - a set of curves which were obtained from simulations, which differ from each other only in the value of dt (integration time step)
swimming_tail_trace
:

@a-palyanov
Copy link
Member Author

And here are the curves for the same set of dt values, which display the dependence of how the worm's center of mass changes with the time during the same process of swimming:
swimming_cm_trace
I'll be glad to discuss the problem of the choice of the optimal dt value.

@a-palyanov
Copy link
Member Author

Swimmin velocity also depends on dt:
swimmi_velocity vs dt

@a-palyanov
Copy link
Member Author

If you have any suggestions about additinal calculations which will make the question about the good choice of dt more clear, feel free to inform me.

@VahidGh
Copy link
Member

VahidGh commented Dec 13, 2017 via email

@a-palyanov
Copy link
Member Author

a-palyanov commented Dec 13, 2017

Sure we consider the weight, and it is quite close to the weight of a real C. elegans (since density and geometry are also the same or almost the same as real).
But these 5 runs differ only in dt, weight remains exactly the same.

@VahidGh
Copy link
Member

VahidGh commented Dec 13, 2017 via email

@VahidGh
Copy link
Member

VahidGh commented Dec 13, 2017 via email

a-palyanov added a commit that referenced this issue Dec 19, 2017
Previous versions were configured for 0.78 mm worm body. Larger size, 1.1 mm along with half resolution, allow using integration time step value, dt, up to 4 times larger than previously (up to 2e-5 s instead of 0.5e-5 s), which causes 4 times faster computational performance. For details see #127 (comment) . File main_sim.py is also configured for usage with dt=2e-5 s, (see lines 62, 67, 96 and 97).
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