Simulations with articulated bodies

The purpose of this section is to analyze the motion of the three-sphere planar swimmer using the fluid toolbox of Feel++. In the test cases we consider different radii for the swimmer’s spheres and different shapes and sizes of the domain in order to find a swimming strategy that allows the swimmer to move in a prescribed direction.

1. Three-sphere planar swimmer geometry

The geometry of this type of swimmers can be seen in the following picture :

3SS geometry
Figure 1. Geometry of three-sphere planar swimmer

The three spheres are separated by an angle of \(120\) degrees. The swimmer is placed in a box filled with a fluid at low Reynolds number. In the figure, the \(G\) represents its center of mass.

The range of parameters is defined by :

Name

Description

Values

Unit

\(O\)

Swimmer center

(\(0,0\))

\(\mu m\)

\(r\)

Center radius

\(0.01\)

\(\mu m\)

\(R\)

Sphere radius

\(1\)

\(\mu m\)

\(d\)

Sphere distance to center

\(10\)

\(\mu m\)

\(\rho_s\)

Swimmer density

\(0.1\)

\(\frac{g}{\mu m^3}\)

\(\rho\)

Fluid density

\(1\)

\(\frac{g}{\mu m^3}\)

\(\mu\)

Fluid viscosity

\(1\)

\(\frac{\mu m^2}{s}\)

\(\Delta t\)

Simulation time step

\(0.1\)

\(s\)

2. Simulations in a rectangular domain

The swimmer is placed in a rectangular box. The domain is thus defined by:

Name

Description

Values

Unit

\(\Omega\)

Computational domain (box)

[\(-60,60\)] \(\times\) [\(-60,60\)]

\(\mu m\)

First application

The first simulation is performed on 30 seconds. Every 6 seconds, the swimmer repeats the same sequence of movements. First, he contracts the upper sphere, the sphere \(1\), then the right sphere, sphere \(2\), and finally the left one, sphere \(3\). Afterwards, he extends his spheres in the same order. We represent the time evolution of the horizontal and vertical position of the center of mass of the swimmer. For these graphs we do not have verified results to make comparisons. The representations are given by :

3SS planaire xcm
Figure 2. Time evolution of \(x^{CM}\)
3SS planaire ycm
Figure 3. Time evolution of \(y^{CM}\)
3SS planaire xcmycm
Figure 4. Time evolution of \(x^{CM}\) and \(y^{CM}\)

Second application

To verify that the swimmer is moving in theoretical direction, we consider a sequence of four movements. First he contracts one sphere and then simultaneously the other two before extending the first sphere and finally simultaneously the other two. When we consider that the sphere \(1\), thus the upper sphere, moves alone, then the four movements are defined by :

  • Swimmer contracts the sphere \(1\).

  • Swimmer contracts the spheres \(2\) and \(3\).

  • Swimmer extends the sphere \(1\).

  • Swimmer extends the spheres \(2\) and \(3\).

Each movement takes one second. This sequence of movements should result that the swimmer’s center of mass moves downward without having a horizontal displacement.

The first graph shows the displacement of the center of mass during \(8\) sequences of these four movements. The second graph shows only the displacement after each sequence. The orange line corresponds to the theoretical displacement.

Sphere1SS3planar2
Figure 5. \(x^{CM}\) and \(y^{CM}\), case \(1\)
Sphere1SS3planar
Figure 6. \(x^{CM}\) and \(y^{CM}\), case \(1\)

We simulate these \(8\) sequences of movement also in the case where the sphere \(2\) thus the right sphere moves alone and in the case where the sphere \(3\) moves alone.

Sphere2SS3planar
Figure 7. \(x^{CM}\) and \(y^{CM}\), case \(2\)
Sphere3SS3planar
Figure 8. \(x^{CM}\) and \(y^{CM}\), case \(3\)

We can notice that the order of error is more important for the cases of sphere \(2\) and the sphere \(3\) than for the case of sphere \(1\). By visualizing the displacements with Paraview, one can observe that this can be the result of the boundary effects of the rectangular domain. Thus, we have done the same simulations considering a large circular domain.

3. Simulations in a circular domain

In this case the domain is defined by:

Name

Description

Values

Unit

\(\Omega\)

Computational domain (box)

Radius : \(120\)

\(\mu m\)

First application

We plot, for each case, the displacement during five sequences on the first graphs and the motion after each sequence on the second graph. The orange line represents the theoretical displacement. For the case of the sphere \(2\) and \(3\), we rotate the results so that it corresponds to the theoretical displacement of the case of the sphere \(1\), thus a vertical displacement only.

xcmycmSPHERE1CIRCULAR
Figure 9. \(x^{CM}\) and \(y^{CM}\), case \(1\)
xcmycmSPHERE1CIRCULAR final
Figure 10. \(x^{CM}\) and \(y^{CM}\), case \(1\)
xcmycmSPHERE2CIRCULAR
Figure 11. \(x^{CM}\) and \(y^{CM}\), case \(2\)
xcmycmSPHERE2CIRCULAR final
Figure 12. \(x^{CM}\) and \(y^{CM}\), case \(2\)
xcmycmSPHERE3CIRCULAR
Figure 13. \(x^{CM}\) and \(y^{CM}\), case \(3\)
xcmycmSPHERE3CIRCULAR final
Figure 14. \(x^{CM}\) and \(y^{CM}\), case \(3\)

It can be observed that for all three cases a negligible horizontal displacement is obtained, an error of order \(10^{-5}\). However, the right graphs show that the first sequence of the four movements result in a different displacement than the following sequences. As this should not be the case, we will perform different checks to understand the reason for this difference.

Second application

First, we check that the displacement of the swimmer’s center of mass after each sequence is equal to the displacement of each sphere. We use the case of sphere \(1\). The four graphs visualize this motion, the orange line corresponds to the theoretical displacement.

xcmycmSPHERE1CIRCULAR final
Figure 15. \(x^{CM}\) and \(y^{CM}\)
xcmycmSPHERE1CIRCULAR sphere1
Figure 16. \(x\) and \(y\), sphere \(1\)
xcmycmSPHERE1CIRCULAR sphere2
Figure 17. \(x\) and \(y\), sphere \(2\)
xcmycmSPHERE1CIRCULAR sphere3
Figure 18. \(x\) and \(y\), sphere \(3\)

We can observe that the movements are similar. The error is more important for the spheres \(2\) and \(3\) than for the sphere \(1\) and the center of mass of the swimmer. The same observations are made for the other two cases.

Third application

Second, we display the number and the instants of remeshing for each case. The red points on the graphs, figures \(9\), \(11\), \(13\), correspond to these remeshes.

Case

Number of remeshes

Instants of remeshing

Sphere \(1\)

\(2\)

[\(0.9s\), \(1.7s\)]

Sphere \(2\)

\(5\)

[\(0.9s\), \(1.7s\), \(3.0s\), \(4.5s\), \(5.9s\)]

Sphere \(3\)

\(2\)

[\(0.7s\), \(1.8s\)]

It can be seen that after the last remeshing, the displacement of the sequences remains the same. To make sure that the problem of the different displacement is caused by the initial mesh, we redo the same simulations using as initial mesh the one obtained after two sequences of four movements. The displacements are supposed to be identical to those of the third sequence.

We could not perform this check. The tool to reuse a mesh doesn’t exist yet in the python layer of Feel++.

Fourth application

Third, we analyze the influence of the radius of the center sphere that builds the swimmer’s center of mass. Initially, its radius is equal to \(r = 0.01\). We consider the radii :

\[r = [1.0,0.5,0.25,0.125]\]

while keeping the mesh step fixed equal to \(0.2\). We show the displacement after each sequence of four movements in the case of sphere \(1\), comparing it to the one where the sphere of the center has the initial radius and to the theoretical displacement.

xcmycmDiffRadius1
Figure 19. \(x^{CM}\) and \(y^{CM}\)
xcmycmDiffRadius2
Figure 20. \(x^{CM}\) and \(y^{CM}\)

The table shows the number and instants of remeshing:

Radius

Number of remeshes

Instants of remeshing

\(r = 1.0\)

\(1\)

[\(1.8s\)]

\(r = 0.5\)

\(2\)

[\(1.3s\), \(2.3s\)]

\(r = 0.25\)

\(8\)

[\(0.8s\), \(1.8s\), \(2.8s\), \(4.1s\), \(5.8s\), \(6.9s\), \(8.1s\), \(9.9s\)]

\(r = 0.125\)

\(5\)

[\(0.9s\), \(1.8s\),\(2.8s\),\(4.3s\),\(5.8s\)]

\(r = 0.01\)

\(2\)

[\(0.9s\), \(1.7s\)]

The different radii result in an error, hence a horizontal displacement, larger than the initial radius. The number of remeshes is also equal or greater than that of the reference case. Only for \(r = 0.5\) better results are obtained. For this reason, we consider the results for the same simulation using a radius equal to \(r = 0.5\) and a smaller mesh size for the spheres, equal to \(h = 0.1\) instead of \(h = 0.2\). The graph shows this comparison:

xcmycmDiffh final
Figure 21. \(x^{CM}\) and \(y^{CM}\)

The error obtained for this mesh size is even smaller. However, this simulation requires \(53\) remeshes, the displacement is not periodic.