Version 1.2 (June 2013)
 All Classes Namespaces Files Functions Variables Pages
Public Member Functions | List of all members
simulator.geometry.boundaryConditions.IsBC Interface Reference

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...
 

Detailed Description

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

Author
Andreas Dotsch (andre.nosp@m.as.d.nosp@m.oetsc.nosp@m.h@he.nosp@m.lmhol.nosp@m.tz-h.nosp@m.zi.de), Helmholtz Centre for Infection Research (Germany)
Laurent Lardon (lardo.nosp@m.nl@s.nosp@m.upagr.nosp@m.o.in.nosp@m.ra.fr), INRA, France

Member Function Documentation

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

Parameters
anAgentThe LocatedAgent that has crossed the boundary
newLocVector 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

Returns
Bulk object 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

Parameters
soluteIndexIndex of the solute in the simulation dictionary
Returns
Value of solute in the connected bulk
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

Parameters
ccThe continuous vector of points to calculate how far the point is from the boundary
Returns
Double value stating the distance fromt the point to 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)

Parameters
positionA continuous vector stating the point to be used in the calculation
vectorA continuous vector stating the line to be used in the calculation
Returns
ContinuousVector stating the point of intersection between the boundary and a line
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

Parameters
ccA continuous vector stating the point to be used in the calculation
Returns
ContinuousVector stating the point on the boundary after the orthogonal projection
boolean simulator.geometry.boundaryConditions.IsBC.hasBulk ( )

Determine if this boundary is attached to a bulk.

Determine if this boundary is attached to a bulk

Returns
Boolean noting whether this boundary is attached to a bulk (true) or not (false)
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

Parameters
aSimThe simulation object used to simulate the conditions specified in the protocol file
aDomainThe domain which this boundary condition is associated with
aBoundCondMarkUpThe 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

Returns
Boolean noting whether this boundary is active for solute (true) or not (false)
boolean simulator.geometry.boundaryConditions.IsBC.isCyclic ( )

Determine if this boundary is cyclic.

Determine if this boundary is cyclic

Returns
Boolean noting whether this boundary is cyclic (true) or not (false)
boolean simulator.geometry.boundaryConditions.IsBC.isOutside ( ContinuousVector  cc)

Determines if a point is outside the boundary.

Determines if a point is outside the boundary

Parameters
ccContinuousVector to check
Returns
Boolean value noting whether this coordinate is outside the boundary (true) or not (false)
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

Parameters
dCDiscreteVector to check
aSpatialGridSpatial grid to check
Returns
Boolean value noting whether this coordinate is outside the boundary (true) or not (false)
boolean simulator.geometry.boundaryConditions.IsBC.isSupport ( )

Determine whether this boundary is the supporting structure (substratum)

Determine whether this boundary is the supporting structure (substratum)

Returns
Boolean noting whether this boundary is the supporting structure (true) or not (false)
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

Parameters
ccContinuousVector 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

Parameters
geometryRootUsually an XML set of elements that describe the boundary to be created
aDomainThe 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

Parameters
aSoluteGridGrid 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

Parameters
relDiff
aSolutegridGrid 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

Parameters
aGroupLocatedGroup object which has been detected to be outside the boundary

The documentation for this interface was generated from the following file: