20#include <FaceIterator.H>
21#include <VoFIterator.H>
28#include <CD_NamespaceHeader.H>
517 template <
typename T>
1706#include <CD_NamespaceFooter.H>
Declaration of averaging methods.
Average
Various averaging methods.
Definition CD_Average.H:25
Implementation of CD_DataOps.H.
Declaration of various decoration macros.
Class for holding data across EBAMR hierarchies.
Declaration of a class that allocates irregular data holders over the interface between two phases.
Agglomeration of useful data operations.
Definition CD_DataOps.H:36
static void scale(MFAMRCellData &a_lhs, const Real &a_scale) noexcept
Scale data by factor.
Definition CD_DataOps.cpp:2503
static void floor(EBAMRCellData &a_lhs, const Real a_value, const Vector< RefCountedPtr< LayoutData< VoFIterator > > > &a_vofIter)
Floor values in data holder. This sets all values below a_value to a_value.
Definition CD_DataOps.cpp:1465
static void getMaxMin(Real &max, Real &min, EBAMRCellData &a_data, const int a_comp, const Vector< RefCountedPtr< LayoutData< VoFIterator > > > &a_vofIter)
Get maximum and minimum value of specified component.
Definition CD_DataOps.cpp:1711
static void averageFaceToCell(EBAMRCellData &a_cellData, const EBAMRFluxData &a_faceData, const Vector< ProblemDomain > &a_domains, const Vector< RefCountedPtr< LayoutData< VoFIterator > > > &a_vofIter)
Average all components of face centered data to cell centers.
Definition CD_DataOps.cpp:362
static void volumeScale(EBAMRCellData &a_data, const Vector< Real > &a_dx)
Scale data by dx^SpaceDim.
Definition CD_DataOps.cpp:2236
static void vectorLength2(EBAMRCellData &a_lhs, const EBAMRCellData &a_rhs, const EBAMRCellData &a_notCovered, const Vector< RefCountedPtr< LayoutData< VoFIterator > > > &a_vofIter)
Compute the squared vector length of a data holder. Sets a_lhs = |a_rhs|^2 where a_rhs contains Space...
Definition CD_DataOps.cpp:3594
static int sgn(const T a_value)
Sign function. Returns +/- if the value is > 0 or < 0.
Definition CD_DataOpsImplem.H:43
static void getMaxMinNorm(Real &a_max, Real &a_min, EBAMRCellData &data, const Vector< RefCountedPtr< LayoutData< VoFIterator > > > &a_vofIter)
Get maximum and minimum value of normed data.
Definition CD_DataOps.cpp:1879
static void filterSmooth(EBAMRCellData &a_data, const Real a_alpha, const int a_stride, const bool a_zeroEB) noexcept
Apply a convolved filter phi = alpha * phi_i + 0.5*(1-alpha) * [phi_(i+s) + phi_(i-s)] in each direct...
Definition CD_DataOps.cpp:679
static void divide(EBAMRCellData &a_lhs, const EBAMRCellData &a_rhs, const int a_lhsComp, const int a_rhsComp)
Divide one data holder by another. Does specified components.
Definition CD_DataOps.cpp:1243
static void roof(EBAMRCellData &a_lhs, const Real a_value, const Vector< RefCountedPtr< LayoutData< VoFIterator > > > &a_vofIter)
Roof values in data holder. This sets all values above a_value to a_value.
Definition CD_DataOps.cpp:1556
static void setInvalidValue(EBAMRCellData &a_lhs, const Vector< int > &a_refRat, const Real a_value)
Set value in cells that are covered by a finer grid.
Definition CD_DataOps.cpp:2771
static void shiftCorners(Vector< RealVect > &a_corners, const RealVect &a_distance)
Shift points by a specified distance.
Definition CD_DataOps.cpp:3771
static void divideByScalar(EBAMRCellData &a_lhs, const EBAMRCellData &a_rhs)
Divide all components in a data holder by a scalar value.
Definition CD_DataOps.cpp:1279
static void multiply(EBAMRCellData &a_lhs, const EBAMRCellData &a_rhs)
Multiply data holder by another data holder.
Definition CD_DataOps.cpp:2246
static void invert(EBAMRFluxData &a_data)
Invert data.
static void computeMinValidBox(RealVect &a_lo, RealVect &a_hi, const RealVect &a_normal, const RealVect &a_centroid)
Compute the tightest possible valid box around a cut-cell volume.
Definition CD_DataOps.cpp:3687
static void invert(EBFluxFAB &a_data)
Invert data.
static void sum(Real &a_value)
Compute the sum of the input value.
Definition CD_DataOps.cpp:3367
static void vectorLength(EBAMRCellData &a_lhs, const EBAMRCellData &a_rhs, const EBAMRCellData &a_notCovered, const Vector< RefCountedPtr< LayoutData< VoFIterator > > > &a_vofIter)
Compute the vector length of a data holder. Sets a_lhs = |a_rhs| where a_rhs contains SpaceDim compon...
Definition CD_DataOps.cpp:3500
static void incr(MFAMRCellData &a_lhs, const MFAMRCellData &a_rhs, const Real a_scale) noexcept
Function which increments data in the form a_lhs = a_lhs + a_rhs*a_scale for all components.
Definition CD_DataOps.cpp:820
static Real norm(const LevelData< EBCellFAB > &a_data, const LevelData< EBCellFAB > &a_regularMask, const int a_p, LayoutData< VoFIterator > &a_vofIter, const int a_comp=0)
Compute specified norm of data.
Definition CD_DataOps.cpp:2418
static void kappaScale(EBAMRCellData &a_data, const Vector< RefCountedPtr< LayoutData< VoFIterator > > > &a_vofIter) noexcept
Scale data by volume fraction.
Definition CD_DataOps.cpp:2142
static void setValue(LevelData< MFInterfaceFAB< T > > &a_lhs, const T &a_value)
Set value in an MFInterfaceFAB data holder.
Definition CD_DataOpsImplem.H:24
static bool allCornersInsideEb(const Vector< RealVect > &a_corners, const RealVect &a_normal, const RealVect &a_centroid)
Check if all corners/points are inside an EB.
Definition CD_DataOps.cpp:3754
static void divideFallback(EBAMRCellData &a_numerator, const EBAMRCellData &a_denominator, const Real a_fallback, const Vector< RefCountedPtr< LayoutData< VoFIterator > > > &a_vofIter)
Divide data. If the denominator is zero, set the value to a fallback option.
Definition CD_DataOps.cpp:1387
static void dotProduct(MFAMRCellData &a_result, const MFAMRCellData &a_data1, const MFAMRCellData &a_data2)
Compote the cell-wise dot product between two data holders.
Definition CD_DataOps.cpp:537
static void squareRoot(EBAMRFluxData &a_lhs, Vector< RefCountedPtr< LayoutData< std::array< FaceIterator, SpaceDim > > > > &a_faceIter)
Compute the square root of the input data.
Definition CD_DataOps.cpp:3384
static void setCoveredValue(EBAMRCellData &a_lhs, const EBAMRCellData &a_coveredMask, const int a_comp, const Real a_value)
Set value in covered cells. Does specified component.
Definition CD_DataOps.cpp:2655
static void max(EBAMRCellData &a_data, const EBAMRCellData &a_data1, const EBAMRCellData &a_data2, const Vector< RefCountedPtr< LayoutData< VoFIterator > > > &a_vofIter)
Make a_data = max(a_data1, a_data2).
Definition CD_DataOps.cpp:1645
static void kappaSum(Real &a_mass, const LevelData< EBCellFAB > &a_lhs, const LevelData< EBCellFAB > &a_regularMask, const int a_comp, LayoutData< VoFIterator > &a_vofIter)
Compute the kappa-weighted sum of the input data. Assumes one component.
Definition CD_DataOps.cpp:2087
static void compute(EBAMRCellData &a_data, const std::function< Real(const Real a_cellValue)> &a_func, const Vector< RefCountedPtr< LayoutData< VoFIterator > > > &a_vofIter) noexcept
Compute a new value given the old cell value.
Definition CD_DataOps.cpp:482
static void plus(EBAMRCellData &a_lhs, const EBAMRCellData &a_rhs, const int a_srcComp, const int a_dstComp, const int a_numComp)
General addition operator for adding together data. The user can choose which components to add.
Definition CD_DataOps.cpp:885
static void copy(MFAMRCellData &a_dst, const MFAMRCellData &a_src)
Copy data from one data holder to another.
Definition CD_DataOps.cpp:1201
static void averageCellVelocityToFaceVelocity(EBAMRFluxData &a_faceData, const EBAMRCellData &a_cellData, const Vector< ProblemDomain > &a_domains, const int a_tanGhosts, Vector< RefCountedPtr< LayoutData< std::array< FaceIterator, SpaceDim > > > > &a_faceIter)
Routine which computes the average of a cell-centered quantity on faces for the normal component only...
Definition CD_DataOps.cpp:28
static void averageCellToFace(EBAMRFluxData &a_faceData, const EBAMRCellData &a_cellData, const Vector< ProblemDomain > &a_domains, Vector< RefCountedPtr< LayoutData< std::array< FaceIterator, SpaceDim > > > > &a_faceIter)
Average all components of the cell-centered data to faces (arithmetic, no tangential ghost faces).
Definition CD_DataOps.cpp:148
static void multiplyScalar(EBAMRCellData &a_lhs, const EBAMRCellData &a_rhs)
Multiply data holder by another data holder.
Definition CD_DataOps.cpp:2341
static void axby(LevelData< EBCellFAB > &a_lhs, const LevelData< EBCellFAB > &a_x, const LevelData< EBCellFAB > &a_y, const Real a_a, const Real a_b) noexcept
Compute lhs = a * x + b * y.
Definition CD_DataOps.cpp:462
Base class for a tracer particle solver. This solver can advance particles in a pre-defined velocity ...
Definition CD_TracerParticleSolver.H:38
TracerParticleSolver()
Default constructor.
Definition CD_TracerParticleSolverImplem.H:26