OPAL (Object Oriented Parallel Accelerator Library)
2021.1.99
OPAL
|
#include <AmrBoxLib.h>
Public Member Functions | |
AmrBoxLib (const AmrDomain_t &domain, const AmrIntArray_t &nGridPts, int maxLevel, AmrPartBunch *bunch_p) | |
void | regrid (double time) |
void | getGridStatistics (std::map< int, long > &gridPtsPerCore, std::vector< int > &gridsPerLevel) const |
void | initFineLevels () |
VectorPair_t | getEExtrema () |
double | getRho (int x, int y, int z) |
void | computeSelfFields () |
void | computeSelfFields (int bin) |
void | computeSelfFields_cycl (double gamma) |
void | computeSelfFields_cycl (int bin) |
void | updateMesh () |
const Vector_t & | getMeshScaling () const |
Vektor< int, 3 > | getBaseLevelGridPoints () const |
const int & | maxLevel () const |
const int & | finestLevel () const |
double | getT () const |
void | redistributeGrids (int how) |
Public Member Functions inherited from AmrObject | |
AmrObject () | |
AmrObject (TaggingCriteria tagging, double scaling, double chargedensity) | |
virtual | ~AmrObject () |
void | setTagging (TaggingCriteria tagging) |
void | setTagging (const std::string &tagging) |
void | setScalingFactor (double scaling) |
void | setChargeDensity (double chargedensity) |
void | setMaxNumParticles (size_t maxNumPart) |
void | setMinNumParticles (size_t minNumPart) |
const bool & | isRefined () const |
Static Public Member Functions | |
static std::unique_ptr< AmrBoxLib > | create (const AmrInfo &info, AmrPartBunch *bunch_p) |
Static Public Member Functions inherited from AmrObject | |
static std::string | enum2string (int number) |
Protected Member Functions | |
void | RemakeLevel (int lev, AmrReal_t time, const AmrGrid_t &new_grids, const AmrProcMap_t &new_dmap) |
void | MakeNewLevel (int lev, AmrReal_t time, const AmrGrid_t &new_grids, const AmrProcMap_t &new_dmap) |
void | ClearLevel (int lev) |
virtual void | ErrorEst (int lev, TagBoxArray_t &tags, AmrReal_t time, int ngrow) override |
void | MakeNewLevelFromScratch (int lev, AmrReal_t time, const AmrGrid_t &ba, const AmrProcMap_t &dm) |
void | MakeNewLevelFromCoarse (int lev, AmrReal_t time, const AmrGrid_t &ba, const AmrProcMap_t &dm) |
Private Member Functions | |
void | doRegrid_m (int lbase, double time) |
void | preRegrid_m () |
void | postRegrid_m (int old_finest) |
double | solvePoisson_m () |
void | tagForChargeDensity_m (int lev, TagBoxArray_t &tags, AmrReal_t time, int ngrow) |
void | tagForPotentialStrength_m (int lev, TagBoxArray_t &tags, AmrReal_t time, int ngrow) |
void | tagForEfield_m (int lev, TagBoxArray_t &tags, AmrReal_t time, int ngrow) |
void | tagForMomenta_m (int lev, TagBoxArray_t &tags, AmrReal_t time, int ngrow) |
void | tagForMaxNumParticles_m (int lev, TagBoxArray_t &tags, AmrReal_t time, int ngrow) |
void | tagForMinNumParticles_m (int lev, TagBoxArray_t &tags, AmrReal_t time, int ngrow) |
void | initBaseLevel_m (const AmrIntArray_t &nGridPts) |
void | fillPhysbc_m (AmrField_t &mf, int lev=0) |
Static Private Member Functions | |
static void | initParmParse_m (const AmrInfo &info, AmrLayout_t *layout_p) |
Private Attributes | |
AmrPartBunch * | bunch_mp |
bunch used for tagging strategies More... | |
AmrLayout_t * | layout_mp |
AmrScalarFieldContainer_t | rho_m |
charge density on the grid for all levels More... | |
AmrScalarFieldContainer_t | phi_m |
scalar potential on the grid for all levels More... | |
AmrVectorFieldContainer_t | efield_m |
vector field on the grid for all levels More... | |
Vector_t | meshScaling_m |
in particle rest frame, the longitudinal length enlarged More... | |
std::vector< bool > | isFirstTagging_m |
bool | isPoissonSolved_m |
Additional Inherited Members | |
Protected Attributes inherited from AmrObject | |
TaggingCriteria | tagging_m |
Tagging strategy. More... | |
double | scaling_m |
Scaling factor for tagging [0, 1]. More... | |
double | chargedensity_m |
Tagging value for CHARGE_DENSITY. More... | |
size_t | maxNumPart_m |
Tagging value for MAX_NUM_PARTICLES. More... | |
size_t | minNumPart_m |
Tagging value for MIN_NUM_PARTICLES. More... | |
bool | refined_m |
Only set to true in AmrObject::initFineLevels() More... | |
IpplTimings::TimerRef | amrSolveTimer_m |
timer for selfField calculation (used in concrete AmrObject classes) More... | |
IpplTimings::TimerRef | amrRegridTimer_m |
Definition at line 36 of file AmrBoxLib.h.
Definition at line 47 of file AmrBoxLib.h.
typedef amr::AmrField_t AmrBoxLib::AmrField_t |
Definition at line 41 of file AmrBoxLib.h.
Definition at line 44 of file AmrBoxLib.h.
Definition at line 52 of file AmrBoxLib.h.
typedef amr::AmrGrid_t AmrBoxLib::AmrGrid_t |
Definition at line 50 of file AmrBoxLib.h.
Definition at line 45 of file AmrBoxLib.h.
Definition at line 48 of file AmrBoxLib.h.
Definition at line 53 of file AmrBoxLib.h.
Definition at line 51 of file AmrBoxLib.h.
Definition at line 46 of file AmrBoxLib.h.
typedef amr::AmrReal_t AmrBoxLib::AmrReal_t |
Definition at line 49 of file AmrBoxLib.h.
Definition at line 42 of file AmrBoxLib.h.
Definition at line 43 of file AmrBoxLib.h.
typedef amrex::Box AmrBoxLib::Box_t |
Definition at line 56 of file AmrBoxLib.h.
typedef amrex::FArrayBox AmrBoxLib::FArrayBox_t |
Definition at line 55 of file AmrBoxLib.h.
typedef amrex::MFIter AmrBoxLib::MFIter_t |
Definition at line 59 of file AmrBoxLib.h.
typedef amrex::TagBox AmrBoxLib::TagBox_t |
Definition at line 57 of file AmrBoxLib.h.
typedef amrex::TagBoxArray AmrBoxLib::TagBoxArray_t |
Definition at line 58 of file AmrBoxLib.h.
enum AmrBoxLib::Strategy |
Used for the redistribution of grids
Enumerator | |
---|---|
RANK_ZERO | |
PFC | |
RANDOM | |
KNAPSACK |
Definition at line 65 of file AmrBoxLib.h.
AmrBoxLib::AmrBoxLib | ( | const AmrDomain_t & | domain, |
const AmrIntArray_t & | nGridPts, | ||
int | maxLevel, | ||
AmrPartBunch * | bunch_p | ||
) |
See other constructors documentation for further info.
domain | is the physical domain of the problem |
nGridPts | per dimension (nx, ny, nz / nt) |
maxLevel | of mesh refinement |
bunch | is used when we tag for charges per cell |
Definition at line 44 of file AmrBoxLib.cpp.
References initBaseLevel_m(), layout_mp, maxLevel(), BoxLibLayout< T, Dim >::resize(), and updateMesh().
Referenced by create().
|
protected |
Clean up a level.
lev | to free allocated memory. |
Definition at line 657 of file AmrBoxLib.cpp.
References efield_m, isFirstTagging_m, phi_m, and rho_m.
Referenced by doRegrid_m().
|
virtual |
Implements AmrObject.
Definition at line 226 of file AmrBoxLib.cpp.
|
virtual |
Implements AmrObject.
Definition at line 232 of file AmrBoxLib.cpp.
|
virtual |
Lorentz transformation In particle rest frame, the longitudinal length (y for cyclotron) enlarged
Back Lorentz transformation
calculate coefficient
calculate B field from E field
Implements AmrObject.
Definition at line 238 of file AmrBoxLib.cpp.
References Options::amrYtDumpFreq, PartBunchBase< T, Dim >::Bf, bunch_mp, Physics::c, AmrParticleBase< PLayout >::domainMapping(), PartBunchBase< T, Dim >::Ef, efield_m, Physics::epsilon_0, finestLevel(), BoxLibParticle< PLayout >::gather(), AmrPartBunch::getAmrParticleBase(), PartBunchBase< T, Dim >::getLocalTrackStep(), PartBunchBase< T, Dim >::getT(), PartBunchBase< T, Dim >::hasFieldSolver(), phi_m, PartBunchBase< T, Dim >::R, rho_m, AmrParticleBase< PLayout >::setForbidTransform(), solvePoisson_m(), sqrt(), AmrParticleBase< PLayout >::update(), AmrPartBunch::updateLorentzFactor(), AmrYtWriter::writeBunch(), and AmrYtWriter::writeFields().
|
virtual |
get gamma of this bin
scatter particles charge onto grid. from charge (C) to charge density (C/m^3).
Lorentz transformation
Back Lorentz transformation
Calculate coefficient
Calculate B_bin field from E_bin field accumulate B and E field
Implements AmrObject.
Definition at line 331 of file AmrBoxLib.cpp.
References Options::amrRegridFreq, AmrObject::amrSolveTimer_m, Options::amrYtDumpFreq, PartBunchBase< T, Dim >::Bf, PartBunchBase< T, Dim >::Bin, bunch_mp, Physics::c, AmrParticleBase< PLayout >::domainMapping(), PartBunchBase< T, Dim >::Ef, efield_m, PartBunchBase< T, Dim >::Eftmp, Physics::epsilon_0, fillPhysbc_m(), finestLevel(), BoxLibParticle< PLayout >::gather(), AmrPartBunch::getAmrParticleBase(), PartBunchBase< T, Dim >::getBinGamma(), AmrPartBunch::getFieldSolver(), PartBunchBase< T, Dim >::getLocalTrackStep(), PartBunchBase< T, Dim >::getT(), PartBunchBase< T, Dim >::hasFieldSolver(), isPoissonSolved_m, max(), meshScaling_m, phi_m, PartBunchBase< T, Dim >::Q, PartBunchBase< T, Dim >::R, regrid(), rho_m, BoxLibParticle< PLayout >::scatter(), AmrParticleBase< PLayout >::setForbidTransform(), PoissonSolver::solve(), sqrt(), IpplTimings::startTimer(), IpplTimings::stopTimer(), AmrParticleBase< PLayout >::update(), AmrPartBunch::updateLorentzFactor(), AmrYtWriter::writeBunch(), and AmrYtWriter::writeFields().
|
static |
Create a new object
info | are the initial informations to construct an AmrBoxLib object. It is set in src/Solvers/FieldSolver.cpp |
bunch_p | pointing to. Is used for getting the geometry (i.e. physical domain of the problem). |
Definition at line 71 of file AmrBoxLib.cpp.
References AmrBoxLib(), PartBunchBase< T, Dim >::getLayout(), Options::info, and initParmParse_m().
Referenced by FieldSolver::initAmrObject_m().
|
private |
Update of mesh according to chosen refinement strategy. Rebuild levels finer than lbase.
lbase | base level to start regriding |
time | of regrid |
Definition at line 719 of file AmrBoxLib.cpp.
References ClearLevel(), layout_mp, MakeNewLevel(), PAssert, RemakeLevel(), and ParticleAmrLayout< T, Dim >::setFinestLevel().
Referenced by regrid().
|
overrideprotectedvirtual |
Is called in the AmrMesh function for performing tagging. (inherited from AmrMesh)
Definition at line 670 of file AmrBoxLib.cpp.
References AmrObject::CHARGE_DENSITY, AmrObject::EFIELD, endl(), gmsg, level2(), AmrObject::MAX_NUM_PARTICLES, AmrObject::MIN_NUM_PARTICLES, AmrObject::MOMENTA, AmrObject::POTENTIAL, tagForChargeDensity_m(), tagForEfield_m(), tagForMaxNumParticles_m(), tagForMinNumParticles_m(), tagForMomenta_m(), tagForPotentialStrength_m(), and AmrObject::tagging_m.
|
private |
Fill the physical / mesh boundary values
mf | field to fill boundary values |
Definition at line 1519 of file AmrBoxLib.cpp.
References Hypervolume::n.
Referenced by computeSelfFields_cycl(), and solvePoisson_m().
|
inlinevirtual |
Implements AmrObject.
Definition at line 518 of file AmrBoxLib.cpp.
Referenced by computeSelfFields_cycl().
|
virtual |
Implements AmrObject.
Definition at line 501 of file AmrBoxLib.cpp.
|
virtual |
Implements AmrObject.
Definition at line 196 of file AmrBoxLib.cpp.
References bunch_mp, PartBunchBase< T, Dim >::Dimension, efield_m, max(), and min().
|
virtual |
Collect information about grid load balancing.
gridPtsPerCore | is filled. |
gridsPerLevel | is filled |
Implements AmrObject.
Definition at line 135 of file AmrBoxLib.cpp.
const Vector_t & AmrBoxLib::getMeshScaling | ( | ) | const |
Mesh scaling for solver (gamma factor) (in particle rest frame, the longitudinal length enlarged)
Definition at line 496 of file AmrBoxLib.cpp.
References meshScaling_m.
Referenced by AmrMultiGrid::initLevels_m().
|
virtual |
Implements AmrObject.
Definition at line 219 of file AmrBoxLib.cpp.
|
inlinevirtual |
Implements AmrObject.
Definition at line 523 of file AmrBoxLib.cpp.
References bunch_mp, and PartBunchBase< T, Dim >::getT().
Referenced by AmrMultiGrid::writeSDDSData_m().
|
private |
Use particle BoxArray and DistributionMapping for AmrObject and reset geometry for bunch
nGridPts | per dimension (nx, ny, nz / nt) |
Definition at line 1192 of file AmrBoxLib.cpp.
References BoxLibLayout< T, Dim >::define(), layout_mp, and RemakeLevel().
Referenced by AmrBoxLib().
|
virtual |
Initial gridding. Sets up all levels.
Implements AmrObject.
Definition at line 162 of file AmrBoxLib.cpp.
References bunch_mp, AmrParticleBase< PLayout >::domainMapping(), endl(), AmrPartBunch::getAmrParticleBase(), PartBunchBase< T, Dim >::getNumBunch(), PartBunchBase< T, Dim >::getT(), gmsg, AmrParticleBase< PLayout >::isForbidTransform(), AmrObject::refined_m, regrid(), and AmrParticleBase< PLayout >::setForbidTransform().
|
staticprivate |
AMReX uses the ParmParse object to initialize parameters like the maximum level etc. This function initializes "all" of them.
info | all parameters that we set over the OPAL input file |
layout_p | of bunch |
Definition at line 1218 of file AmrBoxLib.cpp.
References Options::info.
Referenced by create().
|
protected |
Create completeley new grids for a level (inherited from AmrMesh)
lev | is the current level |
time | not used |
new_grids | are the new created grids for this level |
new_dmap | is the new distribution to processors |
Definition at line 622 of file AmrBoxLib.cpp.
References BoxLibLayout< T, Dim >::buildLevelMask(), efield_m, layout_mp, phi_m, and rho_m.
Referenced by doRegrid_m().
|
protected |
Make a new level using provided BoxArray and DistributionMapping and fill with interpolated coarse level data.
Remark: Not used in OPAL
lev | to create |
time | of simulation |
ba | the boxes |
dm | the grid distribution among cores |
Definition at line 711 of file AmrBoxLib.cpp.
|
protected |
Make a new level from scratch using provided BoxArray and DistributionMapping. Only used during initialization.
Remark: Not used in OPAL
lev | to create |
time | of simulation |
ba | the boxes |
dm | the grid distribution among cores |
Definition at line 703 of file AmrBoxLib.cpp.
|
inlinevirtual |
|
private |
Called within doRegrid_m(). Redistribute particles and delete levels on particle side.
old_finest | level |
Definition at line 771 of file AmrBoxLib.cpp.
References bunch_mp, BoxLibLayout< T, Dim >::clearLevelMask(), AmrPartBunch::getAmrParticleBase(), AmrPartBunch::getFieldSolver(), PartBunchBase< T, Dim >::getLocalNum(), AmrParticleBase< PLayout >::getLocalNumPerLevel(), PoissonSolver::hasToRegrid(), layout_mp, and AmrParticleBase< PLayout >::update().
Referenced by regrid().
|
private |
Called within doRegrid_m(). Especially used for potential and e-field tagging in combination with binning.
Definition at line 755 of file AmrBoxLib.cpp.
References AmrObject::EFIELD, AmrObject::POTENTIAL, solvePoisson_m(), and AmrObject::tagging_m.
Referenced by regrid().
|
virtual |
Rebalance the grids among the cores
Reimplemented from AmrObject.
Definition at line 528 of file AmrBoxLib.cpp.
|
virtual |
Inherited from AmrObject
Implements AmrObject.
Definition at line 104 of file AmrBoxLib.cpp.
References AmrObject::amrRegridTimer_m, doRegrid_m(), endl(), gmsg, min(), postRegrid_m(), preRegrid_m(), IpplTimings::startTimer(), and IpplTimings::stopTimer().
Referenced by computeSelfFields_cycl(), and initFineLevels().
|
protected |
Update the grids and the distributionmapping for a specific level (inherited from AmrMesh)
lev | is the current level |
time | not used |
new_grids | are the new created grids for this level |
new_dmap | is the new distribution to processors |
Definition at line 589 of file AmrBoxLib.cpp.
References BoxLibLayout< T, Dim >::buildLevelMask(), efield_m, layout_mp, phi_m, and rho_m.
Referenced by doRegrid_m(), and initBaseLevel_m().
|
private |
from charge (C) to charge density (C/m^3).
Definition at line 810 of file AmrBoxLib.cpp.
References AmrObject::amrSolveTimer_m, PartBunchBase< T, Dim >::Bin, bunch_mp, efield_m, Physics::epsilon_0, fillPhysbc_m(), AmrPartBunch::getAmrParticleBase(), AmrPartBunch::getFieldSolver(), max(), meshScaling_m, phi_m, PartBunchBase< T, Dim >::Q, PartBunchBase< T, Dim >::R, rho_m, BoxLibParticle< PLayout >::scatter(), PoissonSolver::solve(), IpplTimings::startTimer(), and IpplTimings::stopTimer().
Referenced by computeSelfFields_cycl(), and preRegrid_m().
|
private |
Mark a cell for refinement if the value is greater equal than some amount of charge (AmrObject::chargedensity_m).
lev | to check for refinement |
tags | is a special box array that marks cells for refinement |
time | of simulation (not used) |
ngrow | is the number of ghost cells (not used) |
Definition at line 859 of file AmrBoxLib.cpp.
References abs(), PartBunchBase< T, Dim >::Bin, bunch_mp, AmrObject::chargedensity_m, AmrPartBunch::getAmrParticleBase(), AmrParticleBase< PLayout >::getScalingFactor(), PartBunchBase< T, Dim >::Q, PartBunchBase< T, Dim >::R, rho_m, BoxLibParticle< PLayout >::scatter(), and AmrParticleBase< PLayout >::update().
Referenced by ErrorEst(), tagForEfield_m(), and tagForPotentialStrength_m().
|
private |
Mark a cell for refinement if one of the electric field components is greater equal the maximum electric field value per direction scaled by some factor [0, 1] (AmrObject::scaling_m).
lev | to check for refinement |
tags | is a special box array that marks cells for refinement |
time | of simulation (not used) |
ngrow | is the number of ghost cells (not used) |
Definition at line 966 of file AmrBoxLib.cpp.
References abs(), efield_m, endl(), gmsg, isFirstTagging_m, isPoissonSolved_m, level2(), AmrObject::scaling_m, and tagForChargeDensity_m().
Referenced by ErrorEst().
|
private |
Mark a cell for refinement if it contains at most AmrObject::maxNumPart_m particles.
lev | to check for refinement |
tags | is a special box array that marks cells for refinement |
time | of simulation (not used) |
ngrow | is the number of ghost cells (not used) |
Definition at line 1090 of file AmrBoxLib.cpp.
References AmrParticleLevelCounter< Key, T, Compare, Allocator >::begin(), bunch_mp, AmrPartBunch::getAmrParticleBase(), AmrParticleBase< PLayout >::getLocalNumPerLevel(), BoxLibLayout< T, Dim >::Index(), layout_mp, AmrObject::maxNumPart_m, PartBunchBase< T, Dim >::R, rho_m, and AmrParticleBase< PLayout >::update().
Referenced by ErrorEst().
|
private |
Mark a cell for refinement if it contains at least AmrObject::minNumPart_m particles.
lev | to check for refinement |
tags | is a special box array that marks cells for refinement |
time | of simulation (not used) |
ngrow | is the number of ghost cells (not used) |
Definition at line 1140 of file AmrBoxLib.cpp.
References AmrParticleLevelCounter< Key, T, Compare, Allocator >::begin(), bunch_mp, AmrPartBunch::getAmrParticleBase(), AmrParticleBase< PLayout >::getLocalNumPerLevel(), BoxLibLayout< T, Dim >::Index(), layout_mp, AmrObject::minNumPart_m, PartBunchBase< T, Dim >::R, rho_m, and AmrParticleBase< PLayout >::update().
Referenced by ErrorEst().
|
private |
Mark a cell for refinement if at least one particle has a high momentum. The lower bound is specified by the maximum momenta per level scaled by some factor [0, 1] (AmrObject::scaling_m).
lev | to check for refinement |
tags | is a special box array that marks cells for refinement |
time | of simulation (not used) |
ngrow | is the number of ghost cells (not used) |
Definition at line 1031 of file AmrBoxLib.cpp.
References AmrParticleLevelCounter< Key, T, Compare, Allocator >::begin(), bunch_mp, dot(), AmrPartBunch::getAmrParticleBase(), AmrParticleBase< PLayout >::getLocalNumPerLevel(), BoxLibLayout< T, Dim >::Index(), layout_mp, PartBunchBase< T, Dim >::P, PartBunchBase< T, Dim >::R, rho_m, AmrObject::scaling_m, and AmrParticleBase< PLayout >::update().
Referenced by ErrorEst().
|
private |
Mark a cell for refinement if the potential value is greater equal than the maximum value of the potential on the grid scaled by some factor [0, 1] (AmrObject::scaling_m)
lev | to check for refinement |
tags | is a special box array that marks cells for refinement |
time | of simulation (not used) |
ngrow | is the number of ghost cells (not used) |
Definition at line 912 of file AmrBoxLib.cpp.
References abs(), endl(), gmsg, isFirstTagging_m, isPoissonSolved_m, level2(), phi_m, AmrObject::scaling_m, and tagForChargeDensity_m().
Referenced by ErrorEst().
|
virtual |
Implements AmrObject.
Definition at line 484 of file AmrBoxLib.cpp.
References bunch_mp, and AmrPartBunch::setBaseLevelMeshSpacing().
Referenced by AmrBoxLib().
|
private |
bunch used for tagging strategies
Definition at line 388 of file AmrBoxLib.h.
Referenced by computeSelfFields_cycl(), getEExtrema(), getT(), initFineLevels(), postRegrid_m(), solvePoisson_m(), tagForChargeDensity_m(), tagForMaxNumParticles_m(), tagForMinNumParticles_m(), tagForMomenta_m(), and updateMesh().
|
private |
vector field on the grid for all levels
Definition at line 400 of file AmrBoxLib.h.
Referenced by ClearLevel(), computeSelfFields_cycl(), getEExtrema(), MakeNewLevel(), RemakeLevel(), solvePoisson_m(), and tagForEfield_m().
|
private |
Definition at line 406 of file AmrBoxLib.h.
Referenced by ClearLevel(), tagForEfield_m(), and tagForPotentialStrength_m().
|
private |
Definition at line 408 of file AmrBoxLib.h.
Referenced by computeSelfFields_cycl(), tagForEfield_m(), and tagForPotentialStrength_m().
|
private |
Definition at line 391 of file AmrBoxLib.h.
Referenced by AmrBoxLib(), doRegrid_m(), initBaseLevel_m(), MakeNewLevel(), postRegrid_m(), RemakeLevel(), tagForMaxNumParticles_m(), tagForMinNumParticles_m(), and tagForMomenta_m().
|
private |
in particle rest frame, the longitudinal length enlarged
Definition at line 403 of file AmrBoxLib.h.
Referenced by computeSelfFields_cycl(), getMeshScaling(), and solvePoisson_m().
|
private |
scalar potential on the grid for all levels
Definition at line 397 of file AmrBoxLib.h.
Referenced by ClearLevel(), computeSelfFields_cycl(), MakeNewLevel(), RemakeLevel(), solvePoisson_m(), and tagForPotentialStrength_m().
|
private |
charge density on the grid for all levels
Definition at line 394 of file AmrBoxLib.h.
Referenced by ClearLevel(), computeSelfFields_cycl(), MakeNewLevel(), RemakeLevel(), solvePoisson_m(), tagForChargeDensity_m(), tagForMaxNumParticles_m(), tagForMinNumParticles_m(), and tagForMomenta_m().