|
chombo-discharge
|
Surface charge solver scratch storage for the IMEX-SDC time stepper. More...
#include <CD_CdrPlasmaImExSdcStorage.H>
Public Member Functions | |
| SigmaStorage () | |
| Default constructor. Leaves all members uninitialised; call allocateStorage() after construction. | |
| SigmaStorage (const RefCountedPtr< AmrMesh > &a_amr, const std::string &a_realm, const phase::which_phase a_phase, const int a_ncomp) | |
| Full constructor. | |
| ~SigmaStorage () | |
| Destructor. | |
| void | allocateStorage (const int a_p) |
| Allocate surface charge scratch storage for p+1 SDC nodes. | |
| void | deallocateStorage () |
| Deallocate all surface charge scratch storage. | |
| EBAMRIVData & | getScratch () |
| Return the general-purpose EB-centered scratch array. | |
| EBAMRIVData & | getError () |
| Return the surface charge error estimator: |sigma^{k+1} - sigma^k|. | |
| Vector< EBAMRIVData > & | getSigmaSolver () |
| Return sigma^k at all p+1 SDC nodes. | |
| Vector< EBAMRIVData > & | getFnew () |
| Return the new (current-sweep) flux operator slopes at all p+1 nodes. | |
| Vector< EBAMRIVData > & | getFold () |
| Return the lagged (previous-sweep) flux operator slopes at all p+1 nodes. | |
Protected Attributes | |
| std::string | m_realm |
| Realm on which storage is allocated. | |
| RefCountedPtr< AmrMesh > | m_amr |
| AMR mesh used for allocation. | |
| phase::which_phase | m_phase |
| Phase on which storage is allocated. | |
| int | m_ncomp |
| Number of scalar components (1 for surface charge). | |
| int | m_p |
| Number of SDC subintervals. | |
| EBAMRIVData | m_scratch |
| General-purpose EB-centered scratch array. | |
| EBAMRIVData | m_error |
| Surface charge error estimator: |sigma^{k+1} - sigma^k|. | |
| Vector< EBAMRIVData > | m_sigma |
| sigma^k at each of the p+1 SDC nodes. Index m ∈ [0, p]. | |
| Vector< EBAMRIVData > | m_Fnew |
| New (current-sweep) flux operator slopes at each node. Index m ∈ [0, p]. | |
| Vector< EBAMRIVData > | m_Fold |
| Lagged (previous-sweep) flux operator slopes at each node. Index m ∈ [0, p]. | |
Surface charge solver scratch storage for the IMEX-SDC time stepper.
Holds sigma^k at each SDC node plus the new and lagged flux operator values needed for the SDC correction sweeps, and an error estimator.
| CdrPlasmaImExSdcStepper::SigmaStorage::SigmaStorage | ( | const RefCountedPtr< AmrMesh > & | a_amr, |
| const std::string & | a_realm, | ||
| const phase::which_phase | a_phase, | ||
| const int | a_ncomp | ||
| ) |
Full constructor.
| [in] | a_amr | AMR mesh used to allocate data. |
| [in] | a_realm | Realm on which storage is allocated. |
| [in] | a_phase | Phase on which storage is allocated. |
| [in] | a_ncomp | Number of components (1 for scalar surface charge). |
Allocate surface charge scratch storage for p+1 SDC nodes.
| [in] | a_p | Number of SDC subintervals. |
|
inline |
Return the surface charge error estimator: |sigma^{k+1} - sigma^k|.
|
inline |
Return the new (current-sweep) flux operator slopes at all p+1 nodes.
|
inline |
Return the lagged (previous-sweep) flux operator slopes at all p+1 nodes.
|
inline |
Return the general-purpose EB-centered scratch array.
|
inline |
Return sigma^k at all p+1 SDC nodes.