ViennaSHE 1.3.0
Free open-source semiconductor device simulator using spherical harmonics expansions techniques.
viennashe::models::ssa_solver Class Reference

The SSA (Monte Carlo) solver for Markov-Chains The given chain is being referenced and the occupancies p_i of the states are being changed. The resp. occupancies can either be 1.0 (occupied) or 0 (unoccupied)! The solver additionally guarantees that sum_i p_i = 1.0, i.e. only one state is occupied at a time ! More...

#include <ssa.hpp>

Public Types

typedef viennashe::models::chain::index_type index_type
 

Public Member Functions

 ssa_solver (viennashe::models::chain &c)
 CTOR. More...
 
double delta_t () const
 Returns the last time step dt in seconds. More...
 
void set_equilibrium (viennashe::math::rand_generator_base< double > &rnd)
 Sets the equilibrium occupancies. More...
 
double solve (viennashe::math::rand_generator_base< double > &rnd)
 Determines the time until the next transition event and advances the system to this state. More...
 
viennashe::models::chain const & chain () const
 

Detailed Description

The SSA (Monte Carlo) solver for Markov-Chains The given chain is being referenced and the occupancies p_i of the states are being changed. The resp. occupancies can either be 1.0 (occupied) or 0 (unoccupied)! The solver additionally guarantees that sum_i p_i = 1.0, i.e. only one state is occupied at a time !

Definition at line 44 of file ssa.hpp.

Member Typedef Documentation

◆ index_type

Constructor & Destructor Documentation

◆ ssa_solver()

viennashe::models::ssa_solver::ssa_solver ( viennashe::models::chain c)
inline

CTOR.

Definition at line 50 of file ssa.hpp.

Member Function Documentation

◆ chain()

viennashe::models::chain const & viennashe::models::ssa_solver::chain ( ) const
inline

Definition at line 132 of file ssa.hpp.

◆ delta_t()

double viennashe::models::ssa_solver::delta_t ( ) const
inline

Returns the last time step dt in seconds.

Definition at line 53 of file ssa.hpp.

◆ set_equilibrium()

void viennashe::models::ssa_solver::set_equilibrium ( viennashe::math::rand_generator_base< double > &  rnd)
inline

Sets the equilibrium occupancies.

Parameters
rndA (pseudo-) random number generator

Definition at line 59 of file ssa.hpp.

◆ solve()

double viennashe::models::ssa_solver::solve ( viennashe::math::rand_generator_base< double > &  rnd)
inline

Determines the time until the next transition event and advances the system to this state.

Parameters
rndA (pseudo-) random number generator
Returns
The time (delta t) until the next event. The internal state of the chain is being changed.

Definition at line 88 of file ssa.hpp.


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