pheromone_dispersion package

The main feature of the package pheromone_dispersion is to model the propagation of the pheromone concentration \(c(x,y,t)\) in the atmosphere. To do so, the submodule convection_diffusion_2D contains the pheromone propagation model that is the 2D reaction-convection-diffusion PDE model:

\[\frac{\partial c}{\partial t}-\nabla\cdot(\mathbf{K}\nabla c)+\nabla\cdot(\vec{u}c)+\tau_{loss}c=s ~\forall (x,y)\in\Omega~\forall t\in]0;T]\]

with the initial and boundary conditions:

  • a null initial condition \(c(x,y,t=0)=0~\forall (x,y)\in\Omega\),

  • a null diffusive flux \(\mathbf{K}\nabla c\cdot\vec{n}=0~\forall (x,y)\in\partial\Omega\),

  • null convective influx \(\vec{u}c\cdot\vec{n}=0~\forall (x,y)\in\partial\Omega\cap \{(x,y)|\vec{u}(x,y,t)\cdot\vec{n}<0\}~\forall t\in]0;T]\) with \(\vec{n}\) the outgoing normal vector,

and its solvers.

To implement the solvers, the package includes:

  • a submodule reaction_operator that contains the operator of the reaction term \(R:c\mapsto \tau_{loss}c~\forall (x,y)\in\Omega~\forall t\in]0;T]\);

  • a submodule advection_operator that contains the operator of the advection term \(A:c\mapsto \nabla\cdot(\vec{u}c)~\forall (x,y)\in\Omega~\forall t\in]0;T]\) with \(\vec{u}c\cdot\vec{n}=0~\forall (x,y)\in\partial\Omega\cap \{(x,y)|\vec{u}(x,y,t)\cdot\vec{n}<0\}~\forall t\in]0;T]\);

  • a submodule diffusion_operator that contains the operator of the diffusion term \(D:c\mapsto -\nabla\cdot(\mathbf{K}\nabla c)~\forall (x,y)\in\Omega~\forall t\in]0;T]\) with \(\mathbf{K}\nabla c\cdot\vec{n}=0~\forall (x,y)\in\partial\Omega\);

  • a submodule identity_operator that contains an identity operator \(Id:c\mapsto c~\forall (x,y)\in\Omega~\forall t\in]0;T]\).

This requires also that this package includes the following submodules to build and contain the parameters of the PDE model:

  • a submodule deposition_coeff that contains scripts to generate loss coefficient \(\tau_{loss}(x,y)\) from land occupation data;

  • a submodule velocity that contains the wind velocity field \(\vec{u}(x,y,t)\) and scripts to generate it from meteorological data;

  • a submodule diffusion_tensor that contains the diffusion tensor \(\mathbf{K}(x,y,t)\);

  • a submodule source_term that contains source term \(s(x,y,t)\), i.e. the quantity of pheromone emitted.

This package contains also the submodule geom that contains the geometry of the domain \(\Omega\), the mesh and the time window \([0;T]\).