Defines an impermeable boundary to solutes and agents. More...
Public Member Functions | |
void | init (Simulator aSim, Domain aDomain, XMLParser aBoundCondMarkUp) |
Initialises the boundary from information contained in the simulation protocol file. More... | |
void | refreshBoundary (SoluteGrid aSoluteGrid) |
Solver for the zero flux boundary condition. Initialises the course along the shape of the boundary and moves any points outside the domain inside. 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) |
Applies the boundary condition by modifying the movement vector. New position is orthogonal projection of the outside point on the boundary surface. 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... | |
Additional Inherited Members | |
![]() | |
static AllBC | staticBuilder (XMLParser root, Simulator aSim, Domain aDomain) |
Generic constructor called to dynamically instantiate a child class object. More... | |
![]() | |
String | _mySide |
IsShape | _myShape |
boolean | isCyclic = false |
boolean | _isSupport = false |
boolean | hasBulk = false |
boolean | activeForSolute = true |
boolean | hasAgar = false |
![]() | |
static DiscreteVector | dcIn = new DiscreteVector() |
static DiscreteVector | dcOut = new DiscreteVector() |
Defines an impermeable boundary to solutes and agents.
Defines an impermeable boundary to solutes and agents. As a consequence the normal components of solute concentration gradients will be zero at this boundary. Agents attempting to cross the boundary are prevented from doing so
|
virtual |
Applies the boundary condition by modifying the movement vector. New position is orthogonal projection of the outside point on the boundary surface.
Applies the boundary condition by modifying the movement vector. New position is orthogonal projection of the outside point on the boundary surface
anAgent | The Located Agent which is attempting to cross the boundary |
target | The target position that the agent is moving to |
Implements simulator.geometry.boundaryConditions.AllBC.
|
virtual |
Initialises the boundary from information contained in the simulation protocol file.
Initialises the boundary from information contained in the simulation protocol file
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 zero flux boundary condition. Initialises the course along the shape of the boundary and moves any points outside the domain inside.
Solver for the zero flux boundary condition. Initialises the course along the shape of the boundary and moves any points outside the domain inside
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.BoundaryZeroFlux.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