# SCOUT content flow model

This model defines a structure and set of constraints which can be solved to track the flow of different "content types" through a material flow system. There are many ways that such a model could be formulated (within the constraints set by the principle of conservation of mass); this is one particular way, which has some convenient properties:

- It can describe the main types of process that occur (involving mixing/assembly, conversion, and disassembly).
- It can do something sensible if more specific information about processes is not available, making it easy to get started.
- The constraints that are produced are well-posed, giving a unique solution.

Of course, it also has limitations, such as:
- To ensure the constraints can always be solved, the process characteristics must be defined from upstream to downstream.

## Conceptual structure of a process

SCOUT stands for Source, Crossover, OUTput -- these are the three types of parameter that are used to describe how different types of material pass through the process.

![Process structure and coefficients](scout_process.png)

- The crossover matrix $\beta^{m m'}$ describes how content type $m$ is transformed into content type $m'$. If there is no transformation, this is an identity matrix.
- The source terms $\Delta^m$$ describe how much new content of each type $m$ is created (or destroyed) within the process. For most processes theses terms will be zero; at the beginning of the material flow model there must be some source terms to define a starting content of certain flows, otherwise the solution will simply be zero content everywhere.
- The output coefficients $\alpha_k^m$ describe how much of the content type $m$ is sent to output $k$. For most processes, these coefficients are set in proportion to the output mass flows, so that all outputs share the same content.

## Basic constraint equation

$$
f_i c_i^m = \alpha_i^m \left( \sum_{m'} \beta_{\mathrm{src}(i)}^{m'm} \sum{k} f_k c_k^{m'} + \Delta_{\mathrm{src}(i)}^m \right)
$$

TODO: details

## Ensuring conservation of mass

TODO: explain the conditions that $\alpha$, $\beta$ must meet to keep conservation of mass.

## Adjustments for imports and exports

TODO: explain how imports and exports are accommodated (they are assumed to have the same content as the main flows).

## Higher-level interface to defining these coefficients

This model is quite flexible, but it has too many free parameters to be convenient as a means to specify the intended flow of different material types through the system.

We can describe three higher-level types of process behaviour that can be translated into specific values of $\alpha$, $\beta$ and $\Delta$ for each process:
- Output content
- Output allocation
- Content transformation

TODO: describe their definitions
