Interface for the boundary conditions on the system's margins. To be used in solvers and agent move. More...
Public Member Functions | |
void | readGeometry (Element geometryRoot, Domain aDomain) |
Used during the initialisation, load the class describing the shape of the boundary defined in the parent class. More... | |
double | getDistance (ContinuousVector cc) |
Returns the distance from a point to 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... | |
boolean | isOutside (ContinuousVector cc) |
Determines if a point is outside the boundary. More... | |
boolean | isOutside (DiscreteVector dC, SpatialGrid aSpatialGrid) |
Determines if a discrete vector location is outside the boundary. More... | |
boolean | isActive () |
Determine if this boundary is active for solute. More... | |
boolean | isCyclic () |
Determine if this boundary is cyclic. More... | |
boolean | hasBulk () |
Determine if this boundary is attached to a bulk. More... | |
double | getBulkValue (int soluteIndex) |
For a specified solute, returns the level of that solute in the bulk. More... | |
Bulk | getBulk () |
Return the bulk that is connected to this boundary. More... | |
boolean | isSupport () |
Determine whether this boundary is the supporting structure (substratum) More... | |
void | init (Simulator aSim, Domain aDomain, Element 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 then boundary condition. Initialises the course along the shape of the boundary during multigrid computation. More... | |
void | refreshDiffBoundary (SoluteGrid relDiff, SoluteGrid aSolutegrid) |
Computes and applies gas diffusivity across the gas membrane boundary. 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 newLoc) |
Modify the movement vector dependent on the boundary condition. In some the agent is killed, in others the agent location is adjusted. More... | |
Interface for the boundary conditions on the system's margins. To be used in solvers and agent move.
Interface for the boundary conditions on the system's margins. To be used in solvers and agent move
void simulator.geometry.boundaryConditions.IsBC.applyBoundary | ( | LocatedAgent | anAgent, |
ContinuousVector | newLoc | ||
) |
Modify the movement vector dependent on the boundary condition. In some the agent is killed, in others the agent location is adjusted.
Modify the movement vector dependent on the boundary condition. In some the agent is killed, in others the agent location is adjusted
anAgent | The LocatedAgent that has crossed the boundary |
newLoc | Vector of where this agent was going to be placed |
Bulk simulator.geometry.boundaryConditions.IsBC.getBulk | ( | ) |
Return the bulk that is connected to this boundary.
Return the bulk that is connected to this boundary
double simulator.geometry.boundaryConditions.IsBC.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 |
double simulator.geometry.boundaryConditions.IsBC.getDistance | ( | ContinuousVector | cc | ) |
Returns the distance from a point to the boundary.
Returns the distance from a point to the boundary
cc | The continuous vector of points to calculate how far the point is from the boundary |
ContinuousVector simulator.geometry.boundaryConditions.IsBC.getIntersection | ( | ContinuousVector | position, |
ContinuousVector | vector | ||
) |
Calculate the intersection between the boundary and a line (defined by a position and a vector)
Calculate the intersection between the boundary and a line (defined by a position and a vector)
position | A continuous vector stating the point to be used in the calculation |
vector | A continuous vector stating the line to be used in the calculation |
ContinuousVector simulator.geometry.boundaryConditions.IsBC.getOrthoProj | ( | ContinuousVector | cc | ) |
Calculate the orthogonal projection of a location on the boundary.
Calculate the orthogonal projection of a location on the boundary
cc | A continuous vector stating the point to be used in the calculation |
boolean simulator.geometry.boundaryConditions.IsBC.hasBulk | ( | ) |
Determine if this boundary is attached to a bulk.
Determine if this boundary is attached to a bulk
void simulator.geometry.boundaryConditions.IsBC.init | ( | Simulator | aSim, |
Domain | aDomain, | ||
Element | aBoundCondMarkUp | ||
) |
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 |
boolean simulator.geometry.boundaryConditions.IsBC.isActive | ( | ) |
Determine if this boundary is active for solute.
Determine if this boundary is active for solute
boolean simulator.geometry.boundaryConditions.IsBC.isCyclic | ( | ) |
Determine if this boundary is cyclic.
Determine if this boundary is cyclic
boolean simulator.geometry.boundaryConditions.IsBC.isOutside | ( | ContinuousVector | cc | ) |
Determines if a point is outside the boundary.
Determines if a point is outside the boundary
cc | ContinuousVector to check |
boolean simulator.geometry.boundaryConditions.IsBC.isOutside | ( | DiscreteVector | dC, |
SpatialGrid | aSpatialGrid | ||
) |
Determines if a discrete vector location is outside the boundary.
Determines if a discrete vector location is outside the boundary
dC | DiscreteVector to check |
aSpatialGrid | Spatial grid to check |
boolean simulator.geometry.boundaryConditions.IsBC.isSupport | ( | ) |
Determine whether this boundary is the supporting structure (substratum)
Determine whether this boundary is the supporting structure (substratum)
ContinuousVector simulator.geometry.boundaryConditions.IsBC.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.
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 |
void simulator.geometry.boundaryConditions.IsBC.readGeometry | ( | Element | geometryRoot, |
Domain | aDomain | ||
) |
Used during the initialisation, load the class describing the shape of the boundary defined in the parent class.
Used during the initialisation, load the class describing the shape of the boundary defined in the parent class
geometryRoot | Usually an XML set of elements that describe the boundary to be created |
aDomain | The computational domain which this boundary is associated with |
void simulator.geometry.boundaryConditions.IsBC.refreshBoundary | ( | SoluteGrid | aSoluteGrid | ) |
Solver for then boundary condition. Initialises the course along the shape of the boundary during multigrid computation.
Solver for the variable concentration boundary condition. Initialises the course along the shape of the boundary during multigrid computation
aSoluteGrid | Grid of solute information which is to be refreshed by the solver |
void simulator.geometry.boundaryConditions.IsBC.refreshDiffBoundary | ( | SoluteGrid | relDiff, |
SoluteGrid | aSolutegrid | ||
) |
Computes and applies gas diffusivity across the gas membrane boundary.
Computes and applies gas diffusivity across the gas membrane boundary
relDiff | |
aSolutegrid | Grid of solute information which is to be refreshed by the solver |
void simulator.geometry.boundaryConditions.IsBC.setBoundary | ( | LocatedGroup | aGroup | ) |
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 |