|
chombo-discharge
|
Declaration of a "dual state" for advancing with the Kinetic Monte Carlo module. More...
#include <CD_KMCDualState.H>
Public Types | |
| using | State = std::vector< T > |
Public Member Functions | |
| KMCDualState ()=default | |
| Default constructor. | |
| KMCDualState (const KMCDualState &)=default | |
| Copy constructor. | |
| KMCDualState (const KMCDualState &&)=delete | |
| Disallowed move constructor. | |
| KMCDualState (const size_t a_numReactiveSpecies, const size_t a_numNonReactiveSpecies) noexcept | |
| Full constructor. | |
| virtual | ~KMCDualState () |
| Destructor. | |
| KMCDualState & | operator= (const KMCDualState &)=default |
| Copy assignment constructor. | |
| KMCDualState & | operator= (const KMCDualState &&)=delete |
| Disallowed move assignement. | |
| void | define (const size_t a_numReactiveSpecies, const size_t a_numNonReactiveSpecies) noexcept |
| Define function constructor. | |
| bool | isValidState () const noexcept |
| Check if state is a valid state. An invalid state will have a negative number of reactants/non-reactants. | |
| State & | getReactiveState () noexcept |
| Get modifiable reactive state. | |
| const State & | getReactiveState () const noexcept |
| Get reactive state. | |
| State & | getNonReactiveState () noexcept |
| Get modifiable non-reactive state. | |
| const State & | getNonReactiveState () const noexcept |
| Get non-reactive state. | |
| std::vector< T > | linearOut () const noexcept |
| Linearize the state onto an output vector. | |
| void | linearIn (const std::vector< T > &a_linearizedState) noexcept |
| Linearize the input buffer. | |
Protected Attributes | |
| int | m_numReactiveSpecies |
| Number of reactive species. | |
| int | m_numNonReactiveSpecies |
| Number of non-reactive species. | |
| State | m_reactiveState |
| Reactive state. | |
| State | m_nonReactiveState |
| Non-reactive state. | |
Declaration of a "dual state" for advancing with the Kinetic Monte Carlo module.
This state consists of both reactive and non-reactive species. The reactive species can appear on the left- and right-hand side of the reaction. The non-reactive species can only appear on the right-hand side of the reaction.
|
inlinenoexcept |
Full constructor.
| [in] | a_numReactiveSpecies | Number of reactive species in the state vector. |
| [in] | a_numNonReactiveSpecies | Number of non-reactive species in the state vector. |
|
inlinenoexcept |
Define function constructor.
| [in] | a_numReactiveSpecies | Number of reactive species in the state vector. |
| [in] | a_numNonReactiveSpecies | Number of non-reactive species in the state vector. |
|
inlinenoexcept |
Get non-reactive state.
|
inlinenoexcept |
Get modifiable non-reactive state.
|
inlinenoexcept |
Get reactive state.
|
inlinenoexcept |
Get modifiable reactive state.
|
inlinenoexcept |
Linearize the input buffer.
This routine should take the input vector and linearize it onto the current state. This is mostly used by KMCSolver when computing the Jacobians for implicit updates.
| [in] | a_linearizedState | Linearized state vector |
|
inlinenoexcept |
Linearize the state onto an output vector.
This is mostly by KMCSolver when computing the necessary Jacobians for implicit updates