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

Defines an impermeable boundary to solutes and agents. More...

Inheritance diagram for simulator.geometry.boundaryConditions.BoundaryZeroFlux:
simulator.geometry.boundaryConditions.AllBC

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...
 
- Public Member Functions inherited from simulator.geometry.boundaryConditions.AllBC
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 Public Member Functions inherited from simulator.geometry.boundaryConditions.AllBC
static AllBC staticBuilder (XMLParser root, Simulator aSim, Domain aDomain)
 Generic constructor called to dynamically instantiate a child class object. More...
 
- Protected Attributes inherited from simulator.geometry.boundaryConditions.AllBC
String _mySide
 
IsShape _myShape
 
boolean isCyclic = false
 
boolean _isSupport = false
 
boolean hasBulk = false
 
boolean activeForSolute = true
 
boolean hasAgar = false
 
- Static Protected Attributes inherited from simulator.geometry.boundaryConditions.AllBC
static DiscreteVector dcIn = new DiscreteVector()
 
static DiscreteVector dcOut = new DiscreteVector()
 

Detailed Description

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

Author
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.BoundaryZeroFlux.applyBoundary ( LocatedAgent  anAgent,
ContinuousVector  target 
)
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

Parameters
anAgentThe Located Agent which is attempting to cross the boundary
targetThe target position that the agent is moving to

Implements simulator.geometry.boundaryConditions.AllBC.

void simulator.geometry.boundaryConditions.BoundaryZeroFlux.init ( Simulator  aSim,
Domain  aDomain,
XMLParser  aBoundCondMarkUp 
)
virtual

Initialises the boundary from information contained in the simulation protocol file.

Initialises the boundary from information contained in the simulation protocol file

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

Implements simulator.geometry.boundaryConditions.AllBC.

ContinuousVector simulator.geometry.boundaryConditions.BoundaryZeroFlux.lookAt ( ContinuousVector  cc)
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

Parameters
ccContinuousVector that gives the current location of an agent to check on the grid

Implements simulator.geometry.boundaryConditions.AllBC.

void simulator.geometry.boundaryConditions.BoundaryZeroFlux.refreshBoundary ( SoluteGrid  aSoluteGrid)
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

Parameters
aSoluteGridGrid of solute information which is to be refreshed by the solver

Implements simulator.geometry.boundaryConditions.AllBC.

void simulator.geometry.boundaryConditions.BoundaryZeroFlux.setBoundary ( LocatedGroup  aGroup)
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

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

Returns
String noting the side of the domain that this condition applies to (i.e. x0z, xNz, etc)

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