Parfis  v0.0.7
Public Member Functions | Public Attributes | List of all members
parfis::SimData Struct Reference

Simulation data. More...

#include <datastruct.h>

Public Member Functions

int setPySimData ()
 Sets the PySimData pointers to coresponding references from SimData. More...
 
int calculateColProb (const CfgData *pCfgData)
 Calculates collision probability from the cx. More...
 

Public Attributes

std::vector< CellcellVec
 Vector of cells.
 
std::vector< nodeFlag_tnodeFlagVec
 Vector of pointers to the cellVec. More...
 
std::vector< cellId_tcellIdVec
 
std::vector< cellId_tcellIdAVec
 Vector of pointer to cells of group A. More...
 
std::vector< cellId_tcellIdBVec
 Vector of pointer to cells of group B.
 
std::vector< StatestateVec
 Vector of states.
 
std::vector< stateFlag_tstateFlagVec
 Vector of state flags - corresponds to stateVec.
 
std::vector< stateId_theadIdVec
 Vector of pointers to head states. More...
 
std::vector< SpeciespecieVec
 Vector of species.
 
std::vector< GasgasVec
 Vector of gases.
 
std::vector< randEngine_trandomEngineVec
 Engines used to generate random numbers.
 
std::vector< GasCollisiongasCollisionVec
 Vector of gas collision data.
 
std::vector< PyGasCollisionpyGasCollisionVec
 Vector for the ctypes wrapper.
 
std::vector< FuncTablegasCollisionProbVec
 Vector of total gas collision probability data.
 
std::vector< PyFuncTablepyGasCollisionProbVec
 Vector for the ctypes wrapper.
 
Field field
 Field data.
 
PySimData pySimData
 PySimData points to data of this object.
 
uint64_t evolveCnt
 Evolution counter.
 

Detailed Description

Simulation data.

Member Function Documentation

◆ calculateColProb()

int parfis::SimData::calculateColProb ( const CfgData pCfgData)

Calculates collision probability from the cx.

Returns
int Zero on success

◆ setPySimData()

int parfis::SimData::setPySimData ( )

Sets the PySimData pointers to coresponding references from SimData.

PySimData is used to wrap the data structure in order to be usable by python through ctypes. The need for this structure is mainly because in ctypes there isn't a built-in representation of the std::vector structure.

Returns
int Zero on success

Member Data Documentation

◆ cellIdAVec

std::vector<cellId_t> parfis::SimData::cellIdAVec

Vector of pointer to cells of group A.

Groups are used to classify cells, for examples cells that lie fully inside the geometry (group A) and those that don't (group B). In different cases the classification can have different meanings.

◆ headIdVec

std::vector<stateId_t> parfis::SimData::headIdVec

Vector of pointers to head states.

Head state is the first state in the doubly linked list of states that belong to a certain cell. For every cell there are as many heads as there are species in the simulation. This structure is a matrix written in one dimension since the number of elements is cellVec.size()*specieVec.size()

◆ nodeFlagVec

std::vector<nodeFlag_t> parfis::SimData::nodeFlagVec

Vector of pointers to the cellVec.

Maping of absolute cell id (calculated) to real cell id which is the position in the cellVec vector Vector of nodeFlags for each cell in the geometry - corresponds to cellVec