org.ascape.model.rule
Class ParameterizedDiffusion

java.lang.Object
  extended by org.ascape.model.AscapeObject
      extended by org.ascape.model.rule.Rule
          extended by org.ascape.model.rule.ExecuteThenUpdate
              extended by org.ascape.model.rule.Diffusion
                  extended by org.ascape.model.rule.ParameterizedDiffusion
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, HasName, RandomFunctions

public abstract class ParameterizedDiffusion
extends Diffusion

A rule causing some agent value to diffuse to its neighbors at a particualar constant. Also supports evaporation at a given rate.

Since:
1.2.5
Version:
1.9.2
Author:
Miles Parker
See Also:
Serialized Form

Field Summary
 
Fields inherited from class org.ascape.model.AscapeObject
ARBITRARY_SEED, name, scape
 
Constructor Summary
ParameterizedDiffusion(java.lang.String name)
          Constructs a paramterized diffusion rule with the provided name.
ParameterizedDiffusion(java.lang.String name, float diffuseConstant, float evaporationRate)
          Constructs a paramterized diffusion rule with the provided name and paramaters.
 
Method Summary
 void execute(Agent agent)
          Calculate and store diffusion value to neighbors.
 double getDiffusionConstant()
          Gets the diffusion constant.
 double getEvaporationRate()
          Gets the evaporation rate.
 void setDiffusionConstant(double diffuseConstant)
          Sets the diffusion constant.
 void setEvaporationRate(double evaporationRate)
          Sets the evaporation rate.
 
Methods inherited from class org.ascape.model.rule.Diffusion
getDiffusionValue, isRandomExecution, setDiffusionValue, update
 
Methods inherited from class org.ascape.model.rule.Rule
getScape, isCauseRemoval, isIterateAll, setScape
 
Methods inherited from class org.ascape.model.AscapeObject
clone, diffDeep, diffDeep, diffDeepBFS, diffDeepDFS, diffDeepValidate, diffDeepVisit, equalsDeep, equalsDeep, equalsDeep, getComparisonStream, getName, getRandom, getRandomSeed, randomInRange, randomInRange, randomIs, randomToLimit, reseed, setComparisonStream, setName, setRandom, setRandomSeed, toString
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ParameterizedDiffusion

public ParameterizedDiffusion(java.lang.String name)
Constructs a paramterized diffusion rule with the provided name.

Parameters:
name - the name of this object

ParameterizedDiffusion

public ParameterizedDiffusion(java.lang.String name,
                              float diffuseConstant,
                              float evaporationRate)
Constructs a paramterized diffusion rule with the provided name and paramaters.

Parameters:
name - the name of this object
diffuseConstant - the diffuse constant
evaporationRate - the evaporation rate
Method Detail

execute

public void execute(Agent agent)
Calculate and store diffusion value to neighbors.

Overrides:
execute in class Diffusion
Parameters:
agent - the playing agent

getDiffusionConstant

public double getDiffusionConstant()
Gets the diffusion constant.

Returns:
the diffusion constant

setDiffusionConstant

public void setDiffusionConstant(double diffuseConstant)
Sets the diffusion constant.

Parameters:
diffuseConstant - the new diffusion constant

getEvaporationRate

public double getEvaporationRate()
Gets the evaporation rate.

Returns:
the evaporation rate

setEvaporationRate

public void setEvaporationRate(double evaporationRate)
Sets the evaporation rate.

Parameters:
evaporationRate - the new evaporation rate


Copyright © 1998-2008 The Brookings Institution, NuTech Solutions, Metascape, LLC All Rights Reserved.