Toolbox: alga

Nutrient-limited growth of algae in reactors: more reserves, 1 structure, V1-morph

alga

Demo that runs:

This implementation accounts for:
effects of ammonia and phosphate concentrations in the feed (X_Nr, X_Pr), throughput rates (h) and temperature (T).
These environmental parameters are taken to be constant in the present implementation, but it is not difficult to let them vary in time. Limitations by light, carbon and other can be implemented as well. Two other nutrients can be substituted for ammonia and phosphate.

Organic compounds (that make up the alga):
V = structure, EN = N-reserve, EP = P-reserve,
Mineral compounds:
C = carbon dioxide, H = water, O = dioxygen,
N = ammonia, P = phosphate, DN = excreted N-reserve, DP = excreted P-reserve

Uptake is proportional to surface area, which is taken to be proportional to the structural volume: V1-morph. This removes the distinction between the individual and the population level.

The simplification k_J = k_M*(1 - kap)/kap is implemented, which makes this energy-structured model also size-structured
The alga divides when the structural mass exceeds a threshold value

Example of use after (optionally) editing file "pars.m": alga


pars

Set the parameters by editing file "pars.m" in domain alga.

shbatch

Batch reactor (h_X = h_V = h = 0); Excreted reserves can NOT be assimilated (see shbatch1). Set initial conditions by editing file "shbatch.m". See pages 168 ff of the DEB-book.
Four figures are shown of variables against time

fig 1
Ammonia (blue, drawn) and excreted N-reserve (blue, stippled) in Molar

fig 2
Phosphate (red, drawn) and excreted P-reserve (red, stippled) in Molar

fig 3
Structure (green, drawn) in Molar

fig 4
N-reserve density (blue, drawn) and P-reserve density (red, drawn) in mol/mol

Example of use after editing "pars.m": clear; pars; shbatch in Octave, or clear all; pars; shbatch in Matlab.
The command clear; pars; shbatch (4) will only plot fig 4.


shbatch1

Batch reactor (h_X = h_V = h = 0); Excreted reserves can be assimilated (see shbatch). Set initial conditions by editing file "shbatch1.m". See pages 168 ff of the DEB-book.
Four figures are shown of variables against time

fig 1
Ammonia (blue, drawn) and excreted N-reserve (blue, stippled) in Molar. Most parameter settings result in a practical absence of excreted reserves.

fig 2
Phosphate (red, drawn) and excreted P-reserve (red, stippled) in Molar Most parameter settings result in a practical absence of excreted reserves.

fig 3
Structure (green, drawn) in Molar. Note the difference with shbatch1; the structure does not decline after reaching a ceiling.

fig 4
N-reserve density (blue, drawn) and P-reserve density (red, drawn) in mol/mol

Example of use after editing "pars.m": clear; pars; shbatch1 in Octave, or clear all; pars; shbatch1 in Matlab.
The command clear; pars; shbatch1 (4) will only plot fig 4.


shchem

Chemostat reactor (h_X = h_V = h) in equilibrium; Excreted reserves can NOT be assimilated (see shchem1). See pages 171 ff of the DEB-book.
Six figures are shown of variables against throughput rate

fig 1
Ammonia (blue, drawn) and excreted N-reserve (blue, stippled) in Molar

fig 2
Phosphate (red, drawn) and excreted P-reserve (red, stippled) in Molar

fig 3
Total ammonia (blue, drawn) and phosphate (red, drawn) in Molar

fig 4
Structure (green, drawn) in Molar

fig 5
N-reserve density (blue, drawn) and P-reserve density (red, drawn) in mol/mol

fig 6
N/C ratio (blue, drawn) and P/C ratio (red, drawn) in biomass (mol/mol). Usually looks similar to fig 5, because N and P in structure contribute little.

Example of use after editing "pars.m": clear; pars; shchemclear; pars; shbatch1 in Octave, or clear all; pars; shbatch1 in Matlab.
The command clear; pars; shchem (5) will only plot fig 5.


shchem1

Chemostat reactor (h_X = h_V = h); Excreted reserves can be assimilated (see shchem). See pages 171 ff of the DEB-book.
Six figures are shown of variables against throughput rate

fig 1
Ammonia (blue, drawn) and excreted N-reserve (blue, stippled) in Molar; Note that there is hardly any excreted N-reserve at low throughput rates (compare with shchem)

fig 2
Phosphate (red, drawn) and excreted P-reserve (red, stippled) in Molar Note that there is hardly any excreted P-reserve at low throughput rates (compare with shchem)

fig 3
Total ammonia (blue, drawn) and phosphate (red, drawn) in Molar

fig 4
Structure (green, drawn) in Molar; Note the difference with shchem; the biomass is still high at small throughput rates.

fig 5
N-reserve density (blue, drawn) and P-reserve density (red, drawn) in mol/mol

fig 6
N/C ratio (blue, drawn) and P/C ratio (red, drawn) in biomass (mol/mol).
Usually looks similar to fig 5, because N and P in structure contribute little.

Example of use after editing "pars.m": clear; pars; shchem in Octave, or clear all; pars; shchem in Matlab.
The command clear; pars; shchem (5) will only plot fig 5.


shcycle

Reserve dynamics and algal growth at cycling nutrient concentrations; concentrations of nutrients N and P follow a parameterized cycling function of time (which is described in script-file "pars_cycle"). Amplitude, period and phase-shift between the nutrients can be specified. A vector of reserve turnover rates can be specified; large turnover rates imply small reserve capacities. Notice that the growth rate can be largest for the highest reserve capacity, if situations where both required nutrients are present are rare. Parameters are set in script-file "pars_cycle".

fig 1
Nutrient N (blue) and P (red) as functions of time.

fig 2
Reserve densities for nutrient N (blue) and P (red) as functions of time for each specified reserve turnover rate.

fig 3
The logarithm of structure as a function of time for each specified reserve turnover rate. The structure for the first reserve turnover rate is plotted in blue, for the last value in red, the rest in green.

Example of use after editing "pars_cycle.m": clear; shcycle in Octave, or clear all; shcycle in Matlab.
The command clear; shcycle (3) will only plot fig 3.


shmcn, shmcn_lm

Reserve dynamics, excretion of C- and N-reserve and algal growth for given light, DIC and DIN trajectories in the environment as multiples of their half-saturation values. Natural splines are used as forcing functions; parameters are set in function shmcn. The function shmcn_lm also shows the leak and the Morel model, which has two maximum assimilation parameters for each nutrient.

fig 1
DIC (red), DIN (blue) and light (green) as functions of time.

fig 2
Reserve densities for carbohydrate (red) and nitrogen (blue) as functions of time.

fig 3
Excretion rate of carbohydrates (red), and nitrogen (blue) as functions of time.

fig 4
Specific growth rate as function of time.

Example of use after editing "shmcn.m": clear; shmcn in Octave, or clear all; shmcn in Matlab.
The command clear; shmcn(3) will only plot fig 3.


clim

The function specifies a model for algal biomass development in a batch culture, where algae are limited by carbon dioxide. Carbon dioxide exchanges with bicarbonate, which is not directly available to the algae. See cnplim for simultaneous limitation by carbon dioixide, nitrate and phosphate.

Inputs :

Output: vector with optical densities of the batch culture.

The scriptfile mydata_clim sets data and the parameters and shows how the biomass develops in the batch culture.


cnplim

The function specifies a model for algal biomass development in a batch culture, where algae are limited by carbon dioxide, nitrate as well as phosphate. Carbon dioxide exchanges with bicarbonate, which is not directly available to the algae.

Inputs :

Routine shcnplim shows how the biomass develops; the data and the parameters are set in mydata_cnplim.


sgr1, sgr2, sgr3, sgr4

The functions obtain the specific growth rate, the reserve and structure fluxes for maintenance and the rejected reserve fluxes for 1, 2, 3 and 4 reserve systems. All reserves are supplementary for maintenance as well as for growth, while each reserve and structure are substitutable for maintenance. The preference for the use of structure relative to that of reserve for maintenance can be set with a (non-negative) preference parameter. The value zero gives absolute priority to reserve, which gives a switch at specific growth rate 0. All functions sgr have the same structure, and the input/output is presented for sgri where i takes values 1, 2, 3 of 4.

Inputs:

  1. (i,1)-matrix with reserve density mE
  2. (i,1)-matrix with reserve turnover rate kE
  3. (i,1)-matrix with specific maintenance costs from reserve jEM
  4. (i,1)-matrix with costs for structure yEV
  5. optional (i,1)-matrix with specific maintenance costs from structure jVM; default is jEM/ yEV
  6. optional scalar or (i,1)-matrix with preference parameter alpha; default is 0

Outputs:

  1. scalar with specific growth rate r
  2. (i,1)-matrix with reserve flux for maintenance jEM
  3. (i,1)-matrix with structure flux for maintenance jVM
  4. (i,1)-matrix with rejected reserve flux jER
  5. scalar with info on failure (0) or success (1) of numerical procedure

An example of use is given in mydata_sgr


Back to the DEBtool page