Chapter 1 Introduction
This software package implements numerical procedures for the analysis of physiologically structured population models (PSPMs). PSPMs represent a class of models that consistently translate continuous-time models of individual life history to the population level. The formulation of such models is discussed extensively in Metz and Diekmann (1986) and De Roos (1997) and is presented here only as far as needed for the use of the software.
The software allows for five different types of analyzes 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 or decline to zero 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 characterizes 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 parameterized curve of equilibrium states. Two types of special points can be detected on 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.
Analysis of evolutionary fixed points: During the computation of equilibrium curves of a non-linear PSPM the software also can check whether an evolutionary singular point as defined by Adaptive Dynamics or ESS-theory (Dieckmann 1997; Metz et al. 1996) 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) (Geritz et al. 1998). 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 (Dieckmann 1997; Metz et al. 1996).
Ecological dynamics simulation: The ecological dynamics of PSPM can be computed using the Escalator Boxcar Train (De Roos 1988; De Roos, Diekmann, and Metz 1992), a numerical method especially designed for numerical integration of the partial differential equations that are the mathematical representations of PSPMs. A separate software package, EBTtool, for computing the ecological dynamics of PSPMs has been available already for many years. The EBTtool consists of a graphical user interface including extensive plotting capabilities and a computational engine. A trimmed down version of this computational engine is included in the PSPManalysis package.
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 as explained in (Dieckmann and Law 1996). 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 software package consists of a collection of routines implemented in C with front-ends that allows the software to be used from R. The implementation of the elements of the PSPM under study can be programmed in either R or C using the template files provided with the package. Implementation of the user-defined ingredients of the PSPM to be analyzed in R is easier and to most users probably more familiar, but the user should be aware that implementing the user-defined ingredients of the PSPM in C will decrease computation times by roughly 2 orders of magnitude. Specifying the user-defined model ingredients in R hence comes at the price of computations being excruciatingly slow. In many cases the added difficulty of using C will therefore pay off.
Irrespective of whether the model is implemented in R or in C to use the package a recent version of the gcc or clang compiler has to be installed, such that R commands such as
system("R CMD SHLIB PSPMequi.c")
can be successfully executed by the various R functions in the package. On Linux systems it is quite standard that a gcc or clang compiler is installed by default. On Mac OS systems, these compilers can be installed by the following steps:
Launch the Terminal application, found in /Applications/Utilities/
Type the following command string:
xcode-select --install
Windows users will have to install the Windows toolset from cran.r-project.org. Getting modules compiled by other compilers to communicate with R is much more complicated and therefore not recommended. More details can be found on cran.r-project.org. To use the package on Windows systems it is recommended to follow these steps:
- Download RStudio from www.rstudio.com
- Download and install a base installation of R for Windows from cran.r-project.org
- Install and download the latest version of Rtools.exe from cran.r-project.org. This installs the program in C:\Rtools. During installation select the default installation. Also let the installer adjust the PATH value to include C:\Rtools\bin and C:\Rtools\gcc-X.X.X\bin
- (This step is not needed when using R studio) Also add C:\Program Files\R\R-3.X.X\bin to the PATH variable
The basic methodology to numerically compute the equilibrium of a PSPM has been presented in Kirkilionis et al. (2001) and Diekmann, Gyllenberg, and Metz (2003), while De Roos (2008) presented the modification of the latter approach to compute the demographic characteristics of a linear PSPM. For the interested reader this manual provides a brief sketch of this computational approach in chapter 10.