Langmuir
Simulation
|
A class to inject HoleAgents. More...
#include <sourceagent.h>
Public Member Functions | |
HoleSourceAgent (World &world, int site, QObject *parent=0) | |
create a HoleSourceAgent at a specific site More... | |
HoleSourceAgent (World &world, Grid::CubeFace cubeFace, QObject *parent=0) | |
create a HoleSourceAgent at a specific Grid::CubeFace More... | |
Public Member Functions inherited from LangmuirCore::SourceAgent | |
SourceAgent (World &world, Grid &grid, QObject *parent=0) | |
create a SourceAgent More... | |
bool | tryToSeed () |
seed a charge at a random site More... | |
bool | tryToSeed (int site) |
seed a charge at a specific site More... | |
bool | tryToInject () |
attempt to inject a carrier 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 bool | validToInject (int site) |
same as SourceAgent::validToInject(), but specialized for HoleAgents. More... | |
virtual double | energyChange (int site) |
same as FluxAgent::energyChange(), but specialized for HoleAgents. More... | |
virtual void | inject (int site) |
same as SourceAgent::inject(), but specialized for HoleAgents. More... | |
Protected Member Functions inherited from LangmuirCore::SourceAgent | |
virtual int | chooseSite () |
choose a site to inject to More... | |
virtual bool | shouldTransport (int site) |
decides if charge should be injected using a constant probability More... | |
int | randomSiteID () |
choose a random site ID More... | |
int | randomNeighborSiteID () |
choose a random site ID from the neighborlist. 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... | |
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 inject HoleAgents.
LangmuirCore::HoleSourceAgent::HoleSourceAgent | ( | World & | world, |
int | site, | ||
QObject * | parent = 0 |
||
) |
create a HoleSourceAgent at a specific site
LangmuirCore::HoleSourceAgent::HoleSourceAgent | ( | World & | world, |
Grid::CubeFace | cubeFace, | ||
QObject * | parent = 0 |
||
) |
create a HoleSourceAgent at a specific Grid::CubeFace
|
protectedvirtual |
same as FluxAgent::energyChange(), but specialized for HoleAgents.
Reimplemented from LangmuirCore::FluxAgent.
|
protectedvirtual |
same as SourceAgent::inject(), but specialized for HoleAgents.
Implements LangmuirCore::SourceAgent.
|
protectedvirtual |
same as SourceAgent::validToInject(), but specialized for HoleAgents.
Implements LangmuirCore::SourceAgent.