Field-Cell Interaction

Open in Morpheus

Persistent Identifier

Use this permanent link to cite or share this Morpheus model:


Cells' consumption of cytokine concentration

Introduction

This example serves to demonstrate the implementation of cells consuming a substrate field, e.g. cytokine. Please also see the built-in docu at MorpheuML/Global/Field and Global/System/DiffEqn. This example was motivated by Victoria Ponce in the Morpheus user forum.

Description

The logic is like this: In the PDE that describes the reaction and diffusion of the substrate, you include a negative term (i.e. for decrease) that is nonzero where there is a cell and zero where there is no cell. Steps to reproduce:

  1. Define a Field in Global, e.g. called cytokine with an inital concentration $1.0$ and Diffusion.
  2. Define a System with a differential equation with a negative term, e.g. -r*cell*cytokine where r is the consumption rate of cells. (Here it is constant, but could also be a cell property to specify that each cell has its own consumption rate.)
  3. Define a Constant called cell which is $0$ everywhere, except for where there is a cell. To do this, specify cell in Global and set it to $0$. But in CellType , the value of the constant is overwritten with a value of $1$.

In this way, the term -r*cell*cytokine is negative ‘within’ cells and zero outside. Therefore, the cytokine concentration is only decreased at locations with cells.

Movie visualising the consumption of cytokine only where the cell is: The panel shows the area covered by the cell (left) and the cytokine concentration over time (right).

Model

Get this model via:

  • Morpheus-Link or
  •  Download: field_cell_interaction.xml
  • XML Preview

    <?xml version='1.0' encoding='UTF-8'?>
    <MorpheusModel version="4">
        <Description>
            <Details>This example serves to demonstrate the implementation of cells consuming a substrate field e.g. cytokine.
    
    The logic is like this: In the PDE that describes the reaction and diffusion of the substrate, you include a negative term (i.e. for decrease) that is nonzero where there is a cell and zero where there is no cell.
    
    Steps to reproduce: 
    1. Define a Field in Global/ e.g. called "cytokine" with an inital concentration 1.0 and diffusion
    2. Define a System with a differential equation with a negative term, e.g. "-r*cell*cytokine" where "r" is the consumption rate of cells. (Here it is constant, but could also be a cell property to specify that each cell has its own consumption rate)
    3. Define a Constant called "cell" which is "0" everywhere, except for where there is a cell. 
        To do this specify "cell" in Global and set it to "0".
        But in CellType , the value of the constant is overwritten with a value of "1".
    
    In this way, the term "-r*cell*cytokine" is negative 'within' cells and zero outside. Therefore, the cytokine concentration is only decreased at locations with cells.
    
    Date: March 4, 2022 
    	Author: walter@deback.net 
    	Contributor: ferras_mahmoud.el-hendi@tu-dresden.de 
    	Software: Morpheus (open-source), download from https://morpheus.gitlab.io 
    </Details>
            <Title>Cells' Cytokine Consumption</Title>
        </Description>
        <Space>
            <Lattice class="square">
                <Neighborhood>
                    <Order>2</Order>
                </Neighborhood>
                <Size symbol="size" value="200, 200, 0"/>
            </Lattice>
            <SpaceSymbol symbol="space"/>
        </Space>
        <Time>
            <StartTime value="0"/>
            <StopTime value="100"/>
            <TimeSymbol symbol="time"/>
        </Time>
        <CellTypes>
            <CellType class="biological" name="cells">
                <Constant symbol="cell" value="1"/>
            </CellType>
        </CellTypes>
        <CellPopulations>
            <Population type="cells" size="1">
                <InitCellObjects mode="distance">
                    <Arrangement displacements="0,0,0" repetitions="1,1,0">
                        <Sphere radius="25.0" center="size/2"/>
                    </Arrangement>
                </InitCellObjects>
            </Population>
        </CellPopulations>
        <Global>
            <Constant symbol="cell" value="0.0" name="Presence of cell"/>
            <Field symbol="cytokine" value="1.0" name="Cytokine concentration">
                <Diffusion rate="1"/>
            </Field>
            <System solver="Dormand-Prince [adaptive, O(5)]">
                <Constant symbol="r" value="0.05" name="consumption rate"/>
                <DiffEqn symbol-ref="cytokine">
                    <Expression>-r*cell*cytokine</Expression>
                </DiffEqn>
            </System>
        </Global>
        <Analysis>
            <Gnuplotter time-step="1">
                <Plot>
                    <Cells min="0" value="cell" max="1"/>
                </Plot>
                <Plot>
                    <Field symbol-ref="cytokine" min="0" max="1">
                        <ColorMap>
                            <Color color="red" value="1"/>
                            <Color color="white" value="0"/>
                        </ColorMap>
                    </Field>
                </Plot>
                <Terminal name="png"/>
            </Gnuplotter>
            <ModelGraph format="dot" include-tags="#untagged" reduced="false"/>
        </Analysis>
    </MorpheusModel>
    
    

    Model Graph.
    Model Graph.

    Downloads

    Files associated with this model:

    Next