Langmuir
Simulation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
LangmuirCore::ElectronDrainAgent Class Reference

A class to remove ElectronAgents. More...

#include <drainagent.h>

Public Member Functions

 ElectronDrainAgent (World &world, int site, QObject *parent=0)
 create an ElectronDrainAgent at a specific site More...
 
 ElectronDrainAgent (World &world, Grid::CubeFace cubeFace, QObject *parent=0)
 create a ElectronDrainAgent at a specific Grid::CubeFace More...
 
- Public Member Functions inherited from LangmuirCore::DrainAgent
 DrainAgent (World &world, Grid &grid, QObject *parent=0)
 create a DrainAgent More...
 
virtual bool tryToAccept (ChargeAgent *charge)
 accept charge with constant probability More...
 
- Public Member Functions inherited from LangmuirCore::FluxAgent
 FluxAgent (Agent::Type type, World &world, Grid &grid, QObject *parent=0)
 Create the flux agent. More...
 
 ~FluxAgent ()
 unregisters FluxAgent from the grid More...
 
void setPotential (double potential)
 set the FluxAgent's potential More...
 
double potential () const
 get the FluxAgent's potential More...
 
void setRate (double rate)
 set the FluxAgent's rate More...
 
void setRateSmartly (double rate, double dflt)
 set the FluxAgent's rate More...
 
double rate () const
 get the FluxAgent's rate More...
 
void setAttempts (unsigned long int value)
 set the FluxAgent's attempt counter More...
 
unsigned long int attempts () const
 get the FluxAgent's attempt counter More...
 
void setSuccesses (unsigned long int value)
 set the FluxAgent's success counter More...
 
unsigned long int successes () const
 get the FluxAgent's success counter More...
 
void storeLast ()
 set the value of last to the value of successes, and store the current step More...
 
unsigned long int successesSinceLast () const
 get the number of successes since storeLast() was called More...
 
unsigned long int attemptsSinceLast () const
 get the number of attempts since storeLast() was called More...
 
unsigned long int stepsSinceLast () const
 get the number of steps since storeLast() was called More...
 
double successProbability () const
 calculate and return the current probabilty of success More...
 
double successRate () const
 calculate and return the current rate of success More...
 
double successProbabilitySinceLast () const
 calculate and return the probabilty of success since storeLast() was called More...
 
double successRateSinceLast () const
 calculate and return the rate of success since storeLast() was called More...
 
void resetCounters ()
 set the attempt and success counters to zero More...
 
Grid::CubeFace face () const
 get the Grid:CubeFace this FluxAgent is assigned to More...
 
Gridgrid () const
 get the Grid this FluxAgent belongs to More...
 
- Public Member Functions inherited from LangmuirCore::Agent
 Agent (Type type, World &world, int site=0, QObject *parent=0)
 Create an Agent. More...
 
virtual ~Agent ()
 Destroy Agent. More...
 
const QVector< int > & getNeighbors () const
 Get Agent neighbor list. More...
 
void setNeighbors (QVector< int > neighbors)
 Set Agent neighbor list. More...
 
int getCurrentSite () const
 Get Agent current site. More...
 
int getFutureSite () const
 Get Agent future site. More...
 
void setCurrentSite (int site)
 Set Agent current site. More...
 
void setFutureSite (int site)
 Set Agent future site. More...
 
Type getType () const
 Get Agent::Type enum. More...
 
WorldgetWorld () const
 Get Langmuir::World reference. More...
 

Protected Member Functions

virtual double energyChange (int fSite)
 same as FluxAgent::energyChange(), but specialized for ElectronAgents. More...
 
- Protected Member Functions inherited from LangmuirCore::FluxAgent
void initializeSite (int site)
 assign the FluxAgent to a specific site in the grid More...
 
void initializeSite (Grid::CubeFace cubeFace)
 assign the FluxAgent to a specific Grid::CubeFace More...
 
virtual bool shouldTransport (int site)
 decide if the FluxAgent should transport a carrier to/from a given site More...
 
QString faceToLetter ()
 convert the Grid::CubeFace to a single letter More...
 

Additional Inherited Members

- Public Types inherited from LangmuirCore::Agent
enum  Type {
  Empty = 0, Electron = 1, Hole = 2, Defect = 3,
  Source = 4, Drain = 5, SIZE = 6
}
 An identifier for the type of Agent. More...
 
- Static Public Member Functions inherited from LangmuirCore::Agent
static QString toQString (const Agent::Type e)
 Convert Agent type enum to QString. More...
 
- Protected Attributes inherited from LangmuirCore::FluxAgent
unsigned long int m_attempts
 the number of times the FluxAgent has tried to transport. More...
 
unsigned long int m_successes
 the number of times the FluxAgent was successful in transporting. More...
 
unsigned long int m_lastSuccesses
 storage to note the number of successes at some step More...
 
unsigned long int m_lastAttempts
 storage to note the number of successes at some step More...
 
unsigned long int m_lastStep
 the step at which last was noted More...
 
double m_probability
 the constant probability used in the default behavoir of shouldTransport(). More...
 
double m_potential
 the potential that is (possibly) used when calculating an energy change More...
 
Gridm_grid
 the grid this FluxAgent resides in More...
 
Grid::CubeFace m_face
 the face of the grid this FluxAgent occupies More...
 
- Protected Attributes inherited from LangmuirCore::Agent
int m_site
 Current site the Agent occupies. More...
 
int m_fSite
 Future site the Agent will occupy. More...
 
Worldm_world
 Reference to World object. More...
 
QVector< int > m_neighbors
 List fo neighboring site ids. More...
 
Type m_type
 Agent Type enum. More...
 

Detailed Description

A class to remove ElectronAgents.

Constructor & Destructor Documentation

LangmuirCore::ElectronDrainAgent::ElectronDrainAgent ( World world,
int  site,
QObject *  parent = 0 
)

create an ElectronDrainAgent at a specific site

LangmuirCore::ElectronDrainAgent::ElectronDrainAgent ( World world,
Grid::CubeFace  cubeFace,
QObject *  parent = 0 
)

create a ElectronDrainAgent at a specific Grid::CubeFace

Member Function Documentation

virtual double LangmuirCore::ElectronDrainAgent::energyChange ( int  fSite)
protectedvirtual

same as FluxAgent::energyChange(), but specialized for ElectronAgents.

Note really used because the default FluxAgent::shouldTransport() behavoir, which is to use a simple constant probability, has not been reimplemented for DrainAgents.

Reimplemented from LangmuirCore::FluxAgent.


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