Version 1.2 (June 2013)
 All Classes Namespaces Files Functions Variables Pages
Public Member Functions | Protected Attributes | List of all members
simulator.geometry.boundaryConditions.BoundaryBulk Class Reference

Defines the bulk boundary: the concentration on the boundary is fixed by a dynamical bulk, the agents crossing this line die. More...

Inheritance diagram for simulator.geometry.boundaryConditions.BoundaryBulk:
simulator.geometry.boundaryConditions.AllBC

Public Member Functions

 BoundaryBulk ()
 Declare a variable concentration boundary and set hasBulk to true to note this is the case. More...
 
void init (Simulator aSim, Domain aDomain, XMLParser aBoundCondMarkUp)
 Initialises the boundary from information contained in the simulation protocol file. In this case also links the connected bulk to this boundary. More...
 
void refreshBoundary (SoluteGrid aSoluteGrid)
 Solver for the variable concentration boundary condition. Initialises the course along the shape of the boundary. More...
 
void updateBulk (SoluteGrid[] allSG, SoluteGrid[] allRG, double timeStep)
 Updates the levels in the bulk. Allows reaction or flux-based bulk treatment. More...
 
Bulk getBulk ()
 Return the bulk that is connected to this boundary. More...
 
double getBulkValue (int soluteIndex)
 For a specified solute, returns the level of that solute in the bulk. More...
 
ContinuousVector lookAt (ContinuousVector cc)
 Method used by another which gets the indexed grid position of a continuous vector. Some boundary conditions need the input corrected, some don't and just return the input. More...
 
void setBoundary (LocatedGroup aGroup)
 Change the status of a specified LocatedGroup to note that it has been identified as being outside this boundary. More...
 
void applyBoundary (LocatedAgent anAgent, ContinuousVector target)
 Kills any agents that are crossing this boundary as they are leaving the simulated system. More...
 
String toString ()
 Returns a string noting the side of the domain that this boundary condition is on. More...
 
- Public Member Functions inherited from simulator.geometry.boundaryConditions.AllBC
void readGeometry (XMLParser geometryRoot, Domain aDomain)
 Used during the initialisation, load the class describing the shape of the boundary defined in the parent class. More...
 
boolean isOutside (ContinuousVector cc)
 Determines if a point is outside the boundary. More...
 
String getSideName ()
 Return the name of the side of the domain which this boundary is on. More...
 
void refreshDiffBoundary (SoluteGrid relDiff, SoluteGrid aSolutegrid)
 Method used if a boundary modifies the local diffusivity constant. Most of boundaries do not modify it. More...
 
boolean isCyclic ()
 Determine if this boundary is cyclic. More...
 
boolean isSupport ()
 Determine whether this boundary is the supporting structure (substratum) More...
 
boolean isActive ()
 Determine if this boundary is active for solute. More...
 
boolean hasBulk ()
 Determine if this boundary is attached to a bulk. More...
 
void updateBulk (SoluteGrid[] soluteGrid, SoluteGrid[] reacGrid, double timeStep)
 Updates the levels in the bulk. Allows reaction or flux-based bulk treatment. More...
 
boolean hasAgar ()
 Determine if the boundary condition is modelling agar. More...
 
void updateAgar (SoluteGrid[] soluteGrid, SoluteGrid[] reactionGrid, double timeStep)
 If modelling an agar plate boundary, this method updates the boundary. More...
 
boolean isOutside (DiscreteVector dc, SpatialGrid aSpatialGrid)
 Determines if a discrete vector location is outside the boundary. More...
 
ContinuousVector getIntersection (ContinuousVector position, ContinuousVector vector)
 Calculate the intersection between the boundary and a line (defined by a position and a vector) More...
 
ContinuousVector getOrthoProj (ContinuousVector cc)
 Calculate the orthogonal projection of a location on the boundary. More...
 
Bulk getBulk ()
 Return the bulk that is connected to this boundary. More...
 
IsShape getShape ()
 Returns the Shape object that represents this boundary. More...
 
String getSide ()
 Return the name of the side of the domain which this boundary is on. More...
 
double getDistance (ContinuousVector cc)
 Returns the distance from a point to the boundary. More...
 
double getBulkValue (int soluteIndex)
 For a specified solute, returns the level of that solute in the bulk. More...
 

Protected Attributes

Bulk _connectedBulk
 
- Protected Attributes inherited from simulator.geometry.boundaryConditions.AllBC
String _mySide
 
IsShape _myShape
 
boolean isCyclic = false
 
boolean _isSupport = false
 
boolean hasBulk = false
 
boolean activeForSolute = true
 
boolean hasAgar = false
 

Additional Inherited Members

- Static Public Member Functions inherited from simulator.geometry.boundaryConditions.AllBC
static AllBC staticBuilder (XMLParser root, Simulator aSim, Domain aDomain)
 Generic constructor called to dynamically instantiate a child class object. More...
 
- Static Protected Attributes inherited from simulator.geometry.boundaryConditions.AllBC
static DiscreteVector dcIn = new DiscreteVector()
 
static DiscreteVector dcOut = new DiscreteVector()
 

Detailed Description

Defines the bulk boundary: the concentration on the boundary is fixed by a dynamical bulk, the agents crossing this line die.

Defines the bulk boundary: the concentration on the boundary is fixed by a dynamical bulk, the agents crossing this line die. This boundary simulates the connection to a larger bulk liquid subject to a dilution process, as would be typical for a reactor. Behaviour for agents does not differ from the constant concentration boundary case (and so within the computational domain the boundary condition is identical), but solute dynamics in the bulk compartment require an additional computational step. In this step, ordinary differential equations describing the reactions occurring in the biofilm and the hydraulic processes affecting the bulk liquid are solved in order to determine the bulk concentration at the next time-step.

Author
Laurent Lardon (lardo.nosp@m.nl@s.nosp@m.upagr.nosp@m.o.in.nosp@m.ra.fr), INRA, France
Brian Merkey (brim@.nosp@m.env..nosp@m.dtu.d.nosp@m.k, bvm@n.nosp@m.orth.nosp@m.weste.nosp@m.rn.e.nosp@m.du), Department of Engineering Sciences and Applied Mathematics, Northwestern University (USA)
Sónia Martins (SCM80.nosp@m.8@bh.nosp@m.am.ac.nosp@m..uk), Centre for Systems Biology, University of Birmingham (UK)

Constructor & Destructor Documentation

simulator.geometry.boundaryConditions.BoundaryBulk.BoundaryBulk ( )

Declare a variable concentration boundary and set hasBulk to true to note this is the case.

Declare a variable concentration boundary and set hasBulk to true to note this is the case

Member Function Documentation

void simulator.geometry.boundaryConditions.BoundaryBulk.applyBoundary ( LocatedAgent  anAgent,
ContinuousVector  target 
)
virtual

Kills any agents that are crossing this boundary as they are leaving the simulated system.

Kills any agents that are crossing this boundary as they are leaving the simulated system

Parameters
anAgentThe LocatedAgent that has crossed the boundary
targetVector of where this agent was going to be placed

Implements simulator.geometry.boundaryConditions.AllBC.

Bulk simulator.geometry.boundaryConditions.BoundaryBulk.getBulk ( )

Return the bulk that is connected to this boundary.

Return the bulk that is connected to this boundary

Returns
Bulk object that is connected to this boundary
double simulator.geometry.boundaryConditions.BoundaryBulk.getBulkValue ( int  soluteIndex)

For a specified solute, returns the level of that solute in the bulk.

For a specified solute, returns the level of that solute in the bulk

Parameters
soluteIndexIndex of the solute in the simulation dictionary
Returns
Value of solute in the connected bulk
void simulator.geometry.boundaryConditions.BoundaryBulk.init ( Simulator  aSim,
Domain  aDomain,
XMLParser  aBoundCondMarkUp 
)
virtual

Initialises the boundary from information contained in the simulation protocol file. In this case also links the connected bulk to this boundary.

Initialises the boundary from information contained in the simulation protocol file. In this case also links the connected bulk to this boundary

Parameters
aSimThe simulation object used to simulate the conditions specified in the protocol file
aDomainThe domain which this boundary condition is associated with
aBoundCondMarkUpThe XML tags that have declared this boundary in the protocol file

Implements simulator.geometry.boundaryConditions.AllBC.

ContinuousVector simulator.geometry.boundaryConditions.BoundaryBulk.lookAt ( ContinuousVector  cc)
virtual

Method used by another which gets the indexed grid position of a continuous vector. Some boundary conditions need the input corrected, some don't and just return the input.

Method used by another which gets the indexed grid position of a continuous vector. Some boundary conditions (e.g. BoundaryCyclic_ need the input corrected due to the condition, some don't and just return the input. Maybe we'll change this at some point as to just return the input looks a bit daft - but we'll leave it here for the moment

Parameters
ccContinuousVector that gives the current location of an agent to check on the grid

Implements simulator.geometry.boundaryConditions.AllBC.

void simulator.geometry.boundaryConditions.BoundaryBulk.refreshBoundary ( SoluteGrid  aSoluteGrid)
virtual

Solver for the variable concentration boundary condition. Initialises the course along the shape of the boundary.

Solver for the variable concentration boundary condition. Initialises the course along the shape of the boundary

Parameters
aSoluteGridGrid of solute information which is to be refreshed by the solver

Implements simulator.geometry.boundaryConditions.AllBC.

void simulator.geometry.boundaryConditions.BoundaryBulk.setBoundary ( LocatedGroup  aGroup)
virtual

Change the status of a specified LocatedGroup to note that it has been identified as being outside this boundary.

Change the status of a specified LocatedGroup to note that it has been identified as being outside this boundary

Parameters
aGroupLocatedGroup object which has been detected to be outside the boundary

Implements simulator.geometry.boundaryConditions.AllBC.

String simulator.geometry.boundaryConditions.BoundaryBulk.toString ( )

Returns a string noting the side of the domain that this boundary condition is on.

Returns a string noting the side of the domain that this boundary condition is on

Returns
String noting the side of the domain that this condition applies to (i.e. x0z, xNz, etc)
void simulator.geometry.boundaryConditions.BoundaryBulk.updateBulk ( SoluteGrid[]  allSG,
SoluteGrid[]  allRG,
double  timeStep 
)

Updates the levels in the bulk. Allows reaction or flux-based bulk treatment.

Updates the levels in the bulk. Allows reaction or flux-based bulk treatment (BVM 151208)

Parameters
allSGArray of all solute grids
allRGArray of all reaction grids
timeStepThe internal timestep currently being applied in this simulation

Member Data Documentation

Bulk simulator.geometry.boundaryConditions.BoundaryBulk._connectedBulk
protected

The defined bulk in the simulation to which the liquid phase is connected


The documentation for this class was generated from the following file: