Group all methods expected by the interface but common to most of the boundary classes. More...
Public Member Functions | |
abstract void | init (Simulator aSim, Domain aDomain, XMLParser root) |
Initialises the boundary condition. Should be overriden by each boundary condition class file. 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... | |
abstract 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) |
Method used if a boundary modifies the local diffusivity constant. Most of boundaries do not modify it. More... | |
abstract 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... | |
abstract void | setBoundary (LocatedGroup aGroup) |
Change the status of a specified LocatedGroup to note that it has been identified as being outside this boundary. More... | |
abstract void | applyBoundary (LocatedAgent anAgent, ContinuousVector newLoc) |
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... | |
Static Public Member Functions | |
static AllBC | staticBuilder (XMLParser root, Simulator aSim, Domain aDomain) |
Generic constructor called to dynamically instantiate a child class object. More... | |
Protected Attributes | |
String | _mySide |
IsShape | _myShape |
boolean | isCyclic = false |
boolean | _isSupport = false |
boolean | hasBulk = false |
boolean | activeForSolute = true |
boolean | hasAgar = false |
Static Protected Attributes | |
static DiscreteVector | dcIn = new DiscreteVector() |
static DiscreteVector | dcOut = new DiscreteVector() |
Group all methods expected by the interface but common to most of the boundary classes.
Group all methods expected by the interface but common to most of the boundary classes
|
pure virtual |
Modify the movement vector : the new position is the orthognal projection on the boundary surface
Implemented in simulator.geometry.boundaryConditions.BoundaryGasMembrane, simulator.geometry.boundaryConditions.BoundaryBulk, simulator.geometry.boundaryConditions.BoundaryCyclic, simulator.geometry.boundaryConditions.BoundaryConstant, and simulator.geometry.boundaryConditions.BoundaryZeroFlux.
Bulk simulator.geometry.boundaryConditions.AllBC.getBulk | ( | ) |
Return the bulk that is connected to this boundary.
Return the bulk that is connected to this boundary
double simulator.geometry.boundaryConditions.AllBC.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.AllBC.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.AllBC.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.AllBC.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 |
IsShape simulator.geometry.boundaryConditions.AllBC.getShape | ( | ) |
Returns the Shape object that represents this boundary.
Returns the Shape object that represents this boundary
String simulator.geometry.boundaryConditions.AllBC.getSide | ( | ) |
Return the name of the side of the domain which this boundary is on.
Return the name of the side of the domain which this boundary is on
String simulator.geometry.boundaryConditions.AllBC.getSideName | ( | ) |
Return the name of the side of the domain which this boundary is on.
Return the name of the side of the domain which this boundary is on
boolean simulator.geometry.boundaryConditions.AllBC.hasAgar | ( | ) |
Determine if the boundary condition is modelling agar.
Determine if the boundary condition is modelling agar
boolean simulator.geometry.boundaryConditions.AllBC.hasBulk | ( | ) |
Determine if this boundary is attached to a bulk.
Determine if this boundary is attached to a bulk
|
pure virtual |
Initialises the boundary condition. Should be overriden by each boundary condition class file.
Initialises the boundary condition. This method should be overriden by each boundary condition class file
aSim | The current simulation object used to simulate the conditions specified in this protocol file |
aDomain | The computation domain to which this boundary condition is assigned |
root | Set of XML tags relating to one boundary condition |
Implemented in simulator.geometry.boundaryConditions.BoundaryGasMembrane, simulator.geometry.boundaryConditions.BoundaryCyclic, simulator.geometry.boundaryConditions.BoundaryBulk, simulator.geometry.boundaryConditions.BoundaryConstant, and simulator.geometry.boundaryConditions.BoundaryZeroFlux.
boolean simulator.geometry.boundaryConditions.AllBC.isActive | ( | ) |
Determine if this boundary is active for solute.
Determine if this boundary is active for solute
boolean simulator.geometry.boundaryConditions.AllBC.isCyclic | ( | ) |
Determine if this boundary is cyclic.
Determine if this boundary is cyclic
boolean simulator.geometry.boundaryConditions.AllBC.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.AllBC.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 | The grid to check whether a point is outside |
boolean simulator.geometry.boundaryConditions.AllBC.isSupport | ( | ) |
Determine whether this boundary is the supporting structure (substratum)
Determine whether this boundary is the supporting structure (substratum)
|
pure 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 |
Implemented in simulator.geometry.boundaryConditions.BoundaryGasMembrane, simulator.geometry.boundaryConditions.BoundaryBulk, simulator.geometry.boundaryConditions.BoundaryCyclic, simulator.geometry.boundaryConditions.BoundaryConstant, and simulator.geometry.boundaryConditions.BoundaryZeroFlux.
void simulator.geometry.boundaryConditions.AllBC.readGeometry | ( | XMLParser | 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 |
|
pure virtual |
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 see ComputationDomain.refreshBoundaries() |
Implemented in simulator.geometry.boundaryConditions.BoundaryCyclic, simulator.geometry.boundaryConditions.BoundaryGasMembrane, simulator.geometry.boundaryConditions.BoundaryBulk, simulator.geometry.boundaryConditions.BoundaryConstant, and simulator.geometry.boundaryConditions.BoundaryZeroFlux.
void simulator.geometry.boundaryConditions.AllBC.refreshDiffBoundary | ( | SoluteGrid | relDiff, |
SoluteGrid | aSolutegrid | ||
) |
Method used if a boundary modifies the local diffusivity constant. Most of boundaries do not modify it.
Method used if a boundary modifies the local diffusivity constant. Most of boundaries do not modify it
relDiff | Relative difference grid |
aSolutegrid | Grid of solute information which is to be refreshed by the solver |
|
pure 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 |
Implemented in simulator.geometry.boundaryConditions.BoundaryGasMembrane, simulator.geometry.boundaryConditions.BoundaryBulk, simulator.geometry.boundaryConditions.BoundaryCyclic, simulator.geometry.boundaryConditions.BoundaryConstant, and simulator.geometry.boundaryConditions.BoundaryZeroFlux.
|
static |
Generic constructor called to dynamically instantiate a child class object.
Generic constructor called to dynamically instantiate a child class object
root | Set of XML tags relating to one boundary condition |
aSim | The current simulation object used to simulate the conditions specified in this protocol file |
aDomain | The computation domain to which this boundary condition is assigned |
void simulator.geometry.boundaryConditions.AllBC.updateAgar | ( | SoluteGrid[] | soluteGrid, |
SoluteGrid[] | reactionGrid, | ||
double | timeStep | ||
) |
If modelling an agar plate boundary, this method updates the boundary.
soluteGrid | Grid of all solutes |
reactionGrid | Grid of all reactions |
timeStep | Current internal timestep of the simulation |
void simulator.geometry.boundaryConditions.AllBC.updateBulk | ( | SoluteGrid[] | soluteGrid, |
SoluteGrid[] | reacGrid, | ||
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)
soluteGrid | Array of all solute grids |
reacGrid | Array of all reaction grids |
timeStep | The internal timestep currently being applied in this simulation |
|
protected |
Boolean noting whether this boundary is the supporting structure (substratum)
|
protected |
The shape of the boundary
|
protected |
The name of the boundary describing its side (xOy,...)
|
protected |
Boolean noting whether this boundary can contain active solute
|
staticprotected |
Discrete coordinates of a voxel inside the computation domain but along the boundary
|
staticprotected |
Discrete coordinates of the voxel in front of the one outside the boundary
|
protected |
Boolean noting whether this boundary is modelling agar
|
protected |
Boolean noting whether this boundary has an attached bulk
|
protected |
Quick test to know if the boundary is cyclic