Currently, collision integrals are implemented within ArgonMixtureTransport. This supports the basic capabilities for the main simulation, though eventually it needs to be separated from a specific transport class and support more functionalities. Specific points are:
Need a CollisionIntegral class that is independent of a specific TransportProperties
The species pair of a collision integral is determined with the ground states of the pair. It must be possible for users to specify a list of these ground-state-species. Currently, this is specified as ArgonSpcs, limited to argon plasma only.
With user-specified ground-state-species list, it will be infeasible to use a compile-time-constant enumeration to specify all collision types. Currently these are identified with ArgonColl. Eventually, with Nground-state-species, we need an array of function pointers of size [(3 + 5) * N * N], each of which computes a collision integral. This will of course require a significant implementation on parsing.
Currently, collision integrals are computed through a sort of built-in, hard-coded functions. In order to support uncertainty propagation, at least it must be possible to read a table and fit it into a formatted function.
Currently, collision integrals are implemented within
ArgonMixtureTransport
. This supports the basic capabilities for the main simulation, though eventually it needs to be separated from a specific transport class and support more functionalities. Specific points are:CollisionIntegral
class that is independent of a specificTransportProperties
ArgonSpcs
, limited to argon plasma only.ArgonColl
. Eventually, withN
ground-state-species, we need an array of function pointers of size[(3 + 5) * N * N]
, each of which computes a collision integral. This will of course require a significant implementation on parsing.