12 #ifndef CD_ItoPlasmaStepper_H
13 #define CD_ItoPlasmaStepper_H
27 #include <CD_NamespaceHeader.H>
41 AllMobileAndDiffusive,
45 ChargedMobileOrDiffusive,
46 ChargedMobileAndDiffusive,
134 readCheckpointHeader(HDF5HeaderData& a_header);
143 writeCheckpointHeader(HDF5HeaderData& a_header)
const override;
153 writeCheckpointData(HDF5Handle& a_handle,
const int a_lvl)
const override;
163 readCheckpointData(HDF5Handle& a_handle,
const int a_lvl)
override;
190 virtual Vector<long int>
241 preRegrid(
const int a_lmin,
const int a_oldFinestLevel)
override;
250 regrid(
const int a_lmin,
const int a_oldFinestLevel,
const int a_newFinestLevel)
override;
279 Vector<Vector<Box>>& a_boxes,
280 const std::string a_realm,
281 const Vector<DisjointBoxLayout>& a_grids,
283 const int a_finestLevel)
override;
297 setFieldSolver(RefCountedPtr<FieldSolver>& a_fieldSolver) noexcept;
312 setVoltage(
const std::function<Real(
const Real a_time)>& a_voltage) noexcept;
384 RefCountedPtr<ItoLayout<ItoSolver>>
m_ito;
389 RefCountedPtr<RtLayout<McPhoto>>
m_rte;
699 const bool a_delete) noexcept;
716 const bool a_delete) noexcept;
728 const Real a_tolerance) noexcept;
742 const Real a_tolerance) noexcept;
754 const Real a_tolerance) noexcept;
770 const Real a_tolerance) noexcept;
790 std::string& a_maxSolver,
791 std::string& a_minSolver)
const noexcept;
805 Real& a_minParticles,
806 Real& a_maxParticles,
821 Vector<Vector<Box>>& a_boxes,
822 const std::string a_realm,
823 const Vector<DisjointBoxLayout>& a_grids,
825 const int a_finestLevel) noexcept;
838 Vector<Vector<Box>>& a_boxes,
839 const std::string a_realm,
840 const Vector<DisjointBoxLayout>& a_grids,
842 const int a_finestLevel) noexcept;
848 virtual Vector<RefCountedPtr<ItoSolver>>
981 const Real a_time) noexcept;
992 const LevelData<EBCellFAB>& a_E,
994 const Real a_time) noexcept;
1007 const EBCellFAB& a_electricField,
1009 const DataIndex a_dit,
1010 const Box a_cellBox,
1011 const Real a_time) noexcept;
1036 const Real a_time) noexcept;
1047 const LevelData<EBCellFAB>& a_electricField,
1049 const Real a_time) noexcept;
1064 const EBCellFAB& a_E,
1066 const DataIndex a_dit,
1068 const Real a_time) noexcept;
1113 const DataIndex a_dit,
1115 const EBISBox& a_ebisbox) noexcept;
1146 const DataIndex a_dit,
1148 const EBISBox& a_ebisbox) noexcept;
1182 LevelData<EBCellFAB>& a_newPhotonsPerCell,
1183 LevelData<EBCellFAB>& a_meanParticleEnergies,
1184 const LevelData<EBCellFAB>& a_electricField,
1185 const LevelData<EBCellFAB>& a_EdotJ,
1187 const Real a_dt) noexcept;
1206 EBCellFAB& a_newPhotonsPerCell,
1207 EBCellFAB& a_meanParticleEnergies,
1208 const EBCellFAB& a_electricField,
1209 const EBCellFAB& a_EdotJ,
1211 const DataIndex a_dit,
1214 const Real a_dt) noexcept;
1241 const LevelData<EBCellFAB>& a_oldParticlesPerCell,
1242 const LevelData<EBCellFAB>& a_meanParticleEnergies,
1243 const LevelData<EBCellFAB>& a_newPhotonsPerCell,
1244 const
int a_level) noexcept;
1260 const EBCellFAB& a_oldParticlesPerCell,
1261 const EBCellFAB& a_meanParticleEnergies,
1262 const EBCellFAB& a_newPhotonsPerCell,
1264 const DataIndex a_dit,
1266 const Real a_dx) noexcept;
1284 const Real a_dt) noexcept;
1326 const LevelData<EBCellFAB>& a_particlesPerCell,
1327 const
int a_level) noexcept;
1340 const EBCellFAB& a_particlesPercCell,
1342 const DataIndex a_dit,
1343 const Box a_box) noexcept;
1434 #include <CD_NamespaceFooter.H>
BoxSorting
Enum for sorting boxes.
Definition: CD_BoxSorting.H:21
EBIntersection
Enum for putting some logic into how we think about intersection between particles and EBs.
Definition: CD_EBIntersection.H:21
EBRepresentation
Enum for putting some logic into how we think about EBs. This is just a simply supporting class for v...
Definition: CD_EBRepresentation.H:22
Contains declaration of a base electrostatics solver class.
Declaration of a class that holds a set of ItoSolvers.
Main file for describing Ito-based plasma physics.
SpeciesSubset
Enum for differentiating between types of particles.
Definition: CD_ItoPlasmaStepper.H:36
Declaration of a radiative transfer solver which uses Monte Carlo sampling of computational or real p...
Declaration of a computational point particle.
Declaration of a class that holds a set of RtSolvers.
Declaration of a cut-cell ODE solver.
Declaration of main (abstract) time stepper class.
Class for holding a set of ItoSolvers.
Definition: CD_ItoLayout.H:30
A particle class for use with ItoSolvers, i.e. drifting Brownian walkers.
Definition: CD_ItoParticle.H:40
Base class for Ito diffusion particle models.
Definition: CD_ItoSolver.H:33
WhichContainer
Enum class for distinguishing various types of particle containers.
Definition: CD_ItoSolver.H:47
Radiative tranfer equation solver using Monte-Carlo simulation.
Definition: CD_McPhoto.H:38
Templated class for holding particles on an AMR hierarchy with particle remapping.
Definition: CD_ParticleContainer.H:48
Particle class for usage with Monte Carlo radiative transfer.
Definition: CD_Photon.H:29
Base time stepper class that advances the Ito-Poisson system of equations.
Definition: CD_ItoPlasmaStepper.H:54
EBAMRCellData m_currentDensity
Storage for current density.
Definition: CD_ItoPlasmaStepper.H:549
Real m_advectionDiffusionCFL
CFL-like time step for advection-diffusion.
Definition: CD_ItoPlasmaStepper.H:492
EBAMRCellData m_fluidEPS
For holding the mean particle energy.
Definition: CD_ItoPlasmaStepper.H:621
bool m_regridSuperparticles
Do or do not superparticle merging/splitting on regrids.
Definition: CD_ItoPlasmaStepper.H:424
virtual void reconcileParticles(const EBAMRCellData &a_newParticlesPerCell, const EBAMRCellData &a_oldParticlesPerCell, const EBAMRCellData &a_meanParticleEnergies, const EBAMRCellData &a_newPhotonsPerCell) noexcept
Reconcile particles. At the bottom, this will call the physics interface for particle reconciliation.
Definition: CD_ItoPlasmaStepper.cpp:3016
virtual void parseLoadBalance() noexcept
Parse load balancing.
Definition: CD_ItoPlasmaStepper.cpp:219
virtual void parseParametersEB() noexcept
Parse things related to the EB.
Definition: CD_ItoPlasmaStepper.cpp:310
virtual void injectParticlesEB() noexcept
Inject particles through the EB.
Definition: CD_ItoPlasmaStepper.cpp:3480
virtual void computeConductivityCell(EBAMRCellData &a_conductivity) noexcept
Compute the cell-centered conductiivty.
Definition: CD_ItoPlasmaStepper.cpp:1352
virtual Real advance(const Real a_dt)=0
Advancement method. Needs to be implemented by subclasses.
Vector< int > m_loadBalanceIndices
Solver indices used when load-balancing the particle solvers.
Definition: CD_ItoPlasmaStepper.H:543
virtual void parseTimeStepRestrictions() noexcept
Parse time step restrictions.
Definition: CD_ItoPlasmaStepper.cpp:268
virtual void loadBalanceParticleRealm(Vector< Vector< int >> &a_procs, Vector< Vector< Box >> &a_boxes, const std::string a_realm, const Vector< DisjointBoxLayout > &a_grids, const int a_lmin, const int a_finestLevel) noexcept
Routine called by loadBalanceBoxes and used for particle-based load balancing.
Definition: CD_ItoPlasmaStepper.cpp:3820
EBAMRCellData m_newPPC
For holding the number of physical particles per cell.
Definition: CD_ItoPlasmaStepper.H:579
virtual Real computePhysicsDt() noexcept
Compute a maximum time step from the physics interface.
Definition: CD_ItoPlasmaStepper.cpp:3514
virtual Real getTime() const noexcept
Get current simulation time.
Definition: CD_ItoPlasmaStepper.cpp:1290
EBAMRCellData m_electricFieldFluid
Storage for holding the plasma phase electric field on the fluid realm.
Definition: CD_ItoPlasmaStepper.H:626
virtual void parseRuntimeOptions() override
Parse runtime configurable options.
Definition: CD_ItoPlasmaStepper.cpp:84
virtual void setFieldSolver(RefCountedPtr< FieldSolver > &a_fieldSolver) noexcept
Set the field solver.
Definition: CD_ItoPlasmaStepper.cpp:1217
virtual void preRegrid(const int a_lmin, const int a_oldFinestLevel) override
Perform pre-regrid operations.
Definition: CD_ItoPlasmaStepper.cpp:1068
virtual void initialSigma()
Fill surface charge solver with initial data.
Definition: CD_ItoPlasmaStepper.cpp:520
RefCountedPtr< ItoPlasmaPhysics > m_physics
Implementation of ItoPlasmaPhysics.
Definition: CD_ItoPlasmaStepper.H:379
virtual void setupRadiativeTransfer()
Set up the radiative transfer solver.
Definition: CD_ItoPlasmaStepper.cpp:376
virtual void regrid(const int a_lmin, const int a_oldFinestLevel, const int a_newFinestLevel) override
Regrid methods – puts all data on the new mesh.
Definition: CD_ItoPlasmaStepper.cpp:1103
virtual Vector< RefCountedPtr< ItoSolver > > getLoadBalanceSolvers() const noexcept
Get the solvers used for load balancing.
Definition: CD_ItoPlasmaStepper.cpp:3745
virtual void parseDualGrid() noexcept
Parse dual or single realm calculations.
Definition: CD_ItoPlasmaStepper.cpp:197
virtual void loadBalanceFluidRealm(Vector< Vector< int >> &a_procs, Vector< Vector< Box >> &a_boxes, const std::string a_realm, const Vector< DisjointBoxLayout > &a_grids, const int a_lmin, const int a_finestLevel) noexcept
Routine called by loadBalanceBoxes and used for particle-based load balancing.
Definition: CD_ItoPlasmaStepper.cpp:3960
bool m_plotCurrentDensity
Plot conductivity or not.
Definition: CD_ItoPlasmaStepper.H:449
virtual void writePlotData(EBAMRCellData &a_output, Vector< std::string > &a_plotVariableNames, int &a_icomp) const override
Write plot data to output holder.
Definition: CD_ItoPlasmaStepper.cpp:687
virtual void parseOptions()
Parse options.
Definition: CD_ItoPlasmaStepper.cpp:66
virtual void computeItoDiffusionLFA() noexcept
Compute mesh-based diffusion coefficients for LFA coupling.
Definition: CD_ItoPlasmaStepper.cpp:2323
EBAMRCellData m_oldPPC
For holding the number of physical particles per cell.
Definition: CD_ItoPlasmaStepper.H:573
virtual Real computeRelaxationTime() noexcept
Compute the dielectric relaxation time.
Definition: CD_ItoPlasmaStepper.cpp:1421
virtual void sortPhotonsByCell(const McPhoto::WhichContainer a_which) noexcept
Sort photons by cells.
Definition: CD_ItoPlasmaStepper.cpp:3719
virtual void setupSigma()
Set up the surface charge solver.
Definition: CD_ItoPlasmaStepper.cpp:392
int m_mergeInterval
How often to merge superparticles.
Definition: CD_ItoPlasmaStepper.H:465
virtual void intersectParticles(const SpeciesSubset a_speciesSubset, const EBIntersection a_interactionAlg, const bool a_delete) noexcept
Intersect a subset of the particles with the domain and embedded boundary.
Definition: CD_ItoPlasmaStepper.cpp:1493
Real m_diffusionDt
The diffusive time step (not multiplied by m_diffusionCFL)
Definition: CD_ItoPlasmaStepper.H:518
bool m_abortOnFailure
Flag for abandoning simulation of Poisson solver fails.
Definition: CD_ItoPlasmaStepper.H:409
virtual void postRegrid() override
Perform post-regrid operations – default implementation does nothing.
Definition: CD_ItoPlasmaStepper.cpp:1147
virtual void setItoVelocityFunctions() noexcept
Set the Ito velocity functions. This is sgn(charge) * E.
Definition: CD_ItoPlasmaStepper.cpp:2082
bool m_plotConductivity
Plot conductivity or not.
Definition: CD_ItoPlasmaStepper.H:444
virtual Real computeDt() override
Compute a time step used for the advance method.
Definition: CD_ItoPlasmaStepper.cpp:966
virtual void getMaxMinItoDensity(Real &a_maxDensity, Real &a_minDensity, std::string &a_maxSolver, std::string &a_minSolver) const noexcept
Get maximum density of the Ito species.
Definition: CD_ItoPlasmaStepper.cpp:896
virtual void allocateInternals()
Allocate "internal" storage.
Definition: CD_ItoPlasmaStepper.cpp:428
TimeCode
An enum for encapsulating how time steps were restricted.
Definition: CD_ItoPlasmaStepper.H:334
RefCountedPtr< ItoLayout< ItoSolver > > m_ito
Ito solvers.
Definition: CD_ItoPlasmaStepper.H:384
virtual void setupSolvers() override
Set up solvers.
Definition: CD_ItoPlasmaStepper.cpp:325
virtual void postCheckpointSetup() override
Perform post-checkpoint operations.
Definition: CD_ItoPlasmaStepper.cpp:562
bool m_plotParticlesPerPatch
Plot number of particles per patch or not.
Definition: CD_ItoPlasmaStepper.H:454
Real m_diffusionCFL
CFL-like time step for diffusion.
Definition: CD_ItoPlasmaStepper.H:487
RefCountedPtr< FieldSolver > m_fieldSolver
Field solver.
Definition: CD_ItoPlasmaStepper.H:394
virtual void removeCoveredParticles(const SpeciesSubset a_which, const EBRepresentation a_representation, const Real a_tolerance) noexcept
Remove covered particles (i.e., particles inside the EB)
Definition: CD_ItoPlasmaStepper.cpp:1617
virtual void writeNumParticlesPerPatch(EBAMRCellData &a_output, int &a_icomp) const
Write number of particles per patch to output holder.
Definition: CD_ItoPlasmaStepper.cpp:750
virtual bool loadBalanceThisRealm(const std::string a_realm) const override
Load balancing query for a specified realm. If this returns true for a_realm, load balancing routines...
Definition: CD_ItoPlasmaStepper.cpp:3779
EBAMRCellData m_particleYPC
For holding the number of generated photons per cell.
Definition: CD_ItoPlasmaStepper.H:591
RefCountedPtr< RtLayout< McPhoto > > m_rte
Radiative transfer solvers.
Definition: CD_ItoPlasmaStepper.H:389
TimeCode m_timeCode
Time code for understanding how the time step was restricted.
Definition: CD_ItoPlasmaStepper.H:351
virtual void computeReactiveMeanEnergiesPerCell(EBAMRCellData &a_meanEnergies) noexcept
Compute the mean particle energy in all grid cells.
Definition: CD_ItoPlasmaStepper.cpp:2663
RefCountedPtr< SurfaceODESolver< 1 > > m_sigmaSolver
Surface charge solver.
Definition: CD_ItoPlasmaStepper.H:399
std::string m_name
Time stepper name.
Definition: CD_ItoPlasmaStepper.H:367
bool m_profile
Profile kernels or not.
Definition: CD_ItoPlasmaStepper.H:419
EBAMRCellData m_fluidScratchD
Scratch storage on the fluid realm with SpaceDim components.
Definition: CD_ItoPlasmaStepper.H:652
virtual Vector< long int > getCheckpointLoads(const std::string a_realm, const int a_level) const override
Get computational loads to be checkpointed.
Definition: CD_ItoPlasmaStepper.cpp:4003
virtual void computeItoVelocities() noexcept
Compute ItoSolver velocities.
Definition: CD_ItoPlasmaStepper.cpp:2114
EBAMRIVData m_conductivityEB
EB-centered conductivity.
Definition: CD_ItoPlasmaStepper.H:567
Vector< EBAMRCellData > m_energySources
Storage for holding the energy sources for each species.
Definition: CD_ItoPlasmaStepper.H:637
Real m_maxDt
Maximum permitted time step.
Definition: CD_ItoPlasmaStepper.H:508
EBAMRCellData m_fluidYPC
For holding the number of generated photons per cell.
Definition: CD_ItoPlasmaStepper.H:615
virtual void setVoltage(const std::function< Real(const Real a_time)> &a_voltage) noexcept
Set voltage used for the simulation.
Definition: CD_ItoPlasmaStepper.cpp:1239
virtual int getNumberOfPlotVariables() const override
Get number of plot variables for the output file.
Definition: CD_ItoPlasmaStepper.cpp:1162
virtual void loadBalanceBoxes(Vector< Vector< int >> &a_procs, Vector< Vector< Box >> &a_boxes, const std::string a_realm, const Vector< DisjointBoxLayout > &a_grids, const int a_lmin, const int a_finestLevel) override
Load balance grid boxes for a specified realm.
Definition: CD_ItoPlasmaStepper.cpp:3799
Real m_advectionDiffusionDt
The advection-diffusion time step (not multiplied by m_advectionDiffusionCFL)
Definition: CD_ItoPlasmaStepper.H:523
bool m_loadBalanceFluid
Load balance fluid realm or not.
Definition: CD_ItoPlasmaStepper.H:434
virtual Real computeMaxElectricField(const phase::which_phase a_phase) noexcept
Compute the maximum electric field (norm)
Definition: CD_ItoPlasmaStepper.cpp:1250
Real m_toleranceEB
Accepted tolerance (relative to dx) for EB intersection.
Definition: CD_ItoPlasmaStepper.H:477
Real m_advectionCFL
CFL-like time step for advection.
Definition: CD_ItoPlasmaStepper.H:482
virtual void synchronizeSolverTimes(const int a_step, const Real a_time, const Real a_dt) override
Synchronize solver times for all the solvers.
Definition: CD_ItoPlasmaStepper.cpp:775
virtual void resolveParticlesEB(const Real a_dt) noexcept
Resolve particle injection at EBs.
Definition: CD_ItoPlasmaStepper.cpp:3293
Real m_advectionDt
The advective time step (not multiplied by m_advectionCFL)
Definition: CD_ItoPlasmaStepper.H:513
std::function< Real(const Real a_time)> m_voltage
Voltage curve on the electrodes used in the simulation.
Definition: CD_ItoPlasmaStepper.H:404
phase::which_phase m_plasmaPhase
Phase where we solve for the plasma.
Definition: CD_ItoPlasmaStepper.H:373
virtual ~ItoPlasmaStepper()
Destructor.
Definition: CD_ItoPlasmaStepper.cpp:63
virtual void remapParticles(const SpeciesSubset a_speciesSubset) noexcept
Remap a subset of ItoSolver particles.
Definition: CD_ItoPlasmaStepper.cpp:1856
EBAMRCellData m_fluidPPC
For holding the number of particles per cell for all species.
Definition: CD_ItoPlasmaStepper.H:609
EBAMRCellData m_particleScratchD
Scratch storage on the particle realm with SpaceDim components.
Definition: CD_ItoPlasmaStepper.H:662
virtual void parseAbort() noexcept
Parse abort on failure.
Definition: CD_ItoPlasmaStepper.cpp:122
virtual void computeCurrentDensity(EBAMRCellData &a_J) noexcept
Compute the current density.
Definition: CD_ItoPlasmaStepper.cpp:1402
virtual void postCheckpointPoisson()
Do some post-checkpoint operations for the electrostatic part.
Definition: CD_ItoPlasmaStepper.cpp:583
bool m_dualGrid
Using dual grid or not.
Definition: CD_ItoPlasmaStepper.H:414
Real m_physicsDt
The physics-based time step.
Definition: CD_ItoPlasmaStepper.H:533
virtual void advanceReactionNetwork(const Real a_dt) noexcept
Chemistry advance over time a_dt.
Definition: CD_ItoPlasmaStepper.cpp:2788
EBAMRCellData m_electricFieldParticle
Storage for holding the plasma phase electric field on the particle realm.
Definition: CD_ItoPlasmaStepper.H:631
Real m_relaxTimeFactor
Factor proportional to the dielectric relaxation time dtRelax = eps0/sigma.
Definition: CD_ItoPlasmaStepper.H:498
bool m_useNewReactionAlgorithm
For switching between the old and new reaction algorithms.
Definition: CD_ItoPlasmaStepper.H:439
virtual void parseVerbosity() noexcept
Parse chattiness.
Definition: CD_ItoPlasmaStepper.cpp:108
virtual void transferCoveredParticles(const SpeciesSubset a_speciesSubset, const EBRepresentation a_representation, const Real a_tolerance) noexcept
Transfer covered particles (i.e., particles inside the EB) from the ItoSolver bulk container to EB co...
Definition: CD_ItoPlasmaStepper.cpp:1734
Vector< EBAMRCellData > m_loadBalancePPC
For holding the number of computational particles per cell when load balancing.
Definition: CD_ItoPlasmaStepper.H:538
virtual void computeItoDiffusionLEA() noexcept
Compute the IonSolver particle diffusion coefficients in the LEA coupling regime.
Definition: CD_ItoPlasmaStepper.cpp:2517
virtual void computeReactiveParticlesPerCell(EBAMRCellData &a_ppc) noexcept
Compute the number of reactive particles per cell.
Definition: CD_ItoPlasmaStepper.cpp:2552
Real m_loadPerCell
The "background" load per cell when using particle load balancing.
Definition: CD_ItoPlasmaStepper.H:472
virtual void parsePlotVariables() noexcept
Parse plot variables.
Definition: CD_ItoPlasmaStepper.cpp:135
virtual void computeItoMobilitiesLEA() noexcept
Compute the IonSolver particle mobilities in the LEA coupling regime.
Definition: CD_ItoPlasmaStepper.cpp:2309
virtual void getParticleStatistics(Real &a_avgParticles, Real &a_sigma, Real &a_minParticles, Real &a_maxParticles, int &a_minRank, int &a_maxRank)
Compute some particle statistics.
Definition: CD_ItoPlasmaStepper.cpp:935
virtual void computeElectricField(EBAMRCellData &a_electricField, const phase::which_phase a_phase) const noexcept
Recompute the electric field onto the specified data holder.
Definition: CD_ItoPlasmaStepper.cpp:1277
virtual void setIto(RefCountedPtr< ItoLayout< ItoSolver >> &a_itoLayout) noexcept
Set the Ito layout.
Definition: CD_ItoPlasmaStepper.cpp:1206
EBAMRCellData m_conductivityCell
Cell-centered conductivity.
Definition: CD_ItoPlasmaStepper.H:555
std::string m_fluidRealm
Realm used for the fluid part (i.e., electrostatic) part of the simulation.
Definition: CD_ItoPlasmaStepper.H:357
virtual void computeEdotJSource(const Real a_dt) noexcept
Compute the energy source term for the various plasma species.
Definition: CD_ItoPlasmaStepper.cpp:4051
EBAMRCellData m_EdotJ
Storage for holdnig E*J on the fluid realm. 1 component.
Definition: CD_ItoPlasmaStepper.H:642
EBAMRCellData m_particleEPS
For holding the mean particle energy.
Definition: CD_ItoPlasmaStepper.H:597
EBAMRCellData m_particleScratch1
Scratch storage on the particle realm with 1 component.
Definition: CD_ItoPlasmaStepper.H:657
virtual void allocate() override
Allocate storage for solvers.
Definition: CD_ItoPlasmaStepper.cpp:408
virtual void getPhysicalParticlesPerCell(EBAMRCellData &a_ppc) const noexcept
Get the physical number of particles per cell.
Definition: CD_ItoPlasmaStepper.cpp:2531
virtual void postInitialize() override
Post-initialization operations. Default does nothing.
Definition: CD_ItoPlasmaStepper.cpp:485
bool m_loadBalanceParticles
Load balance particle realm or not.
Definition: CD_ItoPlasmaStepper.H:429
virtual void sortPhotonsByPatch(const McPhoto::WhichContainer a_which) noexcept
Sort photons by patch.
Definition: CD_ItoPlasmaStepper.cpp:3732
Real m_relaxationTime
The relaxation time eps0/sigma.
Definition: CD_ItoPlasmaStepper.H:528
virtual void setupPoisson()
Set up the electrostatic field solver.
Definition: CD_ItoPlasmaStepper.cpp:361
EBAMRCellData m_particlePPC
For holding the number of physical particles per cell for all species.
Definition: CD_ItoPlasmaStepper.H:585
virtual void registerOperators() override
Register operators used for the simulation.
Definition: CD_ItoPlasmaStepper.cpp:1054
virtual void registerRealms() override
Register realms used for the simulation.
Definition: CD_ItoPlasmaStepper.cpp:1041
EBAMRCellData m_particleOldPPC
For holding the previous number of particles per cell for all species.
Definition: CD_ItoPlasmaStepper.H:603
virtual void setupIto()
Set up the Ito particle solvers.
Definition: CD_ItoPlasmaStepper.cpp:346
virtual void computeItoMobilitiesLFA() noexcept
Compute mesh-based mobilities for LFA coupling.
Definition: CD_ItoPlasmaStepper.cpp:2145
virtual bool solvePoisson() noexcept
Solve the electrostatic problem.
Definition: CD_ItoPlasmaStepper.cpp:1452
virtual void depositParticles(const SpeciesSubset a_speciesSubset) noexcept
Deposit a subset of the ItoSolver particles on the mesh.
Definition: CD_ItoPlasmaStepper.cpp:1969
virtual void advancePhotons(const Real a_dt) noexcept
Photon advancement routine.
Definition: CD_ItoPlasmaStepper.cpp:3673
Vector< int > m_particlesPerCell
Target number of particles per cell when squishing ItoParticle's into superparticles.
Definition: CD_ItoPlasmaStepper.H:459
virtual void printStepReport() override
Print a step report. Used by Driver for user monitoring of simulation.
Definition: CD_ItoPlasmaStepper.cpp:793
std::string m_particleRealm
Realm used for the particle part of the simulation.
Definition: CD_ItoPlasmaStepper.H:362
ItoPlasmaStepper()
Default constructor. Sets default options.
Definition: CD_ItoPlasmaStepper.cpp:31
virtual void initialData() override
Fill solvers with initial data.
Definition: CD_ItoPlasmaStepper.cpp:494
virtual void computeSpaceChargeDensity() noexcept
Compute the space charge. Calls the other version.
Definition: CD_ItoPlasmaStepper.cpp:1301
EBAMRCellData m_fluidScratch1
Scratch storage on the fluid realm having 1 component.
Definition: CD_ItoPlasmaStepper.H:647
virtual void computeItoDiffusion() noexcept
Compute ItoSolver velocities.
Definition: CD_ItoPlasmaStepper.cpp:2134
virtual void parseSuperParticles() noexcept
Parse the desired number of particles per cell.
Definition: CD_ItoPlasmaStepper.cpp:170
BoxSorting m_boxSort
Box sorting method when using dual-grid with particle load balancing.
Definition: CD_ItoPlasmaStepper.H:346
Real m_minDt
Minimum permitted time step.
Definition: CD_ItoPlasmaStepper.H:503
EBAMRFluxData m_conductivityFace
Face-centered conductivity.
Definition: CD_ItoPlasmaStepper.H:561
virtual void setRadiativeTransferSolvers(RefCountedPtr< RtLayout< McPhoto >> &a_rteLayout) noexcept
Set the radiative transfer solvers.
Definition: CD_ItoPlasmaStepper.cpp:1228
Class for holding a set of RtSolvers. T must derive from RtSolver.
Definition: CD_RtLayout.H:27
Base class for advancing equations.
Definition: CD_TimeStepper.H:30
Name containing various physics models for running chombo-discharge code.
Definition: CD_AdvectionDiffusion.H:15
phase names
Definition: CD_MultiFluidIndexSpace.H:27