BoundaryMembrane : defines a boundary impermeable to everything except to gas. More...
Public Member Functions | |
BoundaryGasMembrane () | |
Declare a gas membrane boundary and set hasBulk to true to note this is the case. More... | |
void | init (Simulator aSim, Domain aDomain, XMLParser aBCMarkUp) |
Initialises the boundary from information contained in the simulation protocol file, and builds the list of solutes to let diffuse through the membrane. More... | |
void | refreshDiffBoundary (SoluteGrid relDif, SoluteGrid aSoluteGrid) |
Computes and applies gas diffusivity across the gas membrane boundary. More... | |
void | refreshBoundary (SoluteGrid aSoluteGrid) |
Solver for the gas membrane boundary condition. Initialises the course along the shape of the boundary. 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) |
![]() | |
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 | |
boolean[] | isPermeableTo |
double[] | permeability |
Bulk | _connectedBulk |
![]() | |
String | _mySide |
IsShape | _myShape |
boolean | isCyclic = false |
boolean | _isSupport = false |
boolean | hasBulk = false |
boolean | activeForSolute = true |
boolean | hasAgar = false |
Static Protected Attributes | |
static ContinuousVector | vectorIn |
![]() | |
static DiscreteVector | dcIn = new DiscreteVector() |
static DiscreteVector | dcOut = new DiscreteVector() |
Additional Inherited Members | |
![]() | |
static AllBC | staticBuilder (XMLParser root, Simulator aSim, Domain aDomain) |
Generic constructor called to dynamically instantiate a child class object. More... | |
BoundaryMembrane : defines a boundary impermeable to everything except to gas.
BoundaryMembrane : defines a boundary impermeable to everything except to gas. A membrane boundary has a selective permeability, meaning it behaves like a zero-flux boundary for agents and most of the solutes, but for selected solutes includes specification of the diffusivity in the membrane and the opposing-side solute concentration
simulator.geometry.boundaryConditions.BoundaryGasMembrane.BoundaryGasMembrane | ( | ) |
Declare a gas membrane boundary and set hasBulk to true to note this is the case.
Declare a gas membrane boundary and set hasBulk to true to note this is the case
|
virtual |
Modify the movement vector : the new position is the orthognal projection of the outside point on the boundary surface
Implements simulator.geometry.boundaryConditions.AllBC.
Bulk simulator.geometry.boundaryConditions.BoundaryGasMembrane.getBulk | ( | ) |
Return the bulk that is connected to this boundary.
Return the bulk that is connected to this boundary
double simulator.geometry.boundaryConditions.BoundaryGasMembrane.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, and builds the list of solutes to let diffuse through the membrane.
Initialises the boundary from information contained in the simulation protocol file, and builds the list of solutes to let diffuse through the membrane
aSim | The simulation object used to simulate the conditions specified in the protocol file |
aDomain | The domain which this boundary condition is associated with |
aBCMarkUp | 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 gas membrane boundary condition. Initialises the course along the shape of the boundary.
Solver for the gas membrane 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.
void simulator.geometry.boundaryConditions.BoundaryGasMembrane.refreshDiffBoundary | ( | SoluteGrid | relDif, |
SoluteGrid | aSoluteGrid | ||
) |
Computes and applies gas diffusivity across the gas membrane boundary.
Computes and applies gas diffusivity across the gas membrane boundary
relDif | Supplied RelDiff grid |
aSoluteGrid | Grid of solute information which is to be refreshed by the solver |
|
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.
|
protected |
The defined bulk in the simulation to which the liquid phase is connected
|
protected |
The list of solutes to let diffuse through the membrane
|
protected |
Level of permeability for each solute that can diffuse through the membrane
|
staticprotected |
A vector normal to the boundary and starting from the orthogonal projection