Langmuir
Simulation
|
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... | |
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... | |
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... | |
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 ElectronAgents.
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
|
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.