|
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 > |
| Alias for the state type. | |
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 &a_other)=default |
| Copy assignment operator. | |
| KMCDualState & | operator= (const KMCDualState &&)=delete |
| Disallowed move assignment. | |
| void | define (const size_t a_numReactiveSpecies, const size_t a_numNonReactiveSpecies) noexcept |
| Define function. | |
| 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 onto the current state. | |
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.
| [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 |
Check if state is a valid state. An invalid state will have a negative number of reactants/non-reactants.
|
inlinenoexcept |
Linearize the input buffer onto the current state.
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 used by KMCSolver when computing the necessary Jacobians for implicit updates.
|
inlinedefault |
Copy assignment operator.
| [in] | a_other | Other state. |