This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

Synchronization Fronts in a Spatially Extended System of Hybrid Rayleigh-van der Pol Oscillators

Carles Tardío Pi Laboratorio de Biología de Sistemas, Centro de Ciencias Genómicas, Universidad Nacional Autónoma de México, Av. Universidad s/n Col. Chamilpa 62210, Cuernavaca, Morelos, México. Corresponding author: carlestapi@gmail.com Jorge A. Castillo Medina Facultad de Matemáticas, Universidad Autónoma de Guerrero, Carlos E. Adame 54, Col. Garita, C.P.39650, Acapulco, Guerrero, México. Pablo Padilla Longoria Insituto de Investigaciones en Matemáticas Aplicadas y Sistemas, Universidad Nacional Autónoma de México, Cto. Escolar 3000, C.U., Coyoacán, 04510 Ciudad de México, México.
(Preprint - May 6, 2022)

Abstract

Numerous biological systems exhibit transitions to synchronised oscillations via a population-density-dependant mechanism known as quorum sensing. Here we propose a model system, based on spatially distributed limit-cycle oscillators, that allows us to capture the dynamics of synchronization fronts by taking the continuum limit as the number of coupled oscillators tends to infinity. We explore analytically a family of wavefront-type solutions to the system in terms of model parameters and corroborate its validity via a numerical finite-difference method algorithm. Finally, we review our results in light of some experimental systems in synthetic biology based on a synchronised quorum of genetic clocks, coupled via a diffusive auto-inducer signalling molecule analogue to our Hooke-like coupling scheme within the proposed hybrid Rayleigh-van der Pol model.

Keywords— Coupled Oscillators, Genetic Clocks, Quorum Sensing, Synchronization Fronts, Limit-cycle, Travelling Waves, Autoinducer, Repressilator, Synthetic Biology.

1 Introduction

Synchronization in a large population of interacting oscillatory elements is a remarkable phenomenon that has attracted attention in multiple research areas [1]. One of the first historical reports regarding this phenomenon was made by a Dutch physician named Engelbert Kaempfer after a journey to Siam during the second half of the 17th century. Kaempfer describes an event which happens if a swarm of fireflies occupies a tree: the insects “hide their lights all at once, and a moment after make it appear again with the utmost regularity and exactness" [2]. This mechanism of synchronous emission of light pulses by a population of fireflies has been studied later on by biologists [3] and mathematically through the study of simplified models of coupled oscillators [4].

A parallel biological phenomenon, but within the microscopic domain, has been investigated recently through the use of repressilator based synthetic gene regulatory networks of synchronized clocks coupled via quorum sensing [5][6][7]. These systems made of bacterial colonies are engineered to produce synchronised oscillations through a fluorescent protein reporter within a microfluidic device.

In both phenomena, composed by a group of interacting biological clocks and their environment, frequency synchronization is a logical approach since we are interested in states for which the temporal rates of change of the phases are equal, rather than the phases themselves.

One of the main models to study those kinds of systems that exhibit synchronization was first introduced by Winfree [8], and later refined by Kuramoto and others [9][10][11]. (A comprehensive review and perspectives of the field can be found in [12]). In the existing literature systems of fully coupled oscillators have mostly been considered due to its analytical tractability and simplicity . On the other hand, systems of spatially extended oscillators with local couplings have received less attention even though they are more realistic and frequently observed in nature [13][14][15][16][17].

Here we propose a system based on spatially distributed limit-cycle oscillators, which have been extensively used as a model of physical and biological clocks, based on a hybrid Rayleigh-van der Pol (RvdP) oscillator. The main idea is to capture the dynamics of synchronization fronts by taking the continuum limit as the number of coupled oscillators tends to infinity. This approach makes sense in many biological systems such as colonies of bacteria in which a network-like coupling is generated via a quorum sensing mechanism. Usually when the population density exceeds a certain threshold then the corresponding local levels of signal can induce an spatially extended synchronised response in gene expression throughout the entire population [18].

2 Travelling Wave Solution to a Spatially Extended Rayleigh-van der Pol Equation

We firstly consider the second order homogeneous van der Pol differential equation, describing an oscillator with non-linear damping,

u¨+ω02uε(1u2)u˙=0,\ddot{u}+\omega_{0}^{2}u-\varepsilon(1-u^{2})\dot{u}=0, (1)

where uu\in\mathbb{R} is the dynamical variable, ω0\omega_{0} is the linear frequency and ε>0\varepsilon>0 is a non-linear scalar parameter of the system. An important aspect of this equation is the relation between the negative damping proportional to u˙-\dot{u}, and the non-linear damping, u2u˙u^{2}\dot{u}, which leads to the existence of self-sustained limit cycle oscillations.

A simple way to understand this equation is given by applying a transformation into a rotating reference frame [19], via

u(t)=2(α(t)eiω0t+α(t)eiω0t),u(t)=\sqrt{2}\left(\alpha(t)e^{i\omega_{0}t}+\alpha^{*}(t)e^{-i\omega_{0}t}\right), (2)

with a complex amplitude that changes slowly as

α=2(u+iv),\alpha=\sqrt{2}(u+iv), (3)

where uu and v=u˙v=\dot{u} denote the position and the conjugate moment respectively. Within this rotating frame one can neglect the terms corresponding to fast oscillations in (2) if ε<<1\varepsilon<<1 holds. This allows us to write equation (2) as a generalised Stuart-Landau type equation

α˙(t)=ε2(1|α(t)|2)α(t),\dot{\alpha}(t)=\frac{\varepsilon}{2}\left(1-|\alpha(t)|^{2}\right)\alpha(t), (4)

which describes the oscillator dynamics. Looking for stationary states, i.e. when α˙(t)=0\dot{\alpha}(t)=0, this equation admits a limit cycle defined by |α(t)|2=1|\alpha(t)|^{2}=1.

In our case we introduce a modified version of equation (1), namely

u¨+ω02uε(1u2)u˙δu˙3=0,\ddot{u}+\omega_{0}^{2}u-\varepsilon(1-u^{2})\dot{u}-\delta\dot{u}^{3}=0, (5)

which is of the form u¨=f(u,u˙)\ddot{u}=f(u,\dot{u}).

First of all we can observe that equation (5) is a combination of the previous van der Pol equation (2) and the classic Rayleigh equation defined by

u¨+ω02uε(1u˙2)u˙=0.\ddot{u}+\omega_{0}^{2}u-\varepsilon(1-\dot{u}^{2})\dot{u}=0. (6)

In that sense the proposed equation (5) contains the cubic term proportional to u˙3\dot{u}^{3} which is contained in the Rayleigh equation (6) and not in the van der Pol equation (5). Concurrently it contains the u2u˙u^{2}\dot{u} term which the Rayleigh equation (6) doesn’t have, but the van der Pol equation (5) does. This hybrid Rayleigh-van der Pol equation has been studied in an approximate way within the context of bipedal motion modelling [20].

Here we analyse equation (5) starting from the case in which δ=1/ω02\delta=1/\omega_{0}^{2} and considering the spatial location of each oscillator explicitly. To begin with, we consider a discrete system assuming that each element uiu_{i} is coupled to its nearest neighbours ui1u_{i-1} and ui+1u_{i+1} via a coupling constant μ\mu (see figure 1). According to this scheme we obtain

u¨i=f(ui,u˙i)+μ(ui+1+ui1).\ddot{u}_{i}=f(u_{i},\dot{u}_{i})+\mu(u_{i+1}+u_{i-1}). (7)

Adding and subtracting the term 2ui2u_{i}

u¨i=f(ui,u˙i)+μ(ui+1+ui1+2ui2ui),\ddot{u}_{i}=f(u_{i},\dot{u}_{i})+\mu(u_{i+1}+u_{i-1}+2u_{i}-2u_{i}), (8)

we observe that the finite difference approximation of the second spatial derivative naturally appears.

Refer to caption
Figure 1: System diagram where each oscillator is coupled to its first neighbours via an elastic coupling constant.

In other words the term ui+1+ui12uiu_{i+1}+u_{i-1}-2u_{i} is the discretisation of the partial derivative

2ux2uxx,\frac{\partial^{2}u}{\partial x^{2}}\equiv u_{xx},

so the ODE becomes a PDE in the folling way,

uttf(u,ut)+2μu+μuxx,u_{tt}\cong f(u,u_{t})+2\mu u+\mu u_{xx}, (9)

and finally for one spatial dimension we obtain

utt=ω02u+ε(1u2)utδut3+2μu+μuxx,u_{tt}=-\omega_{0}^{2}u+\varepsilon(1-u^{2})u_{t}-\delta u_{t}^{3}+2\mu u+\mu u_{xx}, (10)

which can be rewritten as

utt=ω02u+ε(1u2δut2)ut+2μu+μuxx.u_{tt}=-\omega_{0}^{2}u+\varepsilon(1-u^{2}-\delta u_{t}^{2})u_{t}+2\mu u+\mu u_{xx}. (11)

Now we show that a travelling wave of the form
u=sin(ξ)u=sin(\xi), ξω0t+kx\xi\equiv\omega_{0}t+kx can be a solution of (11) for an appropriate choice of the parameter kk.

So we compute the time derivatives

ut=ω0cos(ξ),utt=ω02sin(ξ),u_{t}=\omega_{0}cos(\xi),u_{tt}=-\omega_{0}^{2}sin(\xi), (12)

and the spatial ones as,

ux=acos(ξ),uxx=k2sin(ξ).u_{x}=a\,cos(\xi),u_{xx}=-k^{2}sin(\xi). (13)

Then if we substitute in (11) we get

ω02sinξ=ω02sinξ+ε[1(sin2ξ+ω02cos2ξω02)]ω0cosξ+2μsinξ+μ(k2sinξ),-\omega_{0}^{2}sin\xi=-\omega_{0}^{2}sin\xi+\varepsilon\left[1-\left(sin^{2}\xi+\frac{\omega_{0}^{2}cos^{2}\xi}{\omega_{0}^{2}}\right)\right]\omega_{0}cos\xi+2\mu sin\xi+\mu(-k^{2}sin\xi), (14)

to which we obtain two solutions: the trivial one if μ=0\mu=0 and another one with wave number k=2k=\sqrt{2} ,

u=sin(ω0t+2x),u=sin(\omega_{0}t+\sqrt{2}x), (15)

which is a solution to our system independently of the value of ε\varepsilon.

Refer to caption
Figure 2: Analytic solution and orthogonal projections representing a travelling wave as in equation (15), with parameters k=2,ω0=1k=\sqrt{2},\,\,\,\omega_{0}=1.

Next we can analyse the case where we take into consideration a 3-dimensional version of the previous coupling scheme of the system. By using a lattice coupling instead of the 1-dimensional represented in figure (1), the equation (7) stands as

ui,j,k=f(ui,j,k,u˙i,j,k))+μ(ui+1+ui1)+μ(uj+1+uj1)+μ(uk+1+uk1),u_{i,j,k}=f(u_{i,j,k},\dot{u}_{i,j,k}))+\mu(u_{i+1}+u_{i-1})+\mu(u_{j+1}+u_{j-1})+\mu(u_{k+1}+u_{k-1}), (16)

as done previously in the 1-dimensional case we can add and subtract the 2μui,j,k2\mu u_{i,j,k} term which gives us

ui,j,k=f(ui,j,k,u˙i,j,k))+μ(ui+1+ui1+2ui2ui)+μ(uj+1+uj1+2uj2uj)+μ(uk+1+uk1+2uk2uk),u_{i,j,k}=f(u_{i,j,k},\dot{u}_{i,j,k}))+\mu(u_{i+1}+u_{i-1}+2u_{i}-2u_{i})+\mu(u_{j+1}+u_{j-1}+2u_{j}-2u_{j})\\ +\mu(u_{k+1}+u_{k-1}+2u_{k}-2u_{k}), (17)

so as seen previously in equation (9) the ODE becomes a PDE as

uttf(u,ut)+6μu+μ(uxx+uyy+uyy)f(u,ut)+6μu+μ2u,u_{tt}\cong f(u,u_{t})+6\mu u+\mu(u_{xx}+u_{yy}+u_{yy})\cong f(u,u_{t})+6\mu u+\mu\nabla^{2}u, (18)

being 2\nabla^{2} the Laplacian operator defined as 2=2x2+2y2+2z2\nabla^{2}=\frac{\partial^{2}}{\partial x^{2}}+\frac{\partial^{2}}{\partial y^{2}}+\frac{\partial^{2}}{\partial z^{2}} .

Similarly to equation (14), we find that a solution in the form u=sin(ξ),ξ=ω0t+kxu=sin(\xi),\xi=\omega_{0}t+kx in equation (18) leads to 6μsin(ξ)+μ(3k2sin(ξ))=06\mu sin(\xi)+\mu(-3k^{2}sin(\xi))=0, so we recover the exact same solutions μ=0\mu=0 and k=6/3=2k=\sqrt{6/3}=\sqrt{2} as in equation (15).

Moreover, we can also analyse the spatially homogeneous case in equation (11) by dropping the second spatial derivative in its last term, which leads to

utt=(ω022μ)u+ε(1u2δut2)ut.u_{tt}=-(\omega_{0}^{2}-2\mu)u+\varepsilon(1-u^{2}-\delta u_{t}^{2})u_{t}. (19)

If we propose again an analytic solution in the form of a travelling wave but without the spatial term by u=sin(Ωt)u=sin(\Omega t) we get

Ω2sin(Ωt)=(ω02μ)sin(Ωt)+ε(1sin2(Ωt)δΩ2cos(Ωt)),-\Omega^{2}sin(\Omega t)=-(\omega_{0}-2\mu)sin(\Omega t)+\varepsilon(1-sin^{2}(\Omega t)-\delta\Omega^{2}cos(\Omega t)), (20)

which corresponds to the case where δ=1/Ω2\delta=1/\Omega^{2} and Ω=ω02μ\Omega=\sqrt{\omega_{0}-2\mu} independently of the value of the parameter ε\varepsilon.

Finally, with the aim of finding an asymptotic frequency we linearize equation (5) and we take ε<<1\varepsilon<<1 and δ<<1\delta<<1 so we can neglect the dissipative term. Similarly, we can add to equation (5) a coupling between its elements via a Laplacian matrix L=[Lij:i,j=1,,n]L=[L_{ij}:i,j=1,...,n] for the graph 𝒢\mathcal{G}. In that sense, Lij=aijL_{ij}=a_{ij} if iji\neq j and Lii=j=1NaijL_{ii}=\sum_{j=1}^{N}a_{ij}. In this way we obtain the following equation

u¨=ω2u+μj=1Naijxj,i=1,,N,\ddot{u}=-\omega^{2}u+\mu\sum_{j=1}^{N}a_{ij}x_{j},\quad i=1,...,N, (21)

which can be rewritten as

u¨=(ω2μAi)ui,\ddot{u}=-\left(\omega^{2}-\mu A_{i}\right)u_{i}, (22)

where Ai=j=1NaijA_{i}=\sum_{j=1}^{N}a_{ij} for i=1,,Ni=1,...,N. In the case that we have aij=1a_{ij}=1, corresponding to a completely connected network of oscillators, the system can be written as

u¨=(ω2μ(N1))u.\ddot{u}=-\left(\omega^{2}-\mu(N-1)\right)u. (23)

Supposing a synchronised regime has been established, we can have a synchronization frequency determined by

Ωsync=ω2μ(N1).\Omega_{sync}=-\sqrt{\omega^{2}-\mu(N-1)}. (24)

Apart from this, this reduction suggests that the synchronised oscillatory behaviour happens for sufficiently small values of μ\mu and also when

ω2μ(N1)>0.\omega^{2}-\mu(N-1)>0. (25)

If this wasn’t the case we would have an exponentially growing behaviour in our system. Otherwise, we can observe that unless all aija_{ij} are equal we cannot extract these conclusions. So, to analyse the general case where not all aija_{ij} are equal, we could use for instance certain methods that introduce perturbations to the Fokker-Planck equation [21]. Nonetheless, such analysis is outside the scope of this paper.

In the next section we develop a numerical method based on a finite differences algorithm techniques in order to numerically check the analytic solution that we have found. Finally we interpret those results in the context of the synchronised quorum of genetic clocks experiments in synthetic biology [5].

3 Numerical Methods based on a Finite Difference Algorithm

In order to find a solution to our system we develop a numerical simulation based on a finite differences method [22]. According tho this we start with the generic PDE

utt=(c2u)+f,u_{tt}=\nabla\cdot(c^{2}\nabla u)+f, (26)

which is then transformed to lead to our equation (11). We begin by discretizing our temporal domains [0,T][0,T] and the spatial ones [0,L][0,L] so

0=t0<t1<t2<<tNt1<tNt=T0=t_{0}<t_{1}<t_{2}<\cdots<t_{N_{t}-1}<t_{N_{t}}=T (27)

and

0=x0<x1<x2<<xNx1<xNx=L.0=x_{0}<x_{1}<x_{2}<\cdots<x_{N_{x}-1}<x_{N_{x}}=L. (28)

In this manner we can introduce for a distributed set of points the spacing constants Δt\Delta t y Δx\Delta x within a mesh to get

xi=iΔx,i=0,,Nx,tn=nΔt,n=0,,Nt.x_{i}=i\Delta x,\quad i=0,\ldots,N_{x},\quad t_{n}=n\Delta t,\quad n=0,\ldots,N_{t}. (29)

Then the solution u(x,t)u(x,t) is obtained for the points in the mesh, were we introduce the notation uinu_{i}^{n}, which approximates the exact solution in the points (xi,tn)\left(x_{i},t_{n}\right) for i=0,,Nxi=0,\ldots,N_{x} y n=0,,Ntn=0,\ldots,N_{t}.

The next step is to change the derivatives by finite differences according to

2t2u(xi,tn)uin+12uin+uin1Δt2,\frac{\partial^{2}}{\partial t^{2}}u\left(x_{i},t_{n}\right)\approx\frac{u_{i}^{n+1}-2u_{i}^{n}+u_{i}^{n-1}}{\Delta t^{2}}, (30)
tu(xi,tn)uin+1uinΔt,\frac{\partial}{\partial t}u\left(x_{i},t_{n}\right)\approx\frac{u_{i}^{n+1}-u_{i}^{n}}{\Delta t}, (31)

and we introduce the operator notation for the finite differences as

[DtDtu]in=uin+12uin+uin1Δt2,\left[D_{t}D_{t}u\right]_{i}^{n}=\frac{u_{i}^{n+1}-2u_{i}^{n}+u_{i}^{n-1}}{\Delta t^{2}}, (32)
[Dtu]in=uin+1uinΔt2,\left[D_{t}u\right]_{i}^{n}=\frac{u_{i}^{n+1}-u_{i}^{n}}{\Delta t^{2}}, (33)

and for the spatial case

2x2u(xi,tn)ui+1n2uin+ui1nΔx2=[DxDxu]in.\frac{\partial^{2}}{\partial x^{2}}u\left(x_{i},t_{n}\right)\approx\frac{u_{i+1}^{n}-2u_{i}^{n}+u_{i-1}^{n}}{\Delta x^{2}}=\left[D_{x}D_{x}u\right]_{i}^{n}. (34)

We do the same with first order time derivatives obtaining the algebraic version of our PDE from equation (11) as

[DtDtu=(ω02+2μ)u+[1(u2+1ω02[Dtu]2)][Dtu]+μ[DxDxu]]in.\left[D_{t}D_{t}u=(-\omega_{0}^{2}+2\mu)u+\left[1-\left(u^{2}+\frac{1}{\omega_{0}^{2}}[D_{t}u]^{2}\right)\right][D_{t}u]+\mu[D_{x}D_{x}u]\right]_{i}^{n}. (35)

That equation can be interpreted as a moving stencil which involves the values in the four pointsfrom its neighbourhood uin+1,ui±1n,uin,u_{i}^{n+1},u_{i\pm 1}^{n},u_{i}^{n}, y uin1u_{i}^{n-1}, as we can see in the figure 3.

Refer to caption
Figure 3: Spatio-temporal mesh. The circles show the connected points in a finite difference equation.

In the same manner we have discretised the derivatives we need to discretize the initial conditions,

tu(xi,tn)ui1ui12Δt=[D2tu]i0,\frac{\partial}{\partial t}u\left(x_{i},t_{n}\right)\approx\frac{u_{i}^{1}-u_{i}^{-1}}{2\Delta t}=\left[D_{2t}u\right]_{i}^{0}, (36)

that can be written in algebraic notation as

[D2tu]in=0,n=0,\left[D_{2t}u\right]_{i}^{n}=0,\quad n=0, (37)

leading to

uin1=uin+1,i=0,,Nx,n=0,u_{i}^{n-1}=u_{i}^{n+1},\quad i=0,\dots,N_{x},n=0, (38)

and for the other initial condition

ui0=I(xi),i=0,,Nx.u_{i}^{0}=I\left(x_{i}\right),\quad i=0,\dots,N_{x}. (39)

Finally we propose a recursive algorithm where uin+1u_{i}^{n+1} equals to the sum of the following A,,JA,...,J terms as:

(Δt2(ω02+2μ)+ΔtΔt2μΔx2)AuinΔtB(uin)21ω02ΔtC(uin)3ΔtD(uin)ΔtE(uinuin1)1ω02ΔtF(uin1)33ω02ΔtG(uin1)(uin)33ω02ΔtH(uin+1)2(uin)+μΔt2Δx2I(ui+1n)μΔt2Δx2J(ui1n),\underbrace{\left(\Delta t^{2}(-\omega_{0}^{2}+2\mu)+\Delta t-\frac{\Delta t^{2}\mu}{\Delta x^{2}}\right)}_{A}u_{i}^{n}\underbrace{-\Delta t}_{B}(u_{i}^{n})^{2}\underbrace{-\frac{1}{\omega_{0}^{2}\Delta t}}_{C}(u_{i}^{n})^{3}\underbrace{-\Delta t}_{D}(u_{i}^{n})\underbrace{-\Delta t}_{E}(u_{i}^{n}u_{i}^{n-1})\\ \underbrace{-\frac{1}{\omega_{0}^{2}\Delta t}}_{F}(u_{i}^{n-1})^{3}\underbrace{-\frac{3}{\omega_{0}^{2}\Delta t}}_{G}(u_{i}^{n-1})(u_{i}^{n})^{3}\underbrace{-\frac{3}{\omega_{0}^{2}\Delta t}}_{H}(u_{i}^{n+1})^{2}(u_{i}^{n})\underbrace{+\frac{\mu\Delta t^{2}}{\Delta x^{2}}}_{I}(u_{i+1}^{n})\underbrace{-\frac{\mu\Delta t^{2}}{\Delta x^{2}}}_{J}(u_{i-1}^{n}), (40)

where A,,JA,...,J parameters are determined in our code (see section Supplementary Info.: Numerical Methods Code).

For the equation (40) we have a problem when n=0n=0 since the formula for ui1u_{i}^{1} involves ui1u_{i}^{-1}, which is not defined within the mesh. However, we can use the initial condition in (38) for n=0n=0 to eliminate ui1u_{i}^{-1}.

Finally our algorithm can be summarised as:

  1. 1.

    Calculate ui0=I(xi)u_{i}^{0}=I\left(x_{i}\right) for i=0,,Nxi=0,\ldots,N_{x}.

  2. 2.

    Calculate ui1u_{i}^{1} from (40) and take ui1=0u_{i}^{1}=0 in the boundary points i=0i=0 e i=Nxi=N_{x} for n=1,2,,N1n=1,2,\dots,N-1

  3. 3.

    For each time step n=1,2,,Nt1n=1,2,\dots,N_{t}-1 apply (40) to find uin+1u_{i}^{n+1} for i=1,,Nx1i=1,\ldots,N_{x}-1 and take uin+1=0u_{i}^{n+1}=0 for the boundary points i=0,i=Nxi=0,i=N_{x}.

This algorithm consists essentially in a moving stencil of finite difference elements through all the points in the mesh. Next we show the plotted results in Figure (4).

Refer to caption
Refer to caption
Figure 4: Numerical solution to equation (11) plotted along 5 temporal steps every Δt=0.2s\Delta t=0.2s (from light blue to purple), with parameters μ=2\mu=\sqrt{2}, ε=1\varepsilon=1, ω0=2\omega_{0}=2 and δ=1/4\delta=1/4. On top figure, we select a L=10L=10 spatial domain with no boundary conditions, and in the bottom we choose a L=22L=22 domain with periodic boundary conditions such u(x=0,t)=u(x=L,t)u(x=0,t)=u(x=L,t).

4 Interpretation of the Travelling Wave Solution

The synchronised quorum of genetic clocks synthetic system, which exhibits a range of oscillatory behaviours after a critical density of bacteria is reached, can be mainly framed by a network architecture that consists of an activator that activates its own repressor. Such motifs have been found to exist as regulatory modules in many genetic oscillators and circadian clock networks, studied both in vivo and by mathematical models [23].

Here we will focus on the compared analysis between our model, based on a system of spatially extended coupled oscillators, and some experimental realisations of the synchronised quorum system, such as [5][6]. These kinds of experimental designs make use of the previous repressilator-like architecture, additionally coupled to a system that synthesises a molecule known as an autoinducer (AI). This AI has the property that can diffuse through the cell membrane and allows cell-to-cell communication across the bacterial colony, in analogy to the Hooke-like coupling mechanism mediated by the parameter μ\mu in our model.

The general solution that we found in (15) corresponds to a travelling wave, which can be described as a periodic function in one-dimensional space that moves with constant phase-velocity determined by the dispersion relation vp=ω0/2v_{\mathrm{p}}=\omega_{0}/\sqrt{2}, where ω0\omega_{0} corresponds to the angular frequency parameter selected within equation (11). This fact has the implication that the wave travels undistorted since vp=vgv_{\mathrm{p}}=v_{\mathrm{g}}, being the group velocity defined by vgω/kv_{\mathrm{g}}\equiv\partial\omega/\partial k.

The solution which was obtained by imposing a coupling mechanism in between elements within the discretised version of the hybrid Rayleigh-van der Pol equation (5) and then taking the continuous limit, does not depend on the coupling constant μ\mu. This might seem a counter-intuitive property of the system, nonetheless it seems to be a consequence of the robustness of the limit cycle under perturbations. Moreover, it makes sense from an evolutionary perspective, where one expects that the speed of propagation of a certain signal does not depend on the detailed features of the coupling, thus providing a structural advantage. Furthermore, we can also notice that the solution in equation (11) is also independent of the parameter ε\varepsilon, meaning that the limit cycle is unconstrained by the damping mechanism.

In addition, we can observe that switching the unitary term in equation (11) by an extra parameter AA, such that

utt=ω02u+ε(Au2ut2ω02)ut+2μu+μuxx,u_{tt}=-\omega_{0}^{2}u+\varepsilon\left(A-u^{2}-\frac{u_{t}^{2}}{\omega_{0}^{2}}\right)u_{t}+2\mu u+\mu u_{xx}, (41)

also allows for a more general travelling wave solution in the form of u=Asin(ξ)u=Asin(\xi), ξω0t+2x\xi\equiv\omega_{0}t+\sqrt{2}x, besides the trivial solutions μ=0\mu=0 and A=0A=0. As a consequence, by selecting the parameters ω0\omega_{0} and AA within equation (41), one can recover a family of harmonic waves with varying angular frequencies and maximum amplitudes constrained to a fixed wavenumber.

Similarly, a wide range of spatio-temporal dynamics of the synchronised oscillators can be accomplished by varying some experimental parameters, such as the diffusion of the AI molecule, which turns out to modulate the amplitude and the period of the wave. Thus, for a high dissipation rate of AI both the amplitude and period increase. However, this result which is consistent with ‘degrade-and-fire’ oscillations observed previously in intracellular oscillators [24], is not recovered in our model since its amplitude is ultimately decoupled from the frequency.

Additionally, we can note that the experimental results show a transition from an unsynchronised to a synchronised regime as the strength of coupling increases, caused by an increase in cell density. This characteristic property is recovered in our model since the conditions for the emergence of the limit cycle are fulfilled once we take the continuum limit, allowing the number of oscillators to become infinite while the coupling remains local.

Finally, since the speed of wave front propagation in our system does not depend on the coupling parameter μ\mu, in contrast to the experimental case where vDv\sim\sqrt{D} (being DD related to the diffusive coefficient of AI), a subsequent work will focus on studying the synchronization of other diffusive-like coupling mechanisms, where synchronization is a consequence of the dissipation in the coupling along with cases where there is an interaction between the inherent damping in the system and the coupling.

5 Conclusions

In relation to the topics discussed in this paper, there is an issue regarding the emergence of the harmonic travelling wavefront solution that may be further clarified. The shape of the dispersion relation that we found, which turns out to be independent of the coupling proportionality constant between oscillators and also of the damping coefficient, may allude to an underlying robustness mechanism that needs to be interpreted. A possible way to do so would be in the context of biological soliton-like structures, defined as self-reinforcing solitary waves that travel at constant speed and without changing its shape [25]. One procedure to asses the existence of this kind of structures would be to check out if our solution does not obey the superposition principle, which implies that the travelling wave propagates unperturbed in the presence of other wave structures.

In general terms, whilst analytically solvable examples of coupled-oscillator models may be limited in each biological topic under study, the continuum-limit picture itself, i.e the one-oscillator extended to a collective ensemble preserving the local coupling in a self-consistent manner, may remain useful for qualitative understanding the spatio-temporal dynamics of signal or energy propagation within large groups of coupled oscillators.

Supplementary Info.: Numerical Methods Code

1#!/usr/bin/env python3
2# -*- coding: utf-8 -*-
3"""
4Title: FDM solution to RvdP equation
5(Rev. with vectorized & Dirichlet, Neumann boundary conditions)
6"""
7import sys
8import math
9import numpy as np
10import matplotlib.pyplot as plt
11
12###
13
14def solver(omega, dt, dx, mu, L, T, U_0, U_L, user_action=None,
15 version=’vectorized2’):
16 """"""
17 Nt = int(round(T/dt))
18 t = np.linspace(0, Nt*dt, Nt+1) # Mesh points in time
19
20 Nx = int(round(L/dx))
21 x = np.linspace(0, L, Nx+1) # Mesh points in space
22
23 # Make sure dx and dt are compatible with x and t
24 dx = x[1] - x[0]
25 dt = t[1] - t[0]
26
27 if U_0 is not None:
28 if isinstance(U_0, (float,int)) and U_0 == 0:
29 U_0 = lambda t: 0
30 # else: U_0(t) is a function
31 if U_L is not None:
32 if isinstance(U_L, (float,int)) and U_L == 0:
33 U_L = lambda t: 0
34 # else: U_L(t) is a function
35
36 A = -(omega**2)*(dt**2)+dt+2+2*(dt**2)*mu-2*mu*(dt**2)/(dx**2)
37 B = 2-dt
38 C = dt*(1/(omega**2)-1)
39 D = -dt*(1-3/(omega**2))
40 E = 3*dt/(omega**2)
41 F = -dt/(omega**2)
42 G = mu*(dt**2)/(dx**2)
43 H = mu*(dt**2)/(dx**2)
44
45 u = np.zeros(Nx+1) # Solution array at new time level
46 u_n = np.zeros(Nx+1) # Solution at 1 time level back
47 u_nm1 = np.zeros(Nx+1) # Solution at 2 time levels back
48
49 Ix = range(0, Nx+1)
50 It = range(0, Nt+1)
51
52 import time;
53 t0 = time.perf_counter() # Measure CPU time
54
55 # Solucion Analitica
56 def u_exact(x, t):
57 return math.sin(omega*t+math.sqrt(2)*x)
58
59 # Load initial condition into u_n
60 def I(x): return math.sin(math.sqrt(2)*x)
61 #I = lambda x: u_exact(x, 0)
62
63 # Load velocity initial condition
64 def V(x): return -0.5*omega*math.cos(math.sqrt(2)*x)
65
66 for i in Ix:
67 u_n[i] = I(x[i])
68
69 if user_action is not None:
70 user_action(u_n, x, t, 0)
71
72 # Special formula for first time step
73
74 for i in Ix[1:-1]:
75 u[i] = A*u_n[i]+B*(u_n[i]-2*dt*V(x[i]))+C*(u_n[i]**3)+D*(u_n[i]**2)*(u_n[i]-2*dt*V(x[i]))\
76 +E*(u_n[i])*((u_n[i]-2*dt*V(x[i]))**2)+\
77 F*((u_n[i]-2*dt*V(x[i]))**3)+G*u_n[i+1]+H*u_n[i-1]
78
79 i = Ix[0]
80 if U_0 is None:
81 # Set boundary values du/dn = 0
82 # x=0: i-1 -> i+1 since u[i-1]=u[i+1]
83 # x=L: i+1 -> i-1 since u[i+1]=u[i-1])
84 ip1 = i+1
85 im1 = ip1 # i-1 -> i+1
86 u[i] = A*u_n[i]+B*(u_n[i]-2*dt*V(x[i]))+C*(u_n[i]**3)+D*(u_n[i]**2)*(u_n[i]-2*dt*V(x[i]))\
87 +E*(u_n[i])*((u_n[i]-2*dt*V(x[i]))**2)+\
88 F*((u_n[i]-2*dt*V(x[i]))**3)+G*u_n[ip1]+H*u_n[im1]
89 else:
90 u[0] = U_0(dt)
91
92 i = Ix[-1]
93 if U_L is None:
94 im1 = i-1
95 ip1 = im1 # i+1 -> i-1
96 u[i] = A*u_n[i]+B*(u_n[i]-2*dt*V(x[i]))+C*(u_n[i]**3)+D*(u_n[i]**2)*(u_n[i]-2*dt*V(x[i]))\
97 +E*(u_n[i])*((u_n[i]-2*dt*V(x[i]))**2)+\
98 F*((u_n[i]-2*dt*V(x[i]))**3)+G*u_n[ip1]+H*u_n[im1]
99 else:
100 u[i] = U_L(dt)
101
102 if user_action is not None:
103 user_action(u, x, t, 1)
104
105 # Update data structures for next step
106 #u_nm1[:] = u_n; u_n[:] = u # safe, but slower
107 u_nm1, u_n, u = u_n, u, u_nm1
108
109 for n in It[1:-1]:
110 # Update all inner points at time t[n+1]
111 if version == ’scalar’:
112 for i in Ix[1:-1]:
113 u[i] = A*u_n[i]+B*u_nm1[i]+C*((u_n[i])**3)+D*((u_n[i])**2)*(u_nm1[i])+E*(u_n[i])*((u_nm1[i])**2)+\
114 F*((u_nm1[i])**3)+G*u_n[i+1]+H*u_n[i-1]
115
116 elif version == ’vectorized’: # (1:-1 slice style)
117 u[1:-1] = A*(u_n[1:-1])+B*(u_nm1[1:-1])+C*((u_n[1:-1])**3)+D*((u_n[1:-1])**2)*(u_nm1[1:-1])+E*(u_n[1:-1])*((u_nm1[1:-1])**2)+\
118 F*((u_nm1[1:-1])**3)+G*(u_n[2:])+H*(u_n[0:-2])
119
120 elif version == ’vectorized2’: # (1:Nx slice style)
121 u[1:Nx] = A*(u_n[1:Nx])+B*(u_nm1[1:Nx])+C*((u_n[1:Nx])**3)+D*((u_n[1:Nx])**2)*(u_nm1[1:Nx])+E*(u_n[1:Nx])*((u_nm1[1:Nx])**2)+\
122 F*((u_nm1[1:-1])**3)+G*(u_n[2:Nx+1])+H*(u_n[0:Nx-1])
123
124 # Insert boundary conditions
125 i = Ix[0]
126 if U_0 is None:
127 # Set boundary values
128 # x=0: i-1 -> i+1 since u[i-1]=u[i+1] when du/dn=0
129 # x=L: i+1 -> i-1 since u[i+1]=u[i-1] when du/dn=0
130 ip1 = i+1
131 im1 = ip1
132 u[i] = A*u_n[i]+B*u_nm1[i]+C*((u_n[i])**3)+D*((u_n[i])**2)*(u_nm1[i])+E*(u_n[i])*((u_nm1[i])**2)+\
133 F*((u_nm1[i])**3)+G*u_n[ip1]+H*u_n[im1]
134 else:
135 u[0] = U_0(t[n+1])
136
137 i = Ix[-1]
138 if U_L is None:
139 im1 = i-1
140 ip1 = im1
141 u[i] = A*u_n[i]+B*u_nm1[i]+C*((u_n[i])**3)+D*((u_n[i])**2)*(u_nm1[i])+E*(u_n[i])*((u_nm1[i])**2)+\
142 F*((u_nm1[i])**3)+G*u_n[ip1]+H*u_n[im1]
143 else:
144 u[i] = U_L(t[n+1])
145
146 if user_action is not None:
147 if user_action(u, x, t, n+1):
148 break
149
150 # Update data structures for next step
151 #u_nm1[:] = u_n; u_n[:] = u # safe, but slower
152 u_nm1, u_n, u = u_n, u, u_nm1
153
154 # Important to correct the mathematically wrong u=u_nm1 above
155 # before returning u
156 u = u_n
157 cpu_time = time.perf_counter() - t0
158 return u, x, t, cpu_time
159
160###
161
162def viz(
163 omega, dt, dx, mu, L, T, # PDE parameters
164 umin, umax, # Interval for u in plots
165 U_0, U_L,
166 animate=True, # Simulation with animation?
167 solver_function=solver # Function with numerical algorithm
168):
169 """Run solver and visualize u at each time level."""
170 import time, glob, os
171
172 class PlotMatplotlib:
173 def __call__(self, u, x, t, n):
174 """user_action function for solver."""
175 if n == 0:
176 plt.ion()
177 self.lines = plt.plot(x, u, ’r-’)
178 plt.xlabel(’x’)
179 plt.ylabel(’u’)
180 plt.axis([0, L, umin, umax])
181 plt.legend([’t=%f’ % t[n]], loc=’lower left’)
182 else:
183 self.lines[0].set_ydata(u)
184 plt.legend([’t=%f’ % t[n]], loc=’lower left’)
185 plt.draw()
186 time.sleep(2) if t[n] == 0 else time.sleep(0.2)
187 plt.savefig(’/Users/carlestapi/Desktop/vdp_%04d.png’ % n) # movie
188
189 plot_u = PlotMatplotlib()
190
191 # Clean up old movie frames
192 for filename in glob.glob(’tmp_*.png’):
193 os.remove(filename)
194
195 # Call solver and do the simulaton
196 user_action = plot_u if animate else None
197 u, x, t, cpu = solver_function(
198 omega, dt, dx, mu, L, T, U_0 , U_L, user_action)
199
200 return cpu
201
202###
203
204if __name__ == ’__main__’:
205viz(
206 omega, dt, dx, mu, L, T, # PDE parameters
207 umin, umax, # Interval for u in plots
208 animate=True, # Simulation with animation?
209 tool=’matplotlib’, # ’matplotlib’ or ’scitools’
210 solver_function=solver # Function with numerical algorithm
211)

References

  • [1] Arkady Pikovsky and Michael Rosenblum. Synchronization. Scholarpedia, 2(12):1459, 2007.
  • [2] Beatrice M Bodart Bailey. Kaempfer restor’d. Monumenta Nipponica, pages 1–33, 1988.
  • [3] John Buck and Elisabeth Buck. Mechanism of rhythmic synchronous flashing of fireflies. Science, 159(3821):1319–1327, 1968.
  • [4] Steven H Strogatz, Ian Stewart, et al. Coupled oscillators and biological synchronization. Scientific American, 269(6):102–109, 1993.
  • [5] Tal Danino, Octavio Mondragón-Palomino, Lev Tsimring, and Jeff Hasty. A synchronized quorum of genetic clocks. Nature, 463(7279):326–330, 2010.
  • [6] Arthur Prindle, Phillip Samayoa, Ivan Razinkov, Tal Danino, Lev S Tsimring, and Jeff Hasty. A sensing array of radically coupled genetic/biopixels/’. Nature, 481(7379):39–44, 2012.
  • [7] David McMillen, Nancy Kopell, Jeff Hasty, and JJ Collins. Synchronizing genetic relaxation oscillators by intercell signaling. Proceedings of the National Academy of Sciences, 99(2):679–684, 2002.
  • [8] Arthur T Winfree. Biological rhythms and the behavior of populations of coupled oscillators. Journal of theoretical biology, 16(1):15–42, 1967.
  • [9] Kuramoto. Y. kuramoto: Chemical oscillations, waves, and turbulence, springer-verlag, berlin and new york, 1984, viii+ 156 , 25×\times 17cm, 9,480 (springer series in synergetics, vol. 19). Springer Series in Synergetics, 40(10):817–818, 1985.
  • [10] Hyunsuk Hong, Moo-Young Choi, and Beom Jun Kim. Synchronization on small-world networks. Physical Review E, 65(2):026139, 2002.
  • [11] H Hong, Hyunggyu Park, and MY Choi. Collective synchronization in spatially extended systems of coupled oscillators with random frequencies. Physical Review E, 72(3):036217, 2005.
  • [12] Arkady Pikovsky and Michael Rosenblum. Dynamics of globally coupled oscillators: Progress and perspectives. Chaos: An Interdisciplinary Journal of Nonlinear Science, 25(9):097616, 2015.
  • [13] Hyunsuk Hong, Hyunggyu Park, and Moo Young Choi. Collective phase synchronization in locally coupled limit-cycle oscillators. Physical Review E, 70(4):045204, 2004.
  • [14] Hiroaki Daido. Lower critical dimension for populations of oscillators with randomly distributed frequencies: a renormalization-group analysis. Physical review letters, 61(2):231, 1988.
  • [15] M Bahiana and MSO Massunaga. Order in two-dimensional oscillator lattices. Physical Review E, 49(5):R3558, 1994.
  • [16] Toshio Aoyagi and Yoshiki Kuramoto. Frequency order and wave patterns of mutual entrainment in two-dimensional oscillator lattices. Physics Letters A, 155(6):410–414, 1991.
  • [17] Renato E Mirollo and Steven H Strogatz. Amplitude death in an array of limit-cycle oscillators. Journal of Statistical Physics, 60(1):245–262, 1990.
  • [18] Zhi Li and Satish K Nair. Quorum sensing: how bacteria can coordinate activity and synchronize their response to external signals? Protein Science, 21(10):1403–1417, 2012.
  • [19] Tony E Lee and HR Sadeghpour. Quantum synchronization of quantum van der pol oscillators with trapped ions. Physical review letters, 111(23):234101, 2013.
  • [20] Hermann Haken, JA Scott Kelso, and Heinz Bunz. A theoretical model of phase transitions in human hand movements. Biological cybernetics, 51(5):347–356, 1985.
  • [21] Alessio Franci, Marco Arieli Herrera-Valdez, Miguel Lara-Aparicio, and Pablo Padilla-Longoria. Synchronization, oscillator death, and frequency modulation in a class of biologically inspired coupled oscillators. Frontiers in Applied Mathematics and Statistics, 4:51, 2018.
  • [22] Hans Petter Langtangen. Computational partial differential equations: numerical methods and diffpack programming, volume 2. Springer Berlin, 1999.
  • [23] Jordi Garcia-Ojalvo, Michael B Elowitz, and Steven H Strogatz. Modeling a synthetic multicellular clock: repressilators coupled by quorum sensing. Proceedings of the National Academy of Sciences, 101(30):10955–10960, 2004.
  • [24] Jesse Stricker, Scott Cookson, Matthew R Bennett, William H Mather, Lev S Tsimring, and Jeff Hasty. A fast, robust and tunable synthetic gene oscillator. Nature, 456(7221):516–519, 2008.
  • [25] Hidekazu Kuwayama and Shuji Ishida. Biological soliton in multicellular movement. Scientific Reports, 3(1):1–5, 2013.