Defines the bulk boundary: the concentration on the boundary is fixed by a dynamical bulk, the agents crossing this line die. More...
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... | |
![]() | |
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 |
![]() | |
String | _mySide |
IsShape | _myShape |
boolean | isCyclic = false |
boolean | _isSupport = false |
boolean | hasBulk = false |
boolean | activeForSolute = true |
boolean | hasAgar = false |
Additional Inherited Members | |
![]() | |
static AllBC | staticBuilder (XMLParser root, Simulator aSim, Domain aDomain) |
Generic constructor called to dynamically instantiate a child class object. More... | |
![]() | |
static DiscreteVector | dcIn = new DiscreteVector() |
static DiscreteVector | dcOut = new DiscreteVector() |
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.
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
|
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
anAgent | The LocatedAgent that has crossed the boundary |
target | Vector 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
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
soluteIndex | Index of the solute in the simulation dictionary |
|
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
aSim | The simulation object used to simulate the conditions specified in the protocol file |
aDomain | The domain which this boundary condition is associated with |
aBoundCondMarkUp | The XML tags that have declared this boundary in the protocol file |
Implements simulator.geometry.boundaryConditions.AllBC.
|
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
cc | ContinuousVector that gives the current location of an agent to check on the grid |
Implements simulator.geometry.boundaryConditions.AllBC.
|
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
aSoluteGrid | Grid of solute information which is to be refreshed by the solver |
Implements simulator.geometry.boundaryConditions.AllBC.
|
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
aGroup | LocatedGroup 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
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)
allSG | Array of all solute grids |
allRG | Array of all reaction grids |
timeStep | The internal timestep currently being applied in this simulation |
|
protected |
The defined bulk in the simulation to which the liquid phase is connected