|
chombo-discharge
|
Per-CDR-species scratch storage for the IMEX-SDC time stepper. More...
#include <CD_CdrPlasmaImExSdcStorage.H>
Public Member Functions | |
| CdrStorage () | |
| Default constructor. Leaves all members uninitialised; call allocateStorage() after construction. | |
| CdrStorage (const RefCountedPtr< AmrMesh > &a_amr, const std::string &a_realm, const phase::which_phase a_phase, const int a_ncomp) | |
| Full constructor. | |
| ~CdrStorage () | |
| Destructor. | |
| void | allocateStorage (const int a_p) |
| Allocate all scratch arrays sized for p+1 SDC nodes. | |
| void | deallocateStorage () |
| Deallocate all scratch arrays. | |
| EBAMRCellData & | getScratch () |
| Return the first cell-centered scratch array (one component). | |
| EBAMRCellData & | getScratch2 () |
| Return the second cell-centered scratch array (one component). | |
| EBAMRCellData & | getError () |
| Return the error estimator array (one component, cell-centered). | |
| EBAMRCellData & | getGradient () |
| Return the cell-centered gradient storage (SpaceDim components). | |
| EBAMRCellData & | getOld () |
| Return the "old solution" array used when subcycling is enabled. | |
| EBAMRCellData & | getScratchD () |
| Return the SpaceDim-component cell-centered scratch array. | |
| EBAMRCellData & | getDivF () |
| Return the divergence of the advective flux (cell-centered, one component). | |
| Vector< EBAMRCellData > & | getPhi () |
| Return the phi^k solution at all p+1 SDC nodes. | |
| Vector< EBAMRCellData > & | getFAR () |
| Return the explicit advection-reaction operator F_AR^k at all p+1 nodes. | |
| Vector< EBAMRCellData > & | getFD () |
| Return the implicit diffusion operator F_D^k at all p+1 nodes. | |
| Vector< EBAMRCellData > & | getF () |
| Return the combined operator F^k = F_AR^k + F_D^k at all p+1 nodes. | |
| EBAMRIVData & | getEbScratch1 () |
| Return the first EB-centered scratch array (one component). | |
| EBAMRIVData & | getEbScratchD () |
| Return the SpaceDim-component EB-centered scratch array. | |
| EBAMRIVData & | getEbState () |
| Return the EB-centered species density (extrapolated from the cell center). | |
| EBAMRIVData & | getEbVelo () |
| Return the EB-centered normal drift velocity. | |
| EBAMRIVData & | getEbFlux () |
| Return the EB-centered boundary flux (outward positive). | |
| EBAMRIVData & | getEbGrad () |
| Return the EB-centered normal density gradient. | |
| EBAMRIFData & | getDomainState () |
| Return the domain-face-centered species density (extrapolated from the cell center). | |
| EBAMRIFData & | getDomainVelo () |
| Return the domain-face-centered normal drift velocity. | |
| EBAMRIFData & | getDomainFlux () |
| Return the domain-face-centered boundary flux (inward positive). | |
| EBAMRIFData & | getDomainGrad () |
| Return the domain-face-centered normal density gradient. | |
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 CDR species). | |
| int | m_p |
| Number of SDC subintervals (p+1 nodes). | |
| bool | m_subcycle |
| If true, extra subcycling storage is allocated. | |
| EBAMRCellData | m_scratch |
| First general-purpose cell-centered scratch array. | |
| EBAMRCellData | m_scratch2 |
| Second general-purpose cell-centered scratch array. | |
| EBAMRCellData | m_error |
| Cell-centered error estimator: |phi^{k+1} - phi^k|. | |
| EBAMRCellData | m_gradient |
| Cell-centered gradient of the species density (SpaceDim components). | |
| EBAMRCellData | m_old |
| Cell-centered solution at the start of the step. Used for subcycling. | |
| EBAMRCellData | m_scratchD |
| SpaceDim-component cell-centered scratch array. | |
| EBAMRCellData | m_divF |
| Cell-centered divergence of the advective flux. | |
| Vector< EBAMRCellData > | m_phi |
| phi^k at each of the p+1 SDC nodes. Index m ∈ [0, p]. | |
| Vector< EBAMRCellData > | m_FAR |
| Explicit advection-reaction operator F_AR(phi^k) at each node. Index m ∈ [0, p]. | |
| Vector< EBAMRCellData > | m_FD |
| Implicit diffusion operator F_D(phi^k) at each node. Index m ∈ [0, p]. | |
| Vector< EBAMRCellData > | m_F |
| Combined operator F = F_AR + F_D at each node. Index m ∈ [0, p]. | |
| EBAMRIVData | m_scratchIVs |
| EB-centered scalar scratch array (one component, e.g. for diffusion states). | |
| EBAMRIVData | m_scratchIVD |
| EB-centered SpaceDim-component scratch array. | |
| EBAMRIVData | m_scratchIV1 |
| EB-centered species density extrapolated from the cell center. | |
| EBAMRIVData | m_scratchIV2 |
| EB-centered normal drift velocity component. | |
| EBAMRIVData | m_scratchIV3 |
| EB-centered boundary flux. | |
| EBAMRIVData | m_scratchIV4 |
| EB-centered normal density gradient. | |
| EBAMRIFData | m_scratchIF1 |
| Domain-face-centered species density extrapolated from the cell center. | |
| EBAMRIFData | m_scratchIF2 |
| Domain-face-centered normal drift velocity component. | |
| EBAMRIFData | m_scratchIF3 |
| Domain-face-centered boundary flux. | |
| EBAMRIFData | m_scratchIF4 |
| Domain-face-centered normal density gradient. | |
Per-CDR-species scratch storage for the IMEX-SDC time stepper.
Holds all AMR data arrays needed to advance a single CDR species through the SDC integration: the phi^k solution at each of the p+1 quadrature nodes, the explicit advection-reaction operator F_AR^k, the implicit diffusion operator F_D^k, the combined operator F^k = F_AR^k + F_D^k, and auxiliary arrays for gradient computation, EB/domain state extrapolation, and error estimation.
| CdrPlasmaImExSdcStepper::CdrStorage::CdrStorage | ( | 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 CDR species). |
Allocate all scratch arrays sized for p+1 SDC nodes.
| [in] | a_p | Number of SDC subintervals. |
|
inline |
Return the divergence of the advective flux (cell-centered, one component).
|
inline |
Return the domain-face-centered boundary flux (inward positive).
|
inline |
Return the domain-face-centered normal density gradient.
|
inline |
Return the domain-face-centered species density (extrapolated from the cell center).
|
inline |
Return the domain-face-centered normal drift velocity.
|
inline |
Return the EB-centered boundary flux (outward positive).
|
inline |
Return the EB-centered normal density gradient.
|
inline |
Return the first EB-centered scratch array (one component).
Used for diffusion-related EB quantities.
|
inline |
Return the SpaceDim-component EB-centered scratch array.
|
inline |
Return the EB-centered species density (extrapolated from the cell center).
|
inline |
Return the EB-centered normal drift velocity.
|
inline |
Return the error estimator array (one component, cell-centered).
Stores |phi^{k+1} - phi^k| after each correction sweep.
|
inline |
Return the combined operator F^k = F_AR^k + F_D^k at all p+1 nodes.
|
inline |
Return the explicit advection-reaction operator F_AR^k at all p+1 nodes.
|
inline |
Return the implicit diffusion operator F_D^k at all p+1 nodes.
|
inline |
Return the cell-centered gradient storage (SpaceDim components).
|
inline |
Return the "old solution" array used when subcycling is enabled.
|
inline |
Return the phi^k solution at all p+1 SDC nodes.
|
inline |
Return the first cell-centered scratch array (one component).
|
inline |
Return the second cell-centered scratch array (one component).
|
inline |
Return the SpaceDim-component cell-centered scratch array.
Used for intermediate vector quantities such as velocity-weighted states.