The software package PSPManalysis implements numerical procedures for the demographic, bifurcation and evolutionary analysis of physiologically structured population models (PSPMs), which is a class of models that consistently translates continuous-time models of individual life history to the population level. The software package consists of a computational back-end that is implemented in C. For reasons of computational efficiency the user-defined model of individual life history has to be implemented in C as well on the basis of a template provided in the package. After implementing the functions that determine the life history, such as development and mortality rates and fecundity, however, the package can be used for computations in either R or Matlab/Octave, for which interpreted language front-ends are included.

The software allows for four different types of analyses of PSPMs:
  • Demographic analysis: For linear PSPMs that do not account for density dependence or population feedback on the life history of individual organisms, the long-term population growth rate can be calculated. If the dynamics of such a linear PSPM would be simulated over time in the long run the population would grow exponentially with this population growth rate. The software also automatically calculates the sensitivity of this population growth rate with respect to all model parameters. Furthermore, the software calculates the stable population distribution, which characterises the composition of the population during its exponential growth phase, and the reproductive value of the individuals in this stable population state as a function of their individual state.
  • Equilibrium analysis: Equilibrium states can be computed for non-linear PSPMs that do account for density dependence or feedback of the population on the life history of individual organisms. These equilibrium states are computed as a function of a single model parameter, resulting in a parameterised curve of equilibrium states. Two types of special points can be detected in these equilibrium curves: limit points, also called saddle-node bifurcation points, and branching points or transcritical bifurcation points. Furthermore, the software allows for the computation of these two types of bifurcation points as a function of two model parameters.
  • Evolutionary analysis: During the computation of equilibrium curves of a non-linear PSPM the software also checks whether an evolutionary singular point as defined by Adaptive Dynamics or ESS-theory is encountered. These singular points are subsequently classified as either a convergent stable strategy (CSS), an evolutionary branching point (EBP) or an evolutionary repellor (ERP). The software can also compute the value of a detected evolutionary singular point as a function of a second model parameter and can, starting from a detected evolutionary singular point, compute the pairwise invasibility plot.
  • Evolutionary dynamics simulation: The dynamics of life history trait values, which in the model occur as parameters, can be simulated over evolutionary time scales, using the canonical equation for adaptive dynamics. These evolutionary dynamic simulations are based on the assumption that the system approaches an ecological equilibrium in between mutation events, which change the value of the life history trait. The evolutionary rate of change is proportional to the selection gradient in the ecological equilibrium and the population birth rate.

The basic methodology to numerically compute the equilibrium of a PSPM has been presented in Kirkilionis et al. (2001) and Diekmann et al. (2003), while DeRoos (2008) presented the modification of the latter approach to compute the demographic characteristics of a linear PSPM.

A manual is available with the package, in separate versions for the Matlab front-end and the R front-end.

Downloadable files

The software and User Guide are available from the project page on Bitbucket.

Alternatively, the development versions of both the manual and the source code can be downloaded from this page:

PSPManalysis Matlab user guide (pdf)
PSPManalysis R user guide (pdf)
PSPManalysis source code (zip)

Notice though that the above files are in continuous development. The master branch on Bitbucket is the latest stable version.

For more information you can also check out the slides of the
presentation I gave about this software package at the BES Symposium Demography Beyond the Population in 2015.



The development of this software has been made possible by financial support from the European Research Council under the European Union's Seventh Framework Programme (FP/2007-2013) / ERC Grant Agreement No. 322814


M.A. Kirkilionis, O. Diekmann, B. Lisser, M.Nool, A.M. de Roos & B.P. Sommeijer, 2001. Numerical continuation of equilibria of physiologically structured population models. I. Theory. Math. Models Meth. Appl. Sci. 11(6): 1101-1127.
O. Diekmann, M. Gyllenberg & J. A. J. Metz, 2003. Steady-State Analysis of Structured Population Models. Theoretical Population Biology 63 (4): 309–38.
A.M. de Roos, 2008. Demographic analysis of continuous-time life-history models. Ecol. Lett. 11(1): 1-15.