Langmuir
Simulation
|
A class to remove charges. More...
#include <drainagent.h>
Public Member Functions | |
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... | |
Grid & | grid () 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... | |
World & | getWorld () const |
Get Langmuir::World reference. 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 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... | |
virtual double | energyChange (int site) |
The energy change associated with moving a carrier from the FluxAgent to a site. More... | |
QString | faceToLetter () |
convert the Grid::CubeFace to a single letter 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... | |
Grid & | m_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... | |
World & | m_world |
Reference to World object. More... | |
QVector< int > | m_neighbors |
List fo neighboring site ids. More... | |
Type | m_type |
Agent Type enum. More... | |
A class to remove charges.
Unlike SourceAgents, the algorithms for removing charges currently reside in the Simulation class. This should be fixed. The DrainAgent is keeping track of drain statistics and transport probability.
create a DrainAgent
|
virtual |
accept charge with constant probability
Reimplemented in LangmuirCore::RecombinationAgent.