Félix P. Hartmann, Cyrille K. Rathgeber, Meriem Fournier, Bruno Moulia
Unlike animals, whose all organs and limbs are formed in their almost final shape after completion of embryogenesis, trees develop new shoots and roots throughout their lifespan. They also gradually add new layers of wood to their trunk and branches to ensure mechanical support and water and nutrient transfer. This ability compensates for their immobility by allowing them to plastically adapt to changing environment. For instance, roots grow preferentially towards an increasing moisture gradient and shoots develop so as to maximize leaf light exposure, in a context of competition with neighboring trees for water and light. This plastic growth behavior, however, requires that each developing cell is provided with information about its relative position within the tree, as well as the overall environment of the tree.
Regarding wood formation in the stem, which is strongly influenced by climatic conditions, numerous signals (hormones, peptides, sugar...) have been shown to play a role in the control of the cellular processes involved. However, no theoretical framework has been yet established to describe how all these signals act together to determine the spatial and temporal patterns of cell differentiation into xylem (wood) cells. We develop reaction-diffusion models to adress some essential questions: What is the minimal number of signals required to efficiently reproduce these patterns? Is diffusion sufficient or is some active transport needed to carry the signals towards their targets?...
The computational difficulty here is that the medium in which signals move undergoes deformation through cell expansion and division. Thus the partial differential equations (PDEs) have to be solved on a non-static domain. To bypass this problem, we use a recently developed analytic framework that allows the consideration of domain growth by mapping the growing Eulerian domain to a static Lagrangian domain. The PDEs can then be numerically solved on that static domain with the usual finite difference method. In addition, because of a strongly non-uniform growth, adaptive mesh refinement has to be applied.
All the code is written in Python, and the implementation of the finite difference method relies heavily on NumPy arrays.