13#ifndef CD_CDRPLASMAIMEXSDCSTORAGE_H
14#define CD_CDRPLASMAIMEXSDCSTORAGE_H
19#include <CD_NamespaceHeader.H>
47 CdrStorage(
const RefCountedPtr<AmrMesh>& a_amr,
48 const std::string& a_realm,
146 Vector<EBAMRCellData>&
156 Vector<EBAMRCellData>&
166 Vector<EBAMRCellData>&
176 Vector<EBAMRCellData>&
367 Vector<EBAMRCellData>
m_F;
442 const std::string& a_realm,
586 RtStorage(
const RefCountedPtr<AmrMesh>& a_amr,
587 const std::string& a_realm,
702 const std::string& a_realm,
828#include <CD_NamespaceFooter.H>
Declaration of core class for handling AMR-related operations (with embedded boundaries)
Declaration of Physics::CdrPlasma::CdrPlasmaImExSdcStepper.
Per-CDR-species scratch storage for the IMEX-SDC time stepper.
Definition CD_CdrPlasmaImExSdcStorage.H:33
EBAMRCellData m_scratch
First general-purpose cell-centered scratch array.
Definition CD_CdrPlasmaImExSdcStorage.H:317
EBAMRCellData m_divF
Cell-centered divergence of the advective flux.
Definition CD_CdrPlasmaImExSdcStorage.H:347
EBAMRIFData m_scratchIF4
Domain-face-centered normal density gradient.
Definition CD_CdrPlasmaImExSdcStorage.H:417
Vector< EBAMRCellData > m_phi
phi^k at each of the p+1 SDC nodes. Index m ∈ [0, p].
Definition CD_CdrPlasmaImExSdcStorage.H:352
EBAMRCellData m_old
Cell-centered solution at the start of the step. Used for subcycling.
Definition CD_CdrPlasmaImExSdcStorage.H:337
EBAMRCellData & getError()
Return the error estimator array (one component, cell-centered).
Definition CD_CdrPlasmaImExSdcStorage.H:96
EBAMRCellData & getOld()
Return the "old solution" array used when subcycling is enabled.
Definition CD_CdrPlasmaImExSdcStorage.H:116
EBAMRIVData & getEbVelo()
Return the EB-centered normal drift velocity.
Definition CD_CdrPlasmaImExSdcStorage.H:218
EBAMRCellData & getScratch()
Return the first cell-centered scratch array (one component).
Definition CD_CdrPlasmaImExSdcStorage.H:75
EBAMRIVData m_scratchIV1
EB-centered species density extrapolated from the cell center.
Definition CD_CdrPlasmaImExSdcStorage.H:382
EBAMRIFData m_scratchIF3
Domain-face-centered boundary flux.
Definition CD_CdrPlasmaImExSdcStorage.H:412
void allocateStorage(const int a_p)
Allocate all scratch arrays sized for p+1 SDC nodes.
Definition CD_CdrPlasmaImExSdcStorage.cpp:35
bool m_subcycle
If true, extra subcycling storage is allocated.
Definition CD_CdrPlasmaImExSdcStorage.H:312
EBAMRIVData m_scratchIV2
EB-centered normal drift velocity component.
Definition CD_CdrPlasmaImExSdcStorage.H:387
std::string m_realm
Realm on which storage is allocated.
Definition CD_CdrPlasmaImExSdcStorage.H:287
int m_ncomp
Number of scalar components (1 for CDR species).
Definition CD_CdrPlasmaImExSdcStorage.H:302
EBAMRCellData m_scratchD
SpaceDim-component cell-centered scratch array.
Definition CD_CdrPlasmaImExSdcStorage.H:342
EBAMRIVData m_scratchIVs
EB-centered scalar scratch array (one component, e.g. for diffusion states).
Definition CD_CdrPlasmaImExSdcStorage.H:372
EBAMRCellData & getScratch2()
Return the second cell-centered scratch array (one component).
Definition CD_CdrPlasmaImExSdcStorage.H:85
EBAMRIVData & getEbFlux()
Return the EB-centered boundary flux (outward positive).
Definition CD_CdrPlasmaImExSdcStorage.H:228
EBAMRIVData & getEbGrad()
Return the EB-centered normal density gradient.
Definition CD_CdrPlasmaImExSdcStorage.H:238
EBAMRIFData m_scratchIF1
Domain-face-centered species density extrapolated from the cell center.
Definition CD_CdrPlasmaImExSdcStorage.H:402
EBAMRCellData m_error
Cell-centered error estimator: |phi^{k+1} - phi^k|.
Definition CD_CdrPlasmaImExSdcStorage.H:327
EBAMRCellData & getGradient()
Return the cell-centered gradient storage (SpaceDim components).
Definition CD_CdrPlasmaImExSdcStorage.H:106
Vector< EBAMRCellData > m_FAR
Explicit advection-reaction operator F_AR(phi^k) at each node. Index m ∈ [0, p].
Definition CD_CdrPlasmaImExSdcStorage.H:357
void deallocateStorage()
Deallocate all scratch arrays.
Definition CD_CdrPlasmaImExSdcStorage.cpp:74
EBAMRIFData & getDomainGrad()
Return the domain-face-centered normal density gradient.
Definition CD_CdrPlasmaImExSdcStorage.H:278
RefCountedPtr< AmrMesh > m_amr
AMR mesh used for allocation.
Definition CD_CdrPlasmaImExSdcStorage.H:292
EBAMRIFData & getDomainFlux()
Return the domain-face-centered boundary flux (inward positive).
Definition CD_CdrPlasmaImExSdcStorage.H:268
EBAMRCellData & getScratchD()
Return the SpaceDim-component cell-centered scratch array.
Definition CD_CdrPlasmaImExSdcStorage.H:127
Vector< EBAMRCellData > & getFAR()
Return the explicit advection-reaction operator F_AR^k at all p+1 nodes.
Definition CD_CdrPlasmaImExSdcStorage.H:157
~CdrStorage()
Destructor.
Definition CD_CdrPlasmaImExSdcStorage.cpp:29
EBAMRIVData m_scratchIV3
EB-centered boundary flux.
Definition CD_CdrPlasmaImExSdcStorage.H:392
Vector< EBAMRCellData > & getF()
Return the combined operator F^k = F_AR^k + F_D^k at all p+1 nodes.
Definition CD_CdrPlasmaImExSdcStorage.H:177
EBAMRIFData & getDomainState()
Return the domain-face-centered species density (extrapolated from the cell center).
Definition CD_CdrPlasmaImExSdcStorage.H:248
phase::which_phase m_phase
Phase on which storage is allocated.
Definition CD_CdrPlasmaImExSdcStorage.H:297
Vector< EBAMRCellData > & getFD()
Return the implicit diffusion operator F_D^k at all p+1 nodes.
Definition CD_CdrPlasmaImExSdcStorage.H:167
EBAMRCellData & getDivF()
Return the divergence of the advective flux (cell-centered, one component).
Definition CD_CdrPlasmaImExSdcStorage.H:137
EBAMRCellData m_gradient
Cell-centered gradient of the species density (SpaceDim components).
Definition CD_CdrPlasmaImExSdcStorage.H:332
CdrStorage()
Default constructor. Leaves all members uninitialised; call allocateStorage() after construction.
EBAMRIVData m_scratchIVD
EB-centered SpaceDim-component scratch array.
Definition CD_CdrPlasmaImExSdcStorage.H:377
EBAMRIVData & getEbState()
Return the EB-centered species density (extrapolated from the cell center).
Definition CD_CdrPlasmaImExSdcStorage.H:208
EBAMRIVData & getEbScratch1()
Return the first EB-centered scratch array (one component).
Definition CD_CdrPlasmaImExSdcStorage.H:188
Vector< EBAMRCellData > & getPhi()
Return the phi^k solution at all p+1 SDC nodes.
Definition CD_CdrPlasmaImExSdcStorage.H:147
EBAMRIFData m_scratchIF2
Domain-face-centered normal drift velocity component.
Definition CD_CdrPlasmaImExSdcStorage.H:407
EBAMRIVData m_scratchIV4
EB-centered normal density gradient.
Definition CD_CdrPlasmaImExSdcStorage.H:397
int m_p
Number of SDC subintervals (p+1 nodes).
Definition CD_CdrPlasmaImExSdcStorage.H:307
Vector< EBAMRCellData > m_FD
Implicit diffusion operator F_D(phi^k) at each node. Index m ∈ [0, p].
Definition CD_CdrPlasmaImExSdcStorage.H:362
EBAMRCellData m_scratch2
Second general-purpose cell-centered scratch array.
Definition CD_CdrPlasmaImExSdcStorage.H:322
EBAMRIFData & getDomainVelo()
Return the domain-face-centered normal drift velocity.
Definition CD_CdrPlasmaImExSdcStorage.H:258
EBAMRIVData & getEbScratchD()
Return the SpaceDim-component EB-centered scratch array.
Definition CD_CdrPlasmaImExSdcStorage.H:198
Vector< EBAMRCellData > m_F
Combined operator F = F_AR + F_D at each node. Index m ∈ [0, p].
Definition CD_CdrPlasmaImExSdcStorage.H:367
Field solver scratch storage for the IMEX-SDC time stepper.
Definition CD_CdrPlasmaImExSdcStorage.H:427
EBAMRCellData & getElectricFieldCell()
Return the cell-centered electric field vector (SpaceDim components).
Definition CD_CdrPlasmaImExSdcStorage.H:479
~FieldStorage()
Destructor.
Definition CD_CdrPlasmaImExSdcStorage.cpp:114
EBAMRIFData m_E_dom
Domain-face-centered electric field vector (SpaceDim components).
Definition CD_CdrPlasmaImExSdcStorage.H:563
int m_p
Number of SDC subintervals.
Definition CD_CdrPlasmaImExSdcStorage.H:538
EBAMRFluxData m_E_face
Face-centered normal component of the electric field.
Definition CD_CdrPlasmaImExSdcStorage.H:553
EBAMRFluxData & getElectricFieldFace()
Return the face-centered normal electric field component.
Definition CD_CdrPlasmaImExSdcStorage.H:489
EBAMRCellData m_E_cell
Cell-centered electric field vector (SpaceDim components).
Definition CD_CdrPlasmaImExSdcStorage.H:548
RefCountedPtr< AmrMesh > m_amr
AMR mesh used for allocation.
Definition CD_CdrPlasmaImExSdcStorage.H:523
EBAMRIVData m_E_eb
EB-centroid-centered electric field vector (SpaceDim components).
Definition CD_CdrPlasmaImExSdcStorage.H:558
void allocateStorage(const int a_p)
Allocate all field storage arrays for p+1 SDC nodes.
Definition CD_CdrPlasmaImExSdcStorage.cpp:120
std::string m_realm
Realm on which storage is allocated.
Definition CD_CdrPlasmaImExSdcStorage.H:518
phase::which_phase m_phase
Phase on which storage is allocated.
Definition CD_CdrPlasmaImExSdcStorage.H:528
int m_ncomp
Number of field components (SpaceDim).
Definition CD_CdrPlasmaImExSdcStorage.H:533
MFAMRCellData & getPrevious()
Return the multifluid electrostatic potential at the previous time step.
Definition CD_CdrPlasmaImExSdcStorage.H:469
FieldStorage()
Default constructor. Leaves all members uninitialised; call allocateStorage() after construction.
EBAMRIVData & getElectricFieldEb()
Return the EB-centroid-centered electric field vector.
Definition CD_CdrPlasmaImExSdcStorage.H:499
void deallocateStorage()
Deallocate all field storage arrays.
Definition CD_CdrPlasmaImExSdcStorage.cpp:132
MFAMRCellData m_previous
Multifluid cell-centered electrostatic potential at the previous time step.
Definition CD_CdrPlasmaImExSdcStorage.H:543
EBAMRIFData & getElectricFieldDomain()
Return the domain-face-centered electric field vector.
Definition CD_CdrPlasmaImExSdcStorage.H:509
Per-RTE-solver scratch storage for the IMEX-SDC time stepper.
Definition CD_CdrPlasmaImExSdcStorage.H:572
int m_ncomp
Number of scalar components (1 for RTE species).
Definition CD_CdrPlasmaImExSdcStorage.H:658
void deallocateStorage()
Deallocate all RTE scratch storage.
Definition CD_CdrPlasmaImExSdcStorage.cpp:166
std::string m_realm
Realm on which storage is allocated.
Definition CD_CdrPlasmaImExSdcStorage.H:643
EBAMRIFData m_scratchIF
Domain-face-centered scratch array for the isotropic photon density boundary condition.
Definition CD_CdrPlasmaImExSdcStorage.H:678
int m_p
Number of SDC subintervals.
Definition CD_CdrPlasmaImExSdcStorage.H:663
EBAMRCellData & getPrevious()
Return the cell-centered photon density at the previous time step.
Definition CD_CdrPlasmaImExSdcStorage.H:614
EBAMRIFData & getDomainFlux()
Return the domain-face-centered isotropic photon flux scratch array.
Definition CD_CdrPlasmaImExSdcStorage.H:634
void allocateStorage(const int a_p)
Allocate RTE scratch storage for p+1 SDC nodes.
Definition CD_CdrPlasmaImExSdcStorage.cpp:156
RefCountedPtr< AmrMesh > m_amr
AMR mesh used for allocation.
Definition CD_CdrPlasmaImExSdcStorage.H:648
EBAMRIVData m_scratchIV
EB-centered scratch array for the isotropic photon density boundary condition.
Definition CD_CdrPlasmaImExSdcStorage.H:673
phase::which_phase m_phase
Phase on which storage is allocated.
Definition CD_CdrPlasmaImExSdcStorage.H:653
~RtStorage()
Destructor.
Definition CD_CdrPlasmaImExSdcStorage.cpp:150
RtStorage()
Default constructor. Leaves all members uninitialised; call allocateStorage() after construction.
EBAMRIVData & getEbFlux()
Return the EB-centered isotropic photon flux scratch array.
Definition CD_CdrPlasmaImExSdcStorage.H:624
EBAMRCellData m_previous
Cell-centered photon density at the previous time step (used to restore state on rejection).
Definition CD_CdrPlasmaImExSdcStorage.H:668
Surface charge solver scratch storage for the IMEX-SDC time stepper.
Definition CD_CdrPlasmaImExSdcStorage.H:687
Vector< EBAMRIVData > m_Fnew
New (current-sweep) flux operator slopes at each node. Index m ∈ [0, p].
Definition CD_CdrPlasmaImExSdcStorage.H:818
Vector< EBAMRIVData > m_Fold
Lagged (previous-sweep) flux operator slopes at each node. Index m ∈ [0, p].
Definition CD_CdrPlasmaImExSdcStorage.H:823
EBAMRIVData m_error
Surface charge error estimator: |sigma^{k+1} - sigma^k|.
Definition CD_CdrPlasmaImExSdcStorage.H:808
EBAMRIVData & getError()
Return the surface charge error estimator: |sigma^{k+1} - sigma^k|.
Definition CD_CdrPlasmaImExSdcStorage.H:739
RefCountedPtr< AmrMesh > m_amr
AMR mesh used for allocation.
Definition CD_CdrPlasmaImExSdcStorage.H:783
int m_ncomp
Number of scalar components (1 for surface charge).
Definition CD_CdrPlasmaImExSdcStorage.H:793
void deallocateStorage()
Deallocate all surface charge scratch storage.
Definition CD_CdrPlasmaImExSdcStorage.cpp:207
std::string m_realm
Realm on which storage is allocated.
Definition CD_CdrPlasmaImExSdcStorage.H:778
Vector< EBAMRIVData > & getFnew()
Return the new (current-sweep) flux operator slopes at all p+1 nodes.
Definition CD_CdrPlasmaImExSdcStorage.H:759
~SigmaStorage()
Destructor.
Definition CD_CdrPlasmaImExSdcStorage.cpp:182
int m_p
Number of SDC subintervals.
Definition CD_CdrPlasmaImExSdcStorage.H:798
EBAMRIVData m_scratch
General-purpose EB-centered scratch array.
Definition CD_CdrPlasmaImExSdcStorage.H:803
Vector< EBAMRIVData > & getFold()
Return the lagged (previous-sweep) flux operator slopes at all p+1 nodes.
Definition CD_CdrPlasmaImExSdcStorage.H:769
phase::which_phase m_phase
Phase on which storage is allocated.
Definition CD_CdrPlasmaImExSdcStorage.H:788
EBAMRIVData & getScratch()
Return the general-purpose EB-centered scratch array.
Definition CD_CdrPlasmaImExSdcStorage.H:729
Vector< EBAMRIVData > m_sigma
sigma^k at each of the p+1 SDC nodes. Index m ∈ [0, p].
Definition CD_CdrPlasmaImExSdcStorage.H:813
void allocateStorage(const int a_p)
Allocate surface charge scratch storage for p+1 SDC nodes.
Definition CD_CdrPlasmaImExSdcStorage.cpp:188
SigmaStorage()
Default constructor. Leaves all members uninitialised; call allocateStorage() after construction.
Vector< EBAMRIVData > & getSigmaSolver()
Return sigma^k at all p+1 SDC nodes.
Definition CD_CdrPlasmaImExSdcStorage.H:749
Namespace containing physics models for use with chombo-discharge.
Definition CD_AdvectionDiffusion.H:16
which_phase
Enumeration of supported phases.
Definition CD_MultiFluidIndexSpace.H:38