Langmuir
Simulation
|
A class to orchestrate the calculation. More...
#include <simulation.h>
Public Member Functions | |
Simulation (World &world, QObject *parent=0) | |
Create a Simulation. More... | |
virtual | ~Simulation () |
Destroy the Simulation. More... | |
virtual void | performIterations (int nIterations) |
simulate for a set number of steps More... | |
Protected Member Functions | |
void | performRecombinations () |
Recombine holes and electrons (in solarcell simulations only) More... | |
void | performInjections () |
Tell sources to inject charges. More... | |
void | balanceCharges () |
Try to use the sources to keep the number of ChargeAgents balanced More... | |
void | nextTick () |
Remove charges from the simulation. More... | |
Static Protected Member Functions | |
static void | chargeAgentCoulombInteractionQtConcurrentCPU (ChargeAgent *chargeAgent) |
A method needed to call ChargeAgent::coulombCPU() in parallel. More... | |
static void | chargeAgentCoulombInteractionQtConcurrentGPU (ChargeAgent *chargeAgent) |
A method needed to call ChargeAgent::coulombGPU() in parallel. More... | |
Protected Attributes | |
World & | m_world |
Reference to World object. More... | |
A class to orchestrate the calculation.
LangmuirCore::Simulation::Simulation | ( | World & | world, |
QObject * | parent = 0 |
||
) |
Create a Simulation.
world | reference to World Object |
parent | QObject this belongs to |
|
virtual |
Destroy the Simulation.
|
protected |
Try to use the sources to keep the number of ChargeAgents balanced
|
staticprotected |
A method needed to call ChargeAgent::coulombCPU() in parallel.
|
staticprotected |
A method needed to call ChargeAgent::coulombGPU() in parallel.
Does not perform GPU calcuations. The coulomb kernel in OpenCLHelper is used to do that. This function copies the GPU results from OpenCLHelper to each ChargeAgent. It is assumed that the coulomb kernel was launched beforehand.
|
protected |
Remove charges from the simulation.
Charges are removed only if a DrainAgent sets their removed status to True. This function will also output carrier statistics if output.id.on.delete is set.
|
protected |
Tell sources to inject charges.
|
virtual |
simulate for a set number of steps
nIterations | the number of steps to simulate |
|
protected |
Recombine holes and electrons (in solarcell simulations only)