chombo-discharge
Loading...
Searching...
No Matches
Static Public Member Functions | List of all members
DataOps Class Reference

Agglomeration of useful data operations. More...

#include <CD_DataOps.H>

Static Public Member Functions

template<typename T >
static void setValue (LevelData< MFInterfaceFAB< T > > &a_lhs, const T &a_value)
 Set value in an MFInterfaceFAB data holder.
 
template<typename T >
static int sgn (const T a_value)
 Sign function. Returns +/- if the value is > 0 or < 0.
 
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.
 
static void averageCellVelocityToFaceVelocity (LevelData< EBFluxFAB > &a_faceData, const LevelData< EBCellFAB > &a_cellData, const ProblemDomain &a_domain, const int a_tanGhosts, LayoutData< std::array< FaceIterator, SpaceDim > > &a_faceIter)
 Routine which computes the average of a cell-centered quantity on faces for the normal component only.
 
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).
 
static void averageCellToFace (EBAMRFluxData &a_faceData, const EBAMRCellData &a_cellData, const Vector< ProblemDomain > &a_domains, const int a_tanGhosts, const Interval &a_faceInterval, const Interval &a_cellInterval, const Average &a_average, Vector< RefCountedPtr< LayoutData< std::array< FaceIterator, SpaceDim > > > > &a_faceIter)
 Routine which averages a cell-centered component to faces.
 
static void averageCellToFace (LevelData< EBFluxFAB > &a_faceData, const LevelData< EBCellFAB > &a_cellData, const ProblemDomain &a_domain, const int a_tanGhosts, const Interval &a_faceInterval, const Interval &a_cellInterval, const Average &a_average, LayoutData< std::array< FaceIterator, SpaceDim > > &a_faceIter)
 Routine which averages a cell-centered component to faces.
 
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.
 
static void averageFaceToCell (LevelData< EBCellFAB > &a_cellData, const LevelData< EBFluxFAB > &a_fluxData, const ProblemDomain &a_domain, LayoutData< VoFIterator > &a_vofIter)
 Average all components of face centered data to cell centers.
 
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.
 
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.
 
static void compute (LevelData< EBCellFAB > &a_data, const std::function< Real(const Real a_cellValue)> &a_func, LayoutData< VoFIterator > &a_vofIter) noexcept
 Compute a new value given the old cell value.
 
static void dotProduct (MFAMRCellData &a_result, const MFAMRCellData &a_data1, const MFAMRCellData &a_data2)
 Compote the cell-wise dot product between two data holders.
 
static void dotProduct (LevelData< MFCellFAB > &a_result, const LevelData< MFCellFAB > &a_data1, const LevelData< MFCellFAB > &a_data2)
 Compote the cell-wise dot product between two data holders.
 
static void dotProduct (EBAMRCellData &a_result, const EBAMRCellData &a_data1, const EBAMRCellData &a_data2, const Vector< RefCountedPtr< LayoutData< VoFIterator > > > &a_vofIter)
 Compute the cell-wise dot product between two data holders.
 
static void dotProduct (LevelData< EBCellFAB > &a_result, const LevelData< EBCellFAB > &a_data1, const LevelData< EBCellFAB > &a_data2, LayoutData< VoFIterator > &a_vofIter)
 Compute the cell-wise dot product between two data holders.
 
static void dotProduct (EBCellFAB &a_result, const EBCellFAB &a_data1, const EBCellFAB &a_data2, const Box &a_box, VoFIterator &a_vofIter)
 Compute the cell-wise dot product between two data holders.
 
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 direction.
 
static void filterSmooth (LevelData< EBCellFAB > &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 direction.
 
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.
 
static void incr (LevelData< MFCellFAB > &a_lhs, const LevelData< MFCellFAB > &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.
 
static void incr (EBAMRCellData &a_lhs, const EBAMRCellData &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.
 
static void incr (LevelData< EBCellFAB > &a_lhs, const LevelData< EBCellFAB > &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.
 
static void incr (EBAMRFluxData &a_lhs, const EBAMRFluxData &a_rhs, const Real &a_scale)
 Function which increments data in the form a_lhs = a_lhs + a_rhs*a_scale for all components.
 
static void incr (LevelData< EBFluxFAB > &a_lhs, const LevelData< EBFluxFAB > &a_rhs, const Real &a_scale)
 Function which increments data in the form a_lhs = a_lhs + a_rhs*a_scale for all components.
 
static void incr (EBFluxFAB &a_lhs, const EBFluxFAB &a_rhs, const Real &a_scale)
 Function which increments data in the form a_lhs = a_lhs + a_rhs*a_scale for all components.
 
static void incr (EBAMRIVData &a_lhs, const EBAMRIVData &a_rhs, const Real &a_scale)
 Function which increments data in the form a_lhs = a_lhs + a_rhs*a_scale for all components.
 
static void incr (LevelData< BaseIVFAB< Real > > &a_lhs, const LevelData< BaseIVFAB< Real > > &a_rhs, const Real &a_scale)
 Function which increments data in the form a_lhs = a_lhs + a_rhs*a_scale for all components.
 
static void incr (EBAMRIVData &a_lhs, const EBAMRIVData &a_rhs, const Real &a_scale, const Vector< RefCountedPtr< LayoutData< VoFIterator > > > &a_vofIter)
 Function which increments data in the form a_lhs = a_lhs + a_rhs*a_scale for all components.
 
static void incr (LevelData< BaseIVFAB< Real > > &a_lhs, const LevelData< BaseIVFAB< Real > > &a_rhs, const Real &a_scale, LayoutData< VoFIterator > &a_vofIter)
 Function which increments data in the form a_lhs = a_lhs + a_rhs*a_scale for all components.
 
static void incr (EBAMRIFData &a_lhs, const EBAMRIFData &a_rhs, const Real &a_scale)
 Function which increments data in the form a_lhs = a_lhs + a_rhs*a_scale for all components.
 
static void incr (LevelData< DomainFluxIFFAB > &a_lhs, const LevelData< DomainFluxIFFAB > &a_rhs, const Real &a_scale)
 Function which increments data in the form a_lhs = a_lhs + a_rhs*a_scale for all components.
 
static void incr (EBAMRCellData &a_lhs, const EBAMRIVData &a_rhs, const Real a_scale, const Vector< RefCountedPtr< LayoutData< VoFIterator > > > &a_vofIter)
 Function which increments data in the form a_lhs = a_lhs + a_rhs*a_scale for all components.
 
static void incr (LevelData< EBCellFAB > &a_lhs, const LevelData< BaseIVFAB< Real > > &a_rhs, const Real a_scale, LayoutData< VoFIterator > &a_vofIter)
 Function which increments data in the form a_lhs = a_lhs + a_rhs*a_scale for all components.
 
static void incr (EBAMRIVData &a_lhs, const EBAMRCellData &a_rhs, const Real a_scale, const Vector< RefCountedPtr< LayoutData< VoFIterator > > > &a_vofIter)
 Function which increments data in the form a_lhs = a_lhs + a_rhs*a_scale for all components.
 
static void incr (LevelData< BaseIVFAB< Real > > &a_lhs, const LevelData< EBCellFAB > &a_rhs, const Real a_scale, LayoutData< VoFIterator > &a_vofIter)
 Function which increments data in the form a_lhs = a_lhs + a_rhs*a_scale for all components.
 
static void copy (MFAMRCellData &a_dst, const MFAMRCellData &a_src)
 Copy data from one data holder to another.
 
static void copy (EBAMRCellData &a_dst, const EBAMRCellData &a_src)
 Copy data from one data holder to another.
 
static void copy (EBAMRIVData &a_dst, const EBAMRIVData &a_src)
 Copy data from one data holder to another.
 
template<typename T >
static void copy (EBAMRData< T > &a_dst, const EBAMRData< T > &a_src, const Interval a_dstInterv, const Interval a_srcInterv)
 Copy data from one data holder to another. Allows specification of components.
 
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.
 
static void divide (LevelData< EBCellFAB > &a_lhs, const LevelData< EBCellFAB > &a_rhs, const int a_lhsComp, const int a_rhsComp)
 Divide one data holder by another. Does specified components.
 
static void divideByScalar (EBAMRCellData &a_lhs, const EBAMRCellData &a_rhs)
 Divide all components in a data holder by a scalar value.
 
static void divideByScalar (LevelData< EBCellFAB > &a_lhs, const LevelData< EBCellFAB > &a_rhs)
 Divide all components in a data holder by a scalar value.
 
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.
 
static void divideFallback (LevelData< EBCellFAB > &a_numerator, const LevelData< EBCellFAB > &a_denominator, const Real a_fallback, LayoutData< VoFIterator > &a_vofIter)
 Divide data. If the denominator is zero, set the value to a fallback option.
 
static void divideFallback (EBAMRCellData &a_numerator, const EBAMRCellData &a_denominator, const EBAMRCellData &a_fallback, const Vector< RefCountedPtr< LayoutData< VoFIterator > > > &a_vofIter)
 Divide data. If the denominator is zero, set the value to a fallback option.
 
static void divideFallback (LevelData< EBCellFAB > &a_numerator, const LevelData< EBCellFAB > &a_denominator, const LevelData< EBCellFAB > &a_fallback, LayoutData< VoFIterator > &a_vofIter)
 Divide data. If the denominator is zero, set the value to a fallback option.
 
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.
 
static void floor (LevelData< EBCellFAB > &a_lhs, const Real a_value, LayoutData< VoFIterator > &a_vofIter)
 Floor values in data holder. This sets all values below a_value to a_value.
 
static void floor (EBAMRIVData &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.
 
static void floor (LevelData< BaseIVFAB< Real > > &a_lhs, const Real a_value, LayoutData< VoFIterator > &a_vofIter)
 Floor values in data holder. This sets all values below a_value to a_value.
 
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.
 
static void roof (LevelData< EBCellFAB > &a_lhs, const Real a_value, LayoutData< VoFIterator > &a_vofIter)
 Roof values in data holder. This sets all values above a_value to a_value.
 
static void roof (EBAMRIVData &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.
 
static void roof (LevelData< BaseIVFAB< Real > > &a_lhs, const Real a_value, LayoutData< VoFIterator > &a_vofIter)
 Roof values in data holder. This sets all values above a_value to a_value.
 
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).
 
static void max (LevelData< EBCellFAB > &a_data, const LevelData< EBCellFAB > &a_data1, const LevelData< EBCellFAB > &a_data2, LayoutData< VoFIterator > &a_vofIter)
 Make a_data = max(a_data1, a_data2).
 
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.
 
static void getMaxMin (Real &a_max, Real &a_min, LevelData< EBCellFAB > &a_data, const int a_comp, LayoutData< VoFIterator > &a_vofIter)
 Get maximum and minimum value of specified component.
 
static void getMaxMin (Real &a_max, Real &a_min, EBAMRFluxData &a_data, const int a_comp, Vector< RefCountedPtr< LayoutData< std::array< FaceIterator, SpaceDim > > > > &a_faceIter) noexcept
 Get maximum and minimum value of specified component.
 
static void getMaxMin (Real &a_max, Real &a_min, LevelData< EBFluxFAB > &a_data, const int a_comp, LayoutData< std::array< FaceIterator, SpaceDim > > &a_faceIter) noexcept
 Get maximum and minimum value of specified component.
 
static void getMaxMin (Vector< Real > &a_max, Vector< Real > &a_min, Vector< EBAMRCellData > &a_data)
 Get maximum and minimum value. Assumes single-component data.
 
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.
 
static void getMaxMinNorm (Real &a_max, Real &a_min, LevelData< EBCellFAB > &data, LayoutData< VoFIterator > &a_vofIter)
 Get maximum and minimum value of normed data.
 
static void getMaxMinNorm (Real &a_max, Real &a_min, EBAMRIVData &a_data, const Vector< RefCountedPtr< LayoutData< VoFIterator > > > &a_vofIter)
 Get maximum and minimum value of normed data.
 
static void getMaxMinNorm (Real &a_max, Real &a_min, LevelData< BaseIVFAB< Real > > &a_data, LayoutData< VoFIterator > &a_vofIter)
 Get maximum and minimum value of normed data.
 
static void invert (EBAMRFluxData &a_data)
 Invert data.
 
static void invert (EBAMRFluxData &a_data, Vector< RefCountedPtr< LayoutData< std::array< FaceIterator, SpaceDim > > > > &a_faceIter)
 Invert data using pre-built face iterators.
 
static void invert (LevelData< EBFluxFAB > &a_data, LayoutData< std::array< FaceIterator, SpaceDim > > &a_faceIter)
 Invert data.
 
static void invert (EBFluxFAB &a_data)
 Invert data.
 
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.
 
static void kappaScale (EBAMRCellData &a_data, const Vector< RefCountedPtr< LayoutData< VoFIterator > > > &a_vofIter) noexcept
 Scale data by volume fraction.
 
static void kappaScale (LevelData< EBCellFAB > &a_data, LayoutData< VoFIterator > &a_vofIter) noexcept
 Scale data by volume fraction.
 
static void kappaScale (MFAMRCellData &a_data, const Vector< RefCountedPtr< LayoutData< VoFIterator > > > &a_vofIterPhase0, const Vector< RefCountedPtr< LayoutData< VoFIterator > > > &a_vofIterPhase1) noexcept
 Scale data by volume fraction.
 
static void kappaScale (LevelData< MFCellFAB > &a_data, const RefCountedPtr< LayoutData< VoFIterator > > &a_vofIterPhase0, const RefCountedPtr< LayoutData< VoFIterator > > &a_vofIterPhase1) noexcept
 Scale data by volume fraction.
 
static void volumeScale (EBAMRCellData &a_data, const Vector< Real > &a_dx)
 Scale data by dx^SpaceDim.
 
static void multiply (EBAMRCellData &a_lhs, const EBAMRCellData &a_rhs)
 Multiply data holder by another data holder.
 
static void multiply (LevelData< EBCellFAB > &a_lhs, const LevelData< EBCellFAB > &a_rhs)
 Multiply data holder by another data holder.
 
static void multiply (EBAMRFluxData &a_lhs, const EBAMRFluxData &a_rhs)
 Multiply data holder by another data holder.
 
static void multiply (LevelData< EBFluxFAB > &a_lhs, const LevelData< EBFluxFAB > &a_rhs)
 Multiply data holder by another data holder.
 
static void multiply (EBAMRIVData &a_lhs, const EBAMRIVData &a_rhs, const Vector< RefCountedPtr< LayoutData< VoFIterator > > > &a_vofIter)
 Multiply data holder by another data holder element-wise over all cut-cells.
 
static void multiply (LevelData< BaseIVFAB< Real > > &a_lhs, const LevelData< BaseIVFAB< Real > > &a_rhs, LayoutData< VoFIterator > &a_vofIter)
 Multiply data holder by another data holder element-wise over all cut-cells.
 
static void multiplyScalar (EBAMRCellData &a_lhs, const EBAMRCellData &a_rhs)
 Multiply data holder by another data holder.
 
static void multiplyScalar (LevelData< EBCellFAB > &a_lhs, const LevelData< EBCellFAB > &a_rhs)
 Multiply data holder by another data holder.
 
static void multiplyScalar (EBAMRIVData &a_lhs, const EBAMRIVData &a_rhs, const Vector< RefCountedPtr< LayoutData< VoFIterator > > > &a_vofIter)
 Multiply all components of a_lhs by the single component of a_rhs over all cut-cells.
 
static void multiplyScalar (LevelData< BaseIVFAB< Real > > &a_lhs, const LevelData< BaseIVFAB< Real > > &a_rhs, LayoutData< VoFIterator > &a_vofIter)
 Multiply all components of a_lhs by the single component of a_rhs over all cut-cells.
 
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.
 
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.
 
static void plus (LevelData< EBCellFAB > &a_lhs, const LevelData< EBCellFAB > &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.
 
static void scale (MFAMRCellData &a_lhs, const Real &a_scale) noexcept
 Scale data by factor.
 
static void scale (LevelData< MFCellFAB > &a_lhs, const Real &a_scale) noexcept
 Scale data by factor.
 
static void scale (MFAMRFluxData &a_lhs, const Real &a_scale)
 Scale data by factor.
 
static void scale (LevelData< MFFluxFAB > &a_lhs, const Real &a_scale)
 Scale data by factor.
 
static void scale (EBAMRIVData &a_lhs, const Real &a_scale, const Vector< RefCountedPtr< LayoutData< VoFIterator > > > &a_vofIter)
 Scale data by factor over all cut-cells.
 
static void scale (EBAMRCellData &a_lhs, const Real a_scale) noexcept
 Scale data by factor.
 
static void scale (LevelData< EBCellFAB > &a_lhs, const Real a_scale) noexcept
 Scale data by factor.
 
static void scale (EBAMRFluxData &a_lhs, const Real a_scale)
 Scale data by factor.
 
static void scale (LevelData< EBFluxFAB > &a_lhs, const Real a_scale)
 Scale data by factor.
 
static void scale (LevelData< BaseIVFAB< Real > > &a_lhs, const Real &a_scale, LayoutData< VoFIterator > &a_vofIter)
 Scale data by factor over all cut-cells.
 
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.
 
static void setCoveredValue (LevelData< EBCellFAB > &a_lhs, const LevelData< EBCellFAB > &a_coveredMask, const int a_comp, const Real a_value)
 Set value in covered cells. Does specified component.
 
static void setCoveredValue (EBAMRCellData &a_lhs, const EBAMRCellData &a_coveredMask, const Real a_value)
 Version of setCoveredValue which does all components.
 
static void setCoveredValue (LevelData< EBCellFAB > &a_lhs, const LevelData< EBCellFAB > &a_coveredMask, const Real a_value)
 Version of setCoveredValue which does all component.
 
static void setCoveredValue (EBAMRFluxData &a_lhs, const int a_comp, const Real a_value) noexcept
 Set value on covered faces.
 
static void setCoveredValue (LevelData< EBFluxFAB > &a_lhs, const int a_comp, const Real a_value) noexcept
 Set value on covered faces.
 
static void setCoveredValue (EBAMRFluxData &a_lhs, const Real a_value) noexcept
 Set all covered face values.
 
static void setCoveredValue (LevelData< EBFluxFAB > &a_lhs, const Real a_value) noexcept
 Set all covered face values.
 
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.
 
static void setValue (MFAMRCellData &a_lhs, const std::function< Real(const RealVect)> &a_function, const RealVect &a_probLo, const Vector< Real > &a_dx, const int a_comp, const Vector< RefCountedPtr< LayoutData< VoFIterator > > > &a_vofIterPhase0, const Vector< RefCountedPtr< LayoutData< VoFIterator > > > &a_vofIterPhase1)
 Polymorphic set value function. Takes a spatially varying function and sets the value in the specified component from that function.
 
static void setValue (LevelData< MFCellFAB > &a_lhs, const std::function< Real(const RealVect)> &a_function, const RealVect a_probLo, const Real a_dx, const int a_comp, const RefCountedPtr< LayoutData< VoFIterator > > &a_vofIterPhase0, const RefCountedPtr< LayoutData< VoFIterator > > &a_vofIterPhase1)
 Polymorphic set value function. Takes a spatially varying function and sets the value in the specified component from that function.
 
static void setValue (EBAMRCellData &a_lhs, const std::function< Real(const RealVect)> &a_function, const RealVect &a_probLo, const Vector< Real > &a_dx, const int a_comp, const Vector< RefCountedPtr< LayoutData< VoFIterator > > > &a_vofIter)
 Polymorphic set value function. Takes a spatially varying function and sets the value in the specified component from that function.
 
static void setValue (LevelData< EBCellFAB > &a_lhs, const std::function< Real(const RealVect)> &a_function, const RealVect a_probLo, const Real a_dx, const int a_comp, LayoutData< VoFIterator > &a_vofIter)
 Polymorphic set value function. Takes a spatially varying function and sets the value in the specified component from that function.
 
static void setValue (EBAMRFluxData &a_lhs, const std::function< Real(const RealVect)> &a_function, const RealVect &a_probLo, const Vector< Real > &a_dx, const int a_comp, Vector< RefCountedPtr< LayoutData< std::array< FaceIterator, SpaceDim > > > > &a_faceIter)
 Polymorphic set value function using pre-built face iterators.
 
static void setValue (LevelData< EBFluxFAB > &a_lhs, const std::function< Real(const RealVect)> &a_function, const RealVect a_probLo, const Real a_dx, const int a_comp, LayoutData< std::array< FaceIterator, SpaceDim > > &a_faceIter)
 Polymorphic set value function using pre-built face iterators.
 
static void setValue (EBAMRIVData &a_lhs, const std::function< Real(const RealVect)> &a_function, const RealVect &a_probLo, const Vector< Real > &a_dx, const int a_comp, const Vector< RefCountedPtr< LayoutData< VoFIterator > > > &a_vofIter)
 Polymorphic set value function. Takes a spatially varying function and sets the value in the specified component from that function.
 
static void setValue (LevelData< BaseIVFAB< Real > > &a_lhs, const std::function< Real(const RealVect)> &a_function, const RealVect a_probLo, const Real a_dx, const int a_comp, LayoutData< VoFIterator > &a_vofIter)
 Polymorphic set value function. Takes a spatially varying function and sets the value in the specified component from that function.
 
static void setValue (EBAMRCellData &a_lhs, const std::function< RealVect(const RealVect)> &a_function, const RealVect &a_probLo, const Vector< Real > &a_dx, const Vector< RefCountedPtr< LayoutData< VoFIterator > > > &a_vofIter)
 Polymorphic set value function. Assumes that a_lhs has SpaceDim components and sets all those components from the input function.
 
static void setValue (LevelData< EBCellFAB > &a_lhs, const std::function< RealVect(const RealVect)> &a_function, const RealVect a_probLo, const Real a_dx, LayoutData< VoFIterator > &a_vofIter)
 Polymorphic set value function. Assumes that a_lhs has SpaceDim components and sets all those components from the input function.
 
static void setValue (EBAMRCellData &a_data, const Real &a_value)
 Set value in data.
 
static void setValue (EBAMRCellData &a_lhs, const Real a_value, const int a_comp)
 Set value in data with specified component.
 
static void setValue (LevelData< EBCellFAB > &a_lhs, const Real a_value, const int a_comp)
 Set value in data with specified component.
 
static void setValue (LevelData< EBCellFAB > &a_lhs, const Real a_value)
 Set value in data.
 
static void setValue (LevelData< EBFluxFAB > &a_lhs, const Real a_value)
 Set value in data.
 
static void setValue (LevelData< BaseIVFAB< Real > > &a_lhs, const Real a_value)
 Set value in data.
 
static void setValue (EBAMRFluxData &a_data, const Real &a_value)
 Set value in data.
 
static void setValue (EBAMRIVData &a_data, const Real &a_value)
 Set value in data.
 
static void setValue (MFAMRCellData &a_lhs, const Real &a_value) noexcept
 Set value in data.
 
static void setValue (LevelData< MFCellFAB > &a_lhs, const Real &a_value) noexcept
 Set value in data.
 
static void setValue (MFAMRFluxData &a_lhs, const Real &a_value)
 Set value in data.
 
static void setValue (LevelData< MFFluxFAB > &a_lhs, const Real &a_value)
 Set value in data.
 
static void setValue (MFAMRIVData &a_lhs, const Real &a_value)
 Set value in data.
 
static void setValue (LevelData< MFBaseIVFAB > &a_lhs, const Real &a_value)
 Set value in data.
 
static void setValue (EBAMRIFData &a_lhs, const Real a_value)
 Set value in data.
 
static void setValue (LevelData< DomainFluxIFFAB > &a_lhs, const Real a_value)
 Set value in data.
 
static void sum (Real &a_value)
 Compute the sum of the input value.
 
static void squareRoot (EBAMRFluxData &a_lhs, Vector< RefCountedPtr< LayoutData< std::array< FaceIterator, SpaceDim > > > > &a_faceIter)
 Compute the square root of the input data.
 
static void squareRoot (LevelData< EBFluxFAB > &a_lhs, LayoutData< std::array< FaceIterator, SpaceDim > > &a_faceIter)
 Compute the square root of the input data.
 
static void squareRoot (MFAMRCellData &a_lhs, const Vector< RefCountedPtr< LayoutData< VoFIterator > > > &a_vofIterPhase0, const Vector< RefCountedPtr< LayoutData< VoFIterator > > > &a_vofIterPhase1)
 Take the square root of the input data.
 
static void squareRoot (LevelData< MFCellFAB > &a_lhs, const RefCountedPtr< LayoutData< VoFIterator > > &a_vofIterPhase0, const RefCountedPtr< LayoutData< VoFIterator > > &a_vofIterPhase1)
 Take the square root of the input data.
 
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 components.
 
static void vectorLength (LevelData< EBCellFAB > &a_lhs, const LevelData< EBCellFAB > &a_rhs, const LevelData< EBCellFAB > &a_notCovered, LayoutData< VoFIterator > &a_vofIter)
 Compute the vector length of a data holder. Sets a_lhs = |a_rhs| where a_rhs contains SpaceDim components.
 
static void vectorLength (EBCellFAB &a_lhs, const EBCellFAB &a_rhs, const EBCellFAB &a_notCovered, const Box &box, VoFIterator &a_vofIter)
 Compute the vector length of a data holder. Sets a_lhs = |a_rhs| where a_rhs contains SpaceDim components.
 
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 SpaceDim components.
 
static void vectorLength2 (LevelData< EBCellFAB > &a_lhs, const LevelData< EBCellFAB > &a_rhs, const LevelData< EBCellFAB > &a_notCovered, LayoutData< VoFIterator > &a_vofIter)
 Compute the squared vector length of a data holder. Sets a_lhs = |a_rhs|^2 where a_rhs contains SpaceDim components.
 
static void vectorLength2 (EBCellFAB &a_lhs, const EBCellFAB &a_rhs, const EBCellFAB &a_notCovered, const Box &box, VoFIterator &a_vofIter)
 Compute the squared vector length of a data holder. Sets a_lhs = |a_rhs|^2 where a_rhs contains SpaceDim components.
 
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.
 
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.
 
static void shiftCorners (Vector< RealVect > &a_corners, const RealVect &a_distance)
 Shift points by a specified distance.
 

Detailed Description

Agglomeration of useful data operations.

Note
All methods in this class assumes that data are allocated over the same realm. If you are trying to do something across realms, you need to copy the data onto realms that lie on the same data holders first!.

Member Function Documentation

◆ allCornersInsideEb()

bool DataOps::allCornersInsideEb ( const Vector< RealVect > &  a_corners,
const RealVect a_normal,
const RealVect a_centroid 
)
static

Check if all corners/points are inside an EB.

Parameters
[in]a_normalEB face normal
[in]a_centroidEB centroid
Returns
Returns true if all points are inside the EB and false otherwise.
Parameters
[in]a_cornersCorners

◆ averageCellToFace() [1/3]

void DataOps::averageCellToFace ( EBAMRFluxData a_faceData,
const EBAMRCellData a_cellData,
const Vector< ProblemDomain > &  a_domains,
const int  a_tanGhosts,
const Interval a_faceInterval,
const Interval a_cellInterval,
const Average a_average,
Vector< RefCountedPtr< LayoutData< std::array< FaceIterator, SpaceDim > > > > &  a_faceIter 
)
static

Routine which averages a cell-centered component to faces.

Parameters
[out]a_faceDataFace data.
[in]a_cellDataCell data.
[in]a_domainsAMR domains.
[in]a_tanGhostsTangential ghost faces to fill.
[in]a_faceIntervalFace variables.
[in]a_cellIntervalCell variables.
[in]a_averageAveraging method.
[in]a_faceIterPre-built face iterators (SurroundingNoBoundary with tangential ghosts) for each level. Use AmrMesh::getFaceIteratorWithTangentialGhosts when a_tanGhosts > 0.

◆ averageCellToFace() [2/3]

void DataOps::averageCellToFace ( EBAMRFluxData a_faceData,
const EBAMRCellData a_cellData,
const Vector< ProblemDomain > &  a_domains,
Vector< RefCountedPtr< LayoutData< std::array< FaceIterator, SpaceDim > > > > &  a_faceIter 
)
static

Average all components of the cell-centered data to faces (arithmetic, no tangential ghost faces).

Convenience wrapper: calls the full overload with tanGhost=0, Interval(0,0), Average::Arithmetic. The face iterator should use FaceStop::SurroundingNoBoundary; domain boundary faces are fixed up separately by this function. Use AmrMesh::getFaceIteratorNoBoundary to obtain a suitable iterator.

Parameters
[out]a_faceDataFace data.
[in]a_cellDataCell data.
[in]a_domainsAMR domains.
[in]a_faceIterPre-built face iterators (SurroundingNoBoundary) for each level.

◆ averageCellToFace() [3/3]

void DataOps::averageCellToFace ( LevelData< EBFluxFAB > &  a_faceData,
const LevelData< EBCellFAB > &  a_cellData,
const ProblemDomain a_domain,
const int  a_tanGhosts,
const Interval a_faceInterval,
const Interval a_cellInterval,
const Average a_average,
LayoutData< std::array< FaceIterator, SpaceDim > > &  a_faceIter 
)
static

Routine which averages a cell-centered component to faces.

Parameters
[out]a_faceDataFace data.
[in]a_cellDataCell data.
[in]a_domainProblem domain.
[in]a_tanGhostsTangential ghost faces to fill.
[in]a_faceIntervalFace variables.
[in]a_cellIntervalCell variables.
[in]a_averageAveraging method.
[in]a_faceIterPre-built tangential-ghost face iterators.

◆ averageCellVelocityToFaceVelocity() [1/2]

void DataOps::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 
)
static

Routine which computes the average of a cell-centered quantity on faces for the normal component only.

Parameters
[out]a_faceDataFace data. Must have one component.
[in]a_cellDataCell data. Must have SpaceDim components.
[in]a_domainsAMR domains.
[in]a_tanGhostsTangential ghost faces.
[in]a_faceIterPre-built tangential-ghost face iterators for each level.

◆ averageCellVelocityToFaceVelocity() [2/2]

void DataOps::averageCellVelocityToFaceVelocity ( LevelData< EBFluxFAB > &  a_faceData,
const LevelData< EBCellFAB > &  a_cellData,
const ProblemDomain a_domain,
const int  a_tanGhosts,
LayoutData< std::array< FaceIterator, SpaceDim > > &  a_faceIter 
)
static

Routine which computes the average of a cell-centered quantity on faces for the normal component only.

Parameters
[out]a_faceDataFace data. Must have one component.
[in]a_cellDataCell data. Must have SpaceDim components.
[in]a_domainProblem domain.
[in]a_tanGhostsTangential ghost faces.
[in]a_faceIterPre-built tangential-ghost face iterators.

◆ averageFaceToCell() [1/2]

void DataOps::averageFaceToCell ( EBAMRCellData a_cellData,
const EBAMRFluxData a_faceData,
const Vector< ProblemDomain > &  a_domains,
const Vector< RefCountedPtr< LayoutData< VoFIterator > > > &  a_vofIter 
)
static

Average all components of face centered data to cell centers.

Parameters
[out]a_cellDataCell data.
[in]a_faceDataFace data.
[in]a_domainsAMR domains.
[in]a_vofIterPre-built VoF iterators (all cut-cells) for each level.
Note
Only valid cells are filled (not ghost cells)

◆ averageFaceToCell() [2/2]

void DataOps::averageFaceToCell ( LevelData< EBCellFAB > &  a_cellData,
const LevelData< EBFluxFAB > &  a_fluxData,
const ProblemDomain a_domain,
LayoutData< VoFIterator > &  a_vofIter 
)
static

Average all components of face centered data to cell centers.

Parameters
[out]a_cellDataCell data.
[in]a_fluxDataFace data.
[in]a_domainProblem domain.
[in]a_vofIterPre-built VoF iterator (all cut-cells).
Note
Only valid cells are filled (not ghost cells)

◆ axby()

void DataOps::axby ( LevelData< EBCellFAB > &  a_lhs,
const LevelData< EBCellFAB > &  a_x,
const LevelData< EBCellFAB > &  a_y,
const Real  a_a,
const Real  a_b 
)
staticnoexcept

Compute lhs = a * x + b * y.

Parameters
[out]a_lhsResult
[in]a_xFirst FAB
[in]a_ySecond FAB
[in]a_aScaling factor
[in]a_bScaling factor

◆ compute() [1/2]

void DataOps::compute ( EBAMRCellData a_data,
const std::function< Real(const Real a_cellValue)> &  a_func,
const Vector< RefCountedPtr< LayoutData< VoFIterator > > > &  a_vofIter 
)
staticnoexcept

Compute a new value given the old cell value.

Useful for quickly calculating a cell value as e.g. exp(x) where the original data was only x

Parameters
[in,out]a_dataInput data
[in]a_funcFunction for transforming the data
[in]a_vofIterPre-built VoF iterators (multiply-cut cells) for each level.

◆ compute() [2/2]

void DataOps::compute ( LevelData< EBCellFAB > &  a_data,
const std::function< Real(const Real a_cellValue)> &  a_func,
LayoutData< VoFIterator > &  a_vofIter 
)
staticnoexcept

Compute a new value given the old cell value.

Useful for quickly calculating a cell value as e.g. exp(x) where the original data was only x

Parameters
[in,out]a_dataInput data
[in]a_funcFunction for transforming the data
[in]a_vofIterPre-built VoF iterator (multiply-cut cells).

◆ computeMinValidBox()

void DataOps::computeMinValidBox ( RealVect a_lo,
RealVect a_hi,
const RealVect a_normal,
const RealVect a_centroid 
)
static

Compute the tightest possible valid box around a cut-cell volume.

Parameters
[out]a_loLow corner
[out]a_hiHigh corner
[in]a_normalEB face normal
[in]a_centroidEB centroid

◆ copy() [1/4]

void DataOps::copy ( EBAMRCellData a_dst,
const EBAMRCellData a_src 
)
static

Copy data from one data holder to another.

Parameters
[out]a_dstDestination data holder
[in]a_srcSource data holder

◆ copy() [2/4]

template<typename T >
void DataOps::copy ( EBAMRData< T > &  a_dst,
const EBAMRData< T > &  a_src,
const Interval  a_dstInterv,
const Interval  a_srcInterv 
)
static

Copy data from one data holder to another. Allows specification of components.

Parameters
[out]a_dstDestination data holder
[in]a_srcSource data holder
[out]a_dstIntervDestination data component
[in]a_srcIntervSource data components

◆ copy() [3/4]

void DataOps::copy ( EBAMRIVData a_dst,
const EBAMRIVData a_src 
)
static

Copy data from one data holder to another.

Parameters
[out]a_dstDestination data holder
[in]a_srcSource data holder

◆ copy() [4/4]

void DataOps::copy ( MFAMRCellData a_dst,
const MFAMRCellData a_src 
)
static

Copy data from one data holder to another.

Parameters
[out]a_dstDestination data holder
[in]a_srcSource data holder

◆ divide() [1/2]

void DataOps::divide ( EBAMRCellData a_lhs,
const EBAMRCellData a_rhs,
const int  a_lhsComp,
const int  a_rhsComp 
)
static

Divide one data holder by another. Does specified components.

Parameters
[in,out]a_lhsData to be divided
[in]a_rhsDivisor.
[in]a_lhsCompDestination data component
[in]a_rhsCompSource data component

◆ divide() [2/2]

void DataOps::divide ( LevelData< EBCellFAB > &  a_lhs,
const LevelData< EBCellFAB > &  a_rhs,
const int  a_lhsComp,
const int  a_rhsComp 
)
static

Divide one data holder by another. Does specified components.

Parameters
[in,out]a_lhsData to be divided
[in]a_rhsDivisor.
[in]a_lhsCompDestination data component
[in]a_rhsCompSource data component

◆ divideByScalar() [1/2]

void DataOps::divideByScalar ( EBAMRCellData a_lhs,
const EBAMRCellData a_rhs 
)
static

Divide all components in a data holder by a scalar value.

Parameters
[in,out]a_lhsData to be divided
[in]a_rhsDivisor. Must have exactly one component.

◆ divideByScalar() [2/2]

void DataOps::divideByScalar ( LevelData< EBCellFAB > &  a_lhs,
const LevelData< EBCellFAB > &  a_rhs 
)
static

Divide all components in a data holder by a scalar value.

Parameters
[in,out]a_lhsData to be divided
[in]a_rhsDivisor. Must have exactly one component.

◆ divideFallback() [1/4]

void DataOps::divideFallback ( EBAMRCellData a_numerator,
const EBAMRCellData a_denominator,
const EBAMRCellData a_fallback,
const Vector< RefCountedPtr< LayoutData< VoFIterator > > > &  a_vofIter 
)
static

Divide data. If the denominator is zero, set the value to a fallback option.

Parameters
[in,out]a_numeratorDividend
[in]a_denominatorDivisor
[in]a_fallbackFallback data
[in]a_vofIterPre-built VoF iterators (multiply-cut cells) for each level.

◆ divideFallback() [2/4]

void DataOps::divideFallback ( EBAMRCellData a_numerator,
const EBAMRCellData a_denominator,
const Real  a_fallback,
const Vector< RefCountedPtr< LayoutData< VoFIterator > > > &  a_vofIter 
)
static

Divide data. If the denominator is zero, set the value to a fallback option.

Parameters
[in,out]a_numeratorDividend
[in]a_denominatorDivisor
[in]a_fallbackFallback value in case denominator is zero.
[in]a_vofIterPre-built VoF iterators (multiply-cut cells) for each level.

◆ divideFallback() [3/4]

void DataOps::divideFallback ( LevelData< EBCellFAB > &  a_numerator,
const LevelData< EBCellFAB > &  a_denominator,
const LevelData< EBCellFAB > &  a_fallback,
LayoutData< VoFIterator > &  a_vofIter 
)
static

Divide data. If the denominator is zero, set the value to a fallback option.

Parameters
[in,out]a_numeratorDividend
[in]a_denominatorDivisor
[in]a_fallbackFallback data
[in]a_vofIterPre-built VoF iterator (multiply-cut cells).
Note
Does all components.

◆ divideFallback() [4/4]

void DataOps::divideFallback ( LevelData< EBCellFAB > &  a_numerator,
const LevelData< EBCellFAB > &  a_denominator,
const Real  a_fallback,
LayoutData< VoFIterator > &  a_vofIter 
)
static

Divide data. If the denominator is zero, set the value to a fallback option.

Parameters
[in,out]a_numeratorDividend
[in]a_denominatorDivisor
[in]a_fallbackFallback value in case denominator is zero.
[in]a_vofIterPre-built VoF iterator (multiply-cut cells).
Note
Does all components.

◆ dotProduct() [1/5]

void DataOps::dotProduct ( EBAMRCellData a_result,
const EBAMRCellData a_data1,
const EBAMRCellData a_data2,
const Vector< RefCountedPtr< LayoutData< VoFIterator > > > &  a_vofIter 
)
static

Compute the cell-wise dot product between two data holders.

Parameters
[out]a_resultResult. Holds the dot product in each cell.
[in]a_data1First data holder.
[in]a_data2Other data holder.
[in]a_vofIterPre-built VoF iterators (multiply-cut cells) for each level.
Note
The input data data1 and data2 must have the same number of input components. Summation is done over all components (does not have to be SpaceDim).

◆ dotProduct() [2/5]

void DataOps::dotProduct ( EBCellFAB a_result,
const EBCellFAB a_data1,
const EBCellFAB a_data2,
const Box a_box,
VoFIterator a_vofIter 
)
static

Compute the cell-wise dot product between two data holders.

Parameters
[out]a_resultResult. Holds the dot product in each cell.
[in]a_data1First data holder.
[in]a_data2Other data holder.
[in]a_boxCell box.
[in]a_vofIterPre-built VoF iterator (multiply-cut cells) for this patch.
Note
The input data data1 and data2 must have the same number of input components. Summation is done over all components (does not have to be SpaceDim).

◆ dotProduct() [3/5]

void DataOps::dotProduct ( LevelData< EBCellFAB > &  a_result,
const LevelData< EBCellFAB > &  a_data1,
const LevelData< EBCellFAB > &  a_data2,
LayoutData< VoFIterator > &  a_vofIter 
)
static

Compute the cell-wise dot product between two data holders.

Parameters
[out]a_resultResult. Holds the dot product in each cell.
[in]a_data1First data holder.
[in]a_data2Other data holder.
[in]a_vofIterPre-built VoF iterator (multiply-cut cells).
Note
The input data data1 and data2 must have the same number of input components. Summation is done over all components (does not have to be SpaceDim).

◆ dotProduct() [4/5]

void DataOps::dotProduct ( LevelData< MFCellFAB > &  a_result,
const LevelData< MFCellFAB > &  a_data1,
const LevelData< MFCellFAB > &  a_data2 
)
static

Compote the cell-wise dot product between two data holders.

This calls the single-phase dotProduct patch versions with EBCellFABs on each phase.

Parameters
[out]a_resultResult. Holds the dot product in each cell.
[in]a_data1First data holder.
[in]a_data2Other data holder.
Note
The input data data1 and data2 must have the same number of input components. Summation is done over all components (does not have to be SpaceDim).

◆ dotProduct() [5/5]

void DataOps::dotProduct ( MFAMRCellData a_result,
const MFAMRCellData a_data1,
const MFAMRCellData a_data2 
)
static

Compote the cell-wise dot product between two data holders.

Parameters
[out]a_resultResult. Holds the dot product in each cell.
[in]a_data1First data holder.
[in]a_data2Other data holder.
Note
The input data data1 and data2 must have the same number of input components. Summation is done over all components (does not have to be SpaceDim).

◆ filterSmooth() [1/2]

void DataOps::filterSmooth ( EBAMRCellData a_data,
const Real  a_alpha,
const int  a_stride,
const bool  a_zeroEB 
)
staticnoexcept

Apply a convolved filter phi = alpha * phi_i + 0.5*(1-alpha) * [phi_(i+s) + phi_(i-s)] in each direction.

Ghost cells and coarsening must be done before entering this routine

Parameters
[in,out]a_dataData to be filtered.
[in]a_alphaFilter factor
[in]a_strideCell stride s
[in]a_zeroEBSet value in covered cells to zero or not
Note
This routine will fill ghost cells outside the domain boundary, but ignore the corner ghost cells at the domain corners. This routine may be dangerous to use with EBs as the data inside the EB is either kept as-is or replaced by zero.

◆ filterSmooth() [2/2]

void DataOps::filterSmooth ( LevelData< EBCellFAB > &  a_data,
const Real  a_alpha,
const int  a_stride,
const bool  a_zeroEB 
)
staticnoexcept

Apply a convolved filter phi = alpha * phi_i + 0.5*(1-alpha) * [phi_(i+s) + phi_(i-s)] in each direction.

Ghost cells must be updated before entering this routine.

Parameters
[in,out]a_dataData to be filtered.
[in]a_alphaFilter factor
[in]a_strideCell stride s
[in]a_zeroEBSet value in covered cells to zero or not
Note
This routine will fill ghost cells outside the domain boundary, but ignore the corner ghost cells at the domain corners. This routine may be dangerous to use with EBs as the data inside the EB is either kept as-is or replaced by zero.

◆ floor() [1/4]

void DataOps::floor ( EBAMRCellData a_lhs,
const Real  a_value,
const Vector< RefCountedPtr< LayoutData< VoFIterator > > > &  a_vofIter 
)
static

Floor values in data holder. This sets all values below a_value to a_value.

Parameters
[in,out]a_lhsData to be floored.
[in]a_valueFloor value.
[in]a_vofIterPre-built VoF iterators (all cut-cells, including ghost region) for each level.
Note
Also floors ghost cells.

◆ floor() [2/4]

void DataOps::floor ( EBAMRIVData a_lhs,
const Real  a_value,
const Vector< RefCountedPtr< LayoutData< VoFIterator > > > &  a_vofIter 
)
static

Floor values in data holder. This sets all values below a_value to a_value.

Parameters
[in,out]a_lhsData to be floored.
[in]a_valueFloor value.
[in]a_vofIterPre-built VoF iterators (all cut-cells) for each level.

◆ floor() [3/4]

void DataOps::floor ( LevelData< BaseIVFAB< Real > > &  a_lhs,
const Real  a_value,
LayoutData< VoFIterator > &  a_vofIter 
)
static

Floor values in data holder. This sets all values below a_value to a_value.

Parameters
[in,out]a_lhsData to be floored.
[in]a_valueFloor value.
[in]a_vofIterPre-built VoF iterator (all cut-cells).

◆ floor() [4/4]

void DataOps::floor ( LevelData< EBCellFAB > &  a_lhs,
const Real  a_value,
LayoutData< VoFIterator > &  a_vofIter 
)
static

Floor values in data holder. This sets all values below a_value to a_value.

Parameters
[in,out]a_lhsData to be floored.
[in]a_valueFloor value.
[in]a_vofIterPre-built VoF iterator (all cut-cells, including ghost region).
Note
Also floors ghost cells.

◆ getMaxMin() [1/5]

void DataOps::getMaxMin ( Real a_max,
Real a_min,
EBAMRFluxData a_data,
const int  a_comp,
Vector< RefCountedPtr< LayoutData< std::array< FaceIterator, SpaceDim > > > > &  a_faceIter 
)
staticnoexcept

Get maximum and minimum value of specified component.

Parameters
[out]a_maxMaximum value
[out]a_minMinimum value
[in]a_dataFace-centered data
[in]a_compComponent
[in]a_faceIterPre-built face iterators with FaceStop::SurroundingWithBoundary over all cut-cell faces (including domain-boundary faces) for each level. Obtain via AmrMesh::getFaceIterator.
Note
This does the calculation over all levels, including grids that are covered by other grids.

◆ getMaxMin() [2/5]

void DataOps::getMaxMin ( Real a_max,
Real a_min,
LevelData< EBCellFAB > &  a_data,
const int  a_comp,
LayoutData< VoFIterator > &  a_vofIter 
)
static

Get maximum and minimum value of specified component.

Parameters
[out]a_maxMaximum value.
[out]a_minMinimum value.
[in]a_dataCell-centered data.
[in]a_compComponent.
[in]a_vofIterPre-built VoF iterator (multiply-cut cells).

◆ getMaxMin() [3/5]

void DataOps::getMaxMin ( Real a_max,
Real a_min,
LevelData< EBFluxFAB > &  a_data,
const int  a_comp,
LayoutData< std::array< FaceIterator, SpaceDim > > &  a_faceIter 
)
staticnoexcept

Get maximum and minimum value of specified component.

Parameters
[out]a_maxMaximum value
[out]a_minMinimum value
[in]a_dataFace-centered data
[in]a_compComponent
[in]a_faceIterPre-built face iterators with FaceStop::SurroundingWithBoundary over all cut-cell faces (including domain-boundary faces). Obtain via AmrMesh::getFaceIterator.

◆ getMaxMin() [4/5]

void DataOps::getMaxMin ( Real max,
Real min,
EBAMRCellData a_data,
const int  a_comp,
const Vector< RefCountedPtr< LayoutData< VoFIterator > > > &  a_vofIter 
)
static

Get maximum and minimum value of specified component.

Parameters
[out]maxMaximum value.
[out]minMinimum value.
[in]a_dataCell-centered data.
[in]a_compComponent.
[in]a_vofIterPre-built VoF iterators (multiply-cut cells) for each level.
Note
This does the calculation over all levels, including grids that is covered by other grids.

◆ getMaxMin() [5/5]

void DataOps::getMaxMin ( Vector< Real > &  a_max,
Vector< Real > &  a_min,
Vector< EBAMRCellData > &  a_data 
)
static

Get maximum and minimum value. Assumes single-component data.

Parameters
[out]a_maxMaximum value
[out]a_minMinimum value
[in]a_dataCell-centered data
Note
This does the calculation over all levels, including grids that is covered by other grids.

◆ getMaxMinNorm() [1/4]

void DataOps::getMaxMinNorm ( Real a_max,
Real a_min,
EBAMRCellData data,
const Vector< RefCountedPtr< LayoutData< VoFIterator > > > &  a_vofIter 
)
static

Get maximum and minimum value of normed data.

Parameters
[out]a_maxMaximum value.
[out]a_minMinimum value.
[in]dataData.
[in]a_vofIterPre-built VoF iterators (multiply-cut cells) for each level.
Note
This does the calculation over all levels, including grids that is covered by other grids.

◆ getMaxMinNorm() [2/4]

void DataOps::getMaxMinNorm ( Real a_max,
Real a_min,
EBAMRIVData a_data,
const Vector< RefCountedPtr< LayoutData< VoFIterator > > > &  a_vofIter 
)
static

Get maximum and minimum value of normed data.

Parameters
[out]a_maxMaximum value.
[out]a_minMinimum value.
[in]a_dataData.
[in]a_vofIterPre-built VoF iterators (all cut-cells) for each level.
Note
This does the calculation over all levels, including grids that are covered by other grids.

◆ getMaxMinNorm() [3/4]

void DataOps::getMaxMinNorm ( Real a_max,
Real a_min,
LevelData< BaseIVFAB< Real > > &  a_data,
LayoutData< VoFIterator > &  a_vofIter 
)
static

Get maximum and minimum value of normed data.

Parameters
[out]a_maxMaximum value.
[out]a_minMinimum value.
[in]a_dataData.
[in]a_vofIterPre-built VoF iterator (all cut-cells).

◆ getMaxMinNorm() [4/4]

void DataOps::getMaxMinNorm ( Real a_max,
Real a_min,
LevelData< EBCellFAB > &  data,
LayoutData< VoFIterator > &  a_vofIter 
)
static

Get maximum and minimum value of normed data.

Parameters
[out]a_maxMaximum value.
[out]a_minMinimum value.
[in]dataData.
[in]a_vofIterPre-built VoF iterator (multiply-cut cells).

◆ incr() [1/17]

void DataOps::incr ( EBAMRCellData a_lhs,
const EBAMRCellData a_rhs,
const Real a_scale 
)
staticnoexcept

Function which increments data in the form a_lhs = a_lhs + a_rhs*a_scale for all components.

Parameters
[in,out]a_lhsData to be incremented.
[in]a_rhsIncrementation.
[in]a_scaleScale factor.

◆ incr() [2/17]

void DataOps::incr ( EBAMRCellData a_lhs,
const EBAMRIVData a_rhs,
const Real  a_scale,
const Vector< RefCountedPtr< LayoutData< VoFIterator > > > &  a_vofIter 
)
static

Function which increments data in the form a_lhs = a_lhs + a_rhs*a_scale for all components.

Only adds irregular data from an EBAMRIVData. Ignores regular cells.

Parameters
[in,out]a_lhsData to be incremented.
[in]a_rhsIncrementation.
[in]a_scaleScale factor.
[in]a_vofIterPre-built VoF iterators (all cut-cells) for each level.

◆ incr() [3/17]

void DataOps::incr ( EBAMRFluxData a_lhs,
const EBAMRFluxData a_rhs,
const Real a_scale 
)
static

Function which increments data in the form a_lhs = a_lhs + a_rhs*a_scale for all components.

Parameters
[in,out]a_lhsData to be incremented.
[in]a_rhsIncrementation.
[in]a_scaleScale factor.

◆ incr() [4/17]

void DataOps::incr ( EBAMRIFData a_lhs,
const EBAMRIFData a_rhs,
const Real a_scale 
)
static

Function which increments data in the form a_lhs = a_lhs + a_rhs*a_scale for all components.

Parameters
[in,out]a_lhsData to be incremented.
[in]a_rhsIncrementation.
[in]a_scaleScale factor.

◆ incr() [5/17]

void DataOps::incr ( EBAMRIVData a_lhs,
const EBAMRCellData a_rhs,
const Real  a_scale,
const Vector< RefCountedPtr< LayoutData< VoFIterator > > > &  a_vofIter 
)
static

Function which increments data in the form a_lhs = a_lhs + a_rhs*a_scale for all components.

Only adds irregular data from an EBCellFAB to a BaseIVFAB. Ignores regular cells.

Parameters
[in,out]a_lhsData to be incremented.
[in]a_rhsIncrementation.
[in]a_scaleScale factor.
[in]a_vofIterPre-built VoF iterators (all cut-cells) for each level.

◆ incr() [6/17]

void DataOps::incr ( EBAMRIVData a_lhs,
const EBAMRIVData a_rhs,
const Real a_scale 
)
static

Function which increments data in the form a_lhs = a_lhs + a_rhs*a_scale for all components.

Builds VoF iterators internally from the lhs data's own IVS and EBGraph.

Parameters
[in,out]a_lhsData to be incremented.
[in]a_rhsIncrementation.
[in]a_scaleScale factor.

◆ incr() [7/17]

void DataOps::incr ( EBAMRIVData a_lhs,
const EBAMRIVData a_rhs,
const Real a_scale,
const Vector< RefCountedPtr< LayoutData< VoFIterator > > > &  a_vofIter 
)
static

Function which increments data in the form a_lhs = a_lhs + a_rhs*a_scale for all components.

Parameters
[in,out]a_lhsData to be incremented.
[in]a_rhsIncrementation.
[in]a_scaleScale factor.
[in]a_vofIterPre-built VoF iterators (all cut-cells) for each level.

◆ incr() [8/17]

void DataOps::incr ( EBFluxFAB a_lhs,
const EBFluxFAB a_rhs,
const Real a_scale 
)
static

Function which increments data in the form a_lhs = a_lhs + a_rhs*a_scale for all components.

Parameters
[in,out]a_lhsData to be incremented.
[in]a_rhsIncrementation.
[in]a_scaleScale factor.

◆ incr() [9/17]

void DataOps::incr ( LevelData< BaseIVFAB< Real > > &  a_lhs,
const LevelData< BaseIVFAB< Real > > &  a_rhs,
const Real a_scale 
)
static

Function which increments data in the form a_lhs = a_lhs + a_rhs*a_scale for all components.

Builds VoF iterators internally from the lhs data's own IVS and EBGraph.

Parameters
[in,out]a_lhsData to be incremented.
[in]a_rhsIncrementation.
[in]a_scaleScale factor.

◆ incr() [10/17]

void DataOps::incr ( LevelData< BaseIVFAB< Real > > &  a_lhs,
const LevelData< BaseIVFAB< Real > > &  a_rhs,
const Real a_scale,
LayoutData< VoFIterator > &  a_vofIter 
)
static

Function which increments data in the form a_lhs = a_lhs + a_rhs*a_scale for all components.

Parameters
[in,out]a_lhsData to be incremented.
[in]a_rhsIncrementation.
[in]a_scaleScale factor.
[in]a_vofIterPre-built VoF iterators (all cut-cells) for each grid box.

◆ incr() [11/17]

void DataOps::incr ( LevelData< BaseIVFAB< Real > > &  a_lhs,
const LevelData< EBCellFAB > &  a_rhs,
const Real  a_scale,
LayoutData< VoFIterator > &  a_vofIter 
)
static

Function which increments data in the form a_lhs = a_lhs + a_rhs*a_scale for all components.

Only adds irregular data from an EBCellFAB to a BaseIVFAB. Ignores regular cells.

Parameters
[in,out]a_lhsData to be incremented.
[in]a_rhsIncrementation.
[in]a_scaleScale factor.
[in]a_vofIterPre-built VoF iterators (all cut-cells) for each grid box.

◆ incr() [12/17]

void DataOps::incr ( LevelData< DomainFluxIFFAB > &  a_lhs,
const LevelData< DomainFluxIFFAB > &  a_rhs,
const Real a_scale 
)
static

Function which increments data in the form a_lhs = a_lhs + a_rhs*a_scale for all components.

Parameters
[in,out]a_lhsData to be incremented.
[in]a_rhsIncrementation.
[in]a_scaleScale factor.

◆ incr() [13/17]

void DataOps::incr ( LevelData< EBCellFAB > &  a_lhs,
const LevelData< BaseIVFAB< Real > > &  a_rhs,
const Real  a_scale,
LayoutData< VoFIterator > &  a_vofIter 
)
static

Function which increments data in the form a_lhs = a_lhs + a_rhs*a_scale for all components.

Only adds irregular data from a BaseIVFAB. Ignores regular cells.

Parameters
[in,out]a_lhsData to be incremented.
[in]a_rhsIncrementation.
[in]a_scaleScale factor.
[in]a_vofIterPre-built VoF iterators (all cut-cells) for each grid box.

◆ incr() [14/17]

void DataOps::incr ( LevelData< EBCellFAB > &  a_lhs,
const LevelData< EBCellFAB > &  a_rhs,
const Real a_scale 
)
staticnoexcept

Function which increments data in the form a_lhs = a_lhs + a_rhs*a_scale for all components.

Parameters
[in,out]a_lhsData to be incremented.
[in]a_rhsIncrementation.
[in]a_scaleScale factor.

◆ incr() [15/17]

void DataOps::incr ( LevelData< EBFluxFAB > &  a_lhs,
const LevelData< EBFluxFAB > &  a_rhs,
const Real a_scale 
)
static

Function which increments data in the form a_lhs = a_lhs + a_rhs*a_scale for all components.

Parameters
[in,out]a_lhsData to be incremented.
[in]a_rhsIncrementation.
[in]a_scaleScale factor.

◆ incr() [16/17]

void DataOps::incr ( LevelData< MFCellFAB > &  a_lhs,
const LevelData< MFCellFAB > &  a_rhs,
const Real  a_scale 
)
staticnoexcept

Function which increments data in the form a_lhs = a_lhs + a_rhs*a_scale for all components.

Parameters
[in,out]a_lhsData to be incremented.
[in]a_rhsIncrementation.
[in]a_scaleScale factor.

◆ incr() [17/17]

void DataOps::incr ( MFAMRCellData a_lhs,
const MFAMRCellData a_rhs,
const Real  a_scale 
)
staticnoexcept

Function which increments data in the form a_lhs = a_lhs + a_rhs*a_scale for all components.

Parameters
[in,out]a_lhsData to be incremented.
[in]a_rhsIncrementation.
[in]a_scaleScale factor.

◆ invert() [1/4]

static void DataOps::invert ( EBAMRFluxData a_data)
static

Invert data.

Note
Does all components and does not guard against division by zero.
Parameters
[in]a_dataData

◆ invert() [2/4]

void DataOps::invert ( EBAMRFluxData a_data,
Vector< RefCountedPtr< LayoutData< std::array< FaceIterator, SpaceDim > > > > &  a_faceIter 
)
static

Invert data using pre-built face iterators.

Note
Does all components and does not guard against division by zero.
Parameters
[in,out]a_dataData
[in]a_faceIterPre-built face iterators with FaceStop::SurroundingWithBoundary over all cut-cell faces (including domain-boundary faces) for each level. Obtain via AmrMesh::getFaceIterator.

◆ invert() [3/4]

static void DataOps::invert ( EBFluxFAB a_data)
static

Invert data.

Note
Does all components and does not guard against division by zero.
Parameters
[in]a_dataData

◆ invert() [4/4]

void DataOps::invert ( LevelData< EBFluxFAB > &  a_data,
LayoutData< std::array< FaceIterator, SpaceDim > > &  a_faceIter 
)
static

Invert data.

Note
Does all components and does not guard against division by zero.
Parameters
[in,out]a_dataData
[in]a_faceIterPre-built face iterators with FaceStop::SurroundingWithBoundary over all cut-cell faces (including domain-boundary faces). Obtain via AmrMesh::getFaceIterator.

◆ kappaScale() [1/4]

void DataOps::kappaScale ( EBAMRCellData a_data,
const Vector< RefCountedPtr< LayoutData< VoFIterator > > > &  a_vofIter 
)
staticnoexcept

Scale data by volume fraction.

Parameters
[in,out]a_dataData to be scaled. On output we have a_data = kappa * a_data.
[in]a_vofIterPre-built VoF iterators (all cut-cells) for each level.

◆ kappaScale() [2/4]

void DataOps::kappaScale ( LevelData< EBCellFAB > &  a_data,
LayoutData< VoFIterator > &  a_vofIter 
)
staticnoexcept

Scale data by volume fraction.

Parameters
[in,out]a_dataData to be scaled. On output we have a_data = kappa * a_data.
[in]a_vofIterPre-built VoF iterator (all cut-cells).

◆ kappaScale() [3/4]

void DataOps::kappaScale ( LevelData< MFCellFAB > &  a_data,
const RefCountedPtr< LayoutData< VoFIterator > > &  a_vofIterPhase0,
const RefCountedPtr< LayoutData< VoFIterator > > &  a_vofIterPhase1 
)
staticnoexcept

Scale data by volume fraction.

Parameters
[in,out]a_dataData to be scaled. On output we have a_data = kappa * a_data.
[in]a_vofIterPhase0Pre-built VoF iterator (all cut-cells) for phase 0 (gas). May be null if phase 0 is absent.
[in]a_vofIterPhase1Pre-built VoF iterator (all cut-cells) for phase 1 (solid). May be null if phase 1 is absent.

◆ kappaScale() [4/4]

void DataOps::kappaScale ( MFAMRCellData a_data,
const Vector< RefCountedPtr< LayoutData< VoFIterator > > > &  a_vofIterPhase0,
const Vector< RefCountedPtr< LayoutData< VoFIterator > > > &  a_vofIterPhase1 
)
staticnoexcept

Scale data by volume fraction.

Parameters
[in,out]a_dataData to be scaled. On output we have a_data = kappa * a_data.
[in]a_vofIterPhase0Pre-built VoF iterators (all cut-cells) for phase 0 (gas). May be null if phase 0 is absent.
[in]a_vofIterPhase1Pre-built VoF iterators (all cut-cells) for phase 1 (solid). May be null if phase 1 is absent.

◆ kappaSum()

void DataOps::kappaSum ( Real a_mass,
const LevelData< EBCellFAB > &  a_lhs,
const LevelData< EBCellFAB > &  a_regularMask,
const int  a_comp,
LayoutData< VoFIterator > &  a_vofIter 
)
static

Compute the kappa-weighted sum of the input data. Assumes one component.

Parameters
[out]a_massTotal mass, computed as kappa * lhs.
[in]a_lhsCell data.
[in]a_regularMaskRegular-cell mask (1 in regular cells, 0 in covered/irregular cells).
[in]a_compComponent.
[in]a_vofIterPre-built VoF iterator (all cut-cells).

◆ max() [1/2]

void DataOps::max ( EBAMRCellData a_data,
const EBAMRCellData a_data1,
const EBAMRCellData a_data2,
const Vector< RefCountedPtr< LayoutData< VoFIterator > > > &  a_vofIter 
)
static

Make a_data = max(a_data1, a_data2).

Parameters
[out]a_dataOutput data. Will be max(a_data1, a_data2) in every cell.
[in]a_data1Input data holder.
[in]a_data2Input data holder.
[in]a_vofIterPre-built VoF iterators (multiply-cut cells) for each level.

◆ max() [2/2]

void DataOps::max ( LevelData< EBCellFAB > &  a_data,
const LevelData< EBCellFAB > &  a_data1,
const LevelData< EBCellFAB > &  a_data2,
LayoutData< VoFIterator > &  a_vofIter 
)
static

Make a_data = max(a_data1, a_data2).

Parameters
[out]a_dataOutput data. Will be max(a_data1, a_data2) in every cell.
[in]a_data1Input data holder.
[in]a_data2Input data holder.
[in]a_vofIterPre-built VoF iterator (multiply-cut cells).

◆ multiply() [1/6]

void DataOps::multiply ( EBAMRCellData a_lhs,
const EBAMRCellData a_rhs 
)
static

Multiply data holder by another data holder.

Parameters
[in,out]a_lhsData to be multiplied
[in]a_rhsMultiplication factor
Note
Does all components

◆ multiply() [2/6]

void DataOps::multiply ( EBAMRFluxData a_lhs,
const EBAMRFluxData a_rhs 
)
static

Multiply data holder by another data holder.

Parameters
[in,out]a_lhsData to be multiplied
[in]a_rhsMultiplication factor
Note
Does all components

◆ multiply() [3/6]

void DataOps::multiply ( EBAMRIVData a_lhs,
const EBAMRIVData a_rhs,
const Vector< RefCountedPtr< LayoutData< VoFIterator > > > &  a_vofIter 
)
static

Multiply data holder by another data holder element-wise over all cut-cells.

Parameters
[in,out]a_lhsData to be multiplied.
[in]a_rhsMultiplication factor.
[in]a_vofIterPre-built VoF iterators (all cut-cells) for each level.
Note
Does all components.

◆ multiply() [4/6]

void DataOps::multiply ( LevelData< BaseIVFAB< Real > > &  a_lhs,
const LevelData< BaseIVFAB< Real > > &  a_rhs,
LayoutData< VoFIterator > &  a_vofIter 
)
static

Multiply data holder by another data holder element-wise over all cut-cells.

Parameters
[in,out]a_lhsData to be multiplied.
[in]a_rhsMultiplication factor.
[in]a_vofIterPre-built VoF iterators (all cut-cells) for each grid box.
Note
Does all components.

◆ multiply() [5/6]

void DataOps::multiply ( LevelData< EBCellFAB > &  a_lhs,
const LevelData< EBCellFAB > &  a_rhs 
)
static

Multiply data holder by another data holder.

Parameters
[in,out]a_lhsData to be multiplied
[in]a_rhsMultiplication factor
Note
Does all components

◆ multiply() [6/6]

void DataOps::multiply ( LevelData< EBFluxFAB > &  a_lhs,
const LevelData< EBFluxFAB > &  a_rhs 
)
static

Multiply data holder by another data holder.

Parameters
[in,out]a_lhsData to be multiplied
[in]a_rhsMultiplication factor
Note
Does all components

◆ multiplyScalar() [1/4]

void DataOps::multiplyScalar ( EBAMRCellData a_lhs,
const EBAMRCellData a_rhs 
)
static

Multiply data holder by another data holder.

Parameters
[in,out]a_lhsData to be multiplied
[in]a_rhsMultiplication factor
Note
This multiplies all components in a_lhs with the single component in a_rhs

◆ multiplyScalar() [2/4]

void DataOps::multiplyScalar ( EBAMRIVData a_lhs,
const EBAMRIVData a_rhs,
const Vector< RefCountedPtr< LayoutData< VoFIterator > > > &  a_vofIter 
)
static

Multiply all components of a_lhs by the single component of a_rhs over all cut-cells.

Parameters
[in,out]a_lhsData to be multiplied.
[in]a_rhsScalar multiplication factor (must have one component).
[in]a_vofIterPre-built VoF iterators (all cut-cells) for each level.

◆ multiplyScalar() [3/4]

void DataOps::multiplyScalar ( LevelData< BaseIVFAB< Real > > &  a_lhs,
const LevelData< BaseIVFAB< Real > > &  a_rhs,
LayoutData< VoFIterator > &  a_vofIter 
)
static

Multiply all components of a_lhs by the single component of a_rhs over all cut-cells.

Parameters
[in,out]a_lhsData to be multiplied.
[in]a_rhsScalar multiplication factor (must have one component).
[in]a_vofIterPre-built VoF iterators (all cut-cells) for each grid box.

◆ multiplyScalar() [4/4]

void DataOps::multiplyScalar ( LevelData< EBCellFAB > &  a_lhs,
const LevelData< EBCellFAB > &  a_rhs 
)
static

Multiply data holder by another data holder.

Parameters
[in,out]a_lhsData to be multiplied
[in]a_rhsMultiplication factor
Note
This multiplies all components in a_lhs with the single component in a_rhs

◆ norm()

Real DataOps::norm ( const LevelData< EBCellFAB > &  a_data,
const LevelData< EBCellFAB > &  a_regularMask,
const int  a_p,
LayoutData< VoFIterator > &  a_vofIter,
const int  a_comp = 0 
)
static

Compute specified norm of data.

Parameters
[in]a_dataData to compute the norm of.
[in]a_regularMaskRegular-cell mask (1 in regular cells, 0 in covered/irregular cells).
[in]a_pNorm factor, e.g. a_p = 2 => squared norm. 0 => inf norm.
[in]a_vofIterPre-built VoF iterator (all cut-cells).
[in]a_compComponent.
Note
Does not do kappa-weighting.
Returns
Return value.

◆ plus() [1/2]

void DataOps::plus ( EBAMRCellData a_lhs,
const EBAMRCellData a_rhs,
const int  a_srcComp,
const int  a_dstComp,
const int  a_numComp 
)
static

General addition operator for adding together data. The user can choose which components to add.

Parameters
[in,out]a_lhsOutput data component
[in,out]a_rhsData to be added to a_lhs
[in]a_srcCompComponent in a_rhs to add from.
[in]a_dstCompComponent in a_lhs to add into.
[in]a_numCompNumber of components to add.
Note
This will add a_lhs(a_dstComp + icomp) += a_rhs(a_srcComp + icomp) for icomp = 0,1,2,..numComp-1.

◆ plus() [2/2]

void DataOps::plus ( LevelData< EBCellFAB > &  a_lhs,
const LevelData< EBCellFAB > &  a_rhs,
const int  a_srcComp,
const int  a_dstComp,
const int  a_numComp 
)
static

General addition operator for adding together data. The user can choose which components to add.

Parameters
[in,out]a_lhsOutput data component
[in,out]a_rhsData to be added to a_lhs
[in]a_srcCompComponent in a_rhs to add from.
[in]a_dstCompComponent in a_lhs to add into.
[in]a_numCompNumber of components to add.
Note
This will add a_lhs(a_dstComp + icomp) += a_rhs(a_srcComp + icomp) for icomp = 0,1,2,..numComp-1.

◆ roof() [1/4]

void DataOps::roof ( EBAMRCellData a_lhs,
const Real  a_value,
const Vector< RefCountedPtr< LayoutData< VoFIterator > > > &  a_vofIter 
)
static

Roof values in data holder. This sets all values above a_value to a_value.

Parameters
[in,out]a_lhsData to be roofed.
[in]a_valueRoof value.
[in]a_vofIterPre-built VoF iterators (all cut-cells, including ghost region) for each level.
Note
Also roofs ghost cells.

◆ roof() [2/4]

void DataOps::roof ( EBAMRIVData a_lhs,
const Real  a_value,
const Vector< RefCountedPtr< LayoutData< VoFIterator > > > &  a_vofIter 
)
static

Roof values in data holder. This sets all values above a_value to a_value.

Parameters
[in,out]a_lhsData to be roofed.
[in]a_valueRoof value.
[in]a_vofIterPre-built VoF iterators (all cut-cells) for each level.

◆ roof() [3/4]

void DataOps::roof ( LevelData< BaseIVFAB< Real > > &  a_lhs,
const Real  a_value,
LayoutData< VoFIterator > &  a_vofIter 
)
static

Roof values in data holder. This sets all values above a_value to a_value.

Parameters
[in,out]a_lhsData to be roofed.
[in]a_valueRoof value.
[in]a_vofIterPre-built VoF iterator (all cut-cells).

◆ roof() [4/4]

void DataOps::roof ( LevelData< EBCellFAB > &  a_lhs,
const Real  a_value,
LayoutData< VoFIterator > &  a_vofIter 
)
static

Roof values in data holder. This sets all values above a_value to a_value.

Parameters
[in,out]a_lhsData to be roofed.
[in]a_valueRoof value.
[in]a_vofIterPre-built VoF iterator (all cut-cells, including ghost region).
Note
Also roofs ghost cells.

◆ scale() [1/10]

void DataOps::scale ( EBAMRCellData a_lhs,
const Real  a_scale 
)
staticnoexcept

Scale data by factor.

Parameters
[in,out]a_lhsData to be scaled
[in]a_scaleScaling factor

◆ scale() [2/10]

void DataOps::scale ( EBAMRFluxData a_lhs,
const Real  a_scale 
)
static

Scale data by factor.

Parameters
[in,out]a_lhsData to be scaled
[in]a_scaleScaling factor

◆ scale() [3/10]

void DataOps::scale ( EBAMRIVData a_lhs,
const Real a_scale,
const Vector< RefCountedPtr< LayoutData< VoFIterator > > > &  a_vofIter 
)
static

Scale data by factor over all cut-cells.

Parameters
[in,out]a_lhsData to be scaled.
[in]a_scaleScaling factor.
[in]a_vofIterPre-built VoF iterators (all cut-cells) for each level.

◆ scale() [4/10]

void DataOps::scale ( LevelData< BaseIVFAB< Real > > &  a_lhs,
const Real a_scale,
LayoutData< VoFIterator > &  a_vofIter 
)
static

Scale data by factor over all cut-cells.

Parameters
[in,out]a_lhsData to be scaled.
[in]a_scaleScaling factor.
[in]a_vofIterPre-built VoF iterators (all cut-cells) for each grid box.

◆ scale() [5/10]

void DataOps::scale ( LevelData< EBCellFAB > &  a_lhs,
const Real  a_scale 
)
staticnoexcept

Scale data by factor.

Parameters
[in,out]a_lhsData to be scaled
[in]a_scaleScaling factor

◆ scale() [6/10]

void DataOps::scale ( LevelData< EBFluxFAB > &  a_lhs,
const Real  a_scale 
)
static

Scale data by factor.

Parameters
[in,out]a_lhsData to be scaled
[in]a_scaleScaling factor

◆ scale() [7/10]

void DataOps::scale ( LevelData< MFCellFAB > &  a_lhs,
const Real a_scale 
)
staticnoexcept

Scale data by factor.

Parameters
[in,out]a_lhsData to be scaled
[in]a_scaleScaling factor

◆ scale() [8/10]

void DataOps::scale ( LevelData< MFFluxFAB > &  a_lhs,
const Real a_scale 
)
static

Scale data by factor.

Parameters
[in,out]a_lhsData to be scaled
[in]a_scaleScaling factor

◆ scale() [9/10]

void DataOps::scale ( MFAMRCellData a_lhs,
const Real a_scale 
)
staticnoexcept

Scale data by factor.

Parameters
[in,out]a_lhsData to be scaled
[in]a_scaleScaling factor

◆ scale() [10/10]

void DataOps::scale ( MFAMRFluxData a_lhs,
const Real a_scale 
)
static

Scale data by factor.

Parameters
[in,out]a_lhsData to be scaled
[in]a_scaleScaling factor

◆ setCoveredValue() [1/8]

void DataOps::setCoveredValue ( EBAMRCellData a_lhs,
const EBAMRCellData a_coveredMask,
const int  a_comp,
const Real  a_value 
)
static

Set value in covered cells. Does specified component.

Parameters
[in,out]a_lhsInput/output data.
[in]a_coveredMaskCovered-cell mask (1 in covered cells, 0 elsewhere).
[in]a_compComponent to set
[in]a_valueValue to set

◆ setCoveredValue() [2/8]

void DataOps::setCoveredValue ( EBAMRCellData a_lhs,
const EBAMRCellData a_coveredMask,
const Real  a_value 
)
static

Version of setCoveredValue which does all components.

Parameters
[in,out]a_lhsData
[in]a_coveredMaskCovered-cell mask (1 in covered cells, 0 elsewhere).
[in]a_valueValue in covered grid cells.

◆ setCoveredValue() [3/8]

void DataOps::setCoveredValue ( EBAMRFluxData a_lhs,
const int  a_comp,
const Real  a_value 
)
staticnoexcept

Set value on covered faces.

Parameters
[in,out]a_lhsInput/output data.
[in]a_compComponent to set
[in]a_valueValue to set

◆ setCoveredValue() [4/8]

void DataOps::setCoveredValue ( EBAMRFluxData a_lhs,
const Real  a_value 
)
staticnoexcept

Set all covered face values.

Parameters
[in,out]a_lhsData
[in]a_valueValue in covered grid cells.

◆ setCoveredValue() [5/8]

void DataOps::setCoveredValue ( LevelData< EBCellFAB > &  a_lhs,
const LevelData< EBCellFAB > &  a_coveredMask,
const int  a_comp,
const Real  a_value 
)
static

Set value in covered cells. Does specified component.

Parameters
[in,out]a_lhsInput/output data.
[in]a_coveredMaskCovered-cell mask (1 in covered cells, 0 elsewhere).
[in]a_compComponent to set
[in]a_valueValue to set

◆ setCoveredValue() [6/8]

void DataOps::setCoveredValue ( LevelData< EBCellFAB > &  a_lhs,
const LevelData< EBCellFAB > &  a_coveredMask,
const Real  a_value 
)
static

Version of setCoveredValue which does all component.

Parameters
[in,out]a_lhsData
[in]a_coveredMaskCovered-cell mask (1 in covered cells, 0 elsewhere).
[in]a_valueValue in covered grid cells.

◆ setCoveredValue() [7/8]

void DataOps::setCoveredValue ( LevelData< EBFluxFAB > &  a_lhs,
const int  a_comp,
const Real  a_value 
)
staticnoexcept

Set value on covered faces.

Parameters
[in,out]a_lhsInput/output data.
[in]a_compComponent to set
[in]a_valueValue to set

◆ setCoveredValue() [8/8]

void DataOps::setCoveredValue ( LevelData< EBFluxFAB > &  a_lhs,
const Real  a_value 
)
staticnoexcept

Set all covered face values.

Parameters
[in,out]a_lhsData
[in]a_valueValue in covered grid cells.

◆ setInvalidValue()

void DataOps::setInvalidValue ( EBAMRCellData a_lhs,
const Vector< int > &  a_refRat,
const Real  a_value 
)
static

Set value in cells that are covered by a finer grid.

Parameters
[in,out]a_lhsAMR data
[in]a_refRatRefinement ratios between levels.
[in]a_valueValue to set in cells covered by a finer grid.

◆ setValue() [1/27]

void DataOps::setValue ( EBAMRCellData a_data,
const Real a_value 
)
static

Set value in data.

Parameters
[out]a_dataInput/output data
[in]a_valueValue to set

◆ setValue() [2/27]

void DataOps::setValue ( EBAMRCellData a_lhs,
const Real  a_value,
const int  a_comp 
)
static

Set value in data with specified component.

Parameters
[out]a_lhsInput/output data
[in]a_valueValue to set
[in]a_compDescription

◆ setValue() [3/27]

void DataOps::setValue ( EBAMRCellData a_lhs,
const std::function< Real(const RealVect)> &  a_function,
const RealVect a_probLo,
const Vector< Real > &  a_dx,
const int  a_comp,
const Vector< RefCountedPtr< LayoutData< VoFIterator > > > &  a_vofIter 
)
static

Polymorphic set value function. Takes a spatially varying function and sets the value in the specified component from that function.

Parameters
[out]a_lhsData to set.
[in]a_functionFunction to use for setting the value.
[in]a_probLoLower-left corner of physical domain.
[in]a_dxGrid resolutions.
[in]a_compComponent to set.
[in]a_vofIterPre-built VoF iterators (multiply-cut cells) for each level.

◆ setValue() [4/27]

void DataOps::setValue ( EBAMRCellData a_lhs,
const std::function< RealVect(const RealVect)> &  a_function,
const RealVect a_probLo,
const Vector< Real > &  a_dx,
const Vector< RefCountedPtr< LayoutData< VoFIterator > > > &  a_vofIter 
)
static

Polymorphic set value function. Assumes that a_lhs has SpaceDim components and sets all those components from the input function.

Parameters
[out]a_lhsData to set.
[in]a_functionFunction to use for setting the value.
[in]a_probLoLower-left corner of physical domain.
[in]a_dxGrid resolutions.
[in]a_vofIterPre-built VoF iterators (multiply-cut cells) for each level.

◆ setValue() [5/27]

void DataOps::setValue ( EBAMRFluxData a_data,
const Real a_value 
)
static

Set value in data.

Parameters
[out]a_dataInput/output data
[in]a_valueValue to set

◆ setValue() [6/27]

void DataOps::setValue ( EBAMRFluxData a_lhs,
const std::function< Real(const RealVect)> &  a_function,
const RealVect a_probLo,
const Vector< Real > &  a_dx,
const int  a_comp,
Vector< RefCountedPtr< LayoutData< std::array< FaceIterator, SpaceDim > > > > &  a_faceIter 
)
static

Polymorphic set value function using pre-built face iterators.

Parameters
[out]a_lhsData to set.
[in]a_functionFunction to use for setting the value.
[in]a_probLoLower-left corner of physical domain.
[in]a_dxGrid resolutions.
[in]a_compComponent to set.
[in]a_faceIterPre-built face iterators with FaceStop::SurroundingWithBoundary over all cut-cell faces (including domain-boundary faces) for each level. Obtain via AmrMesh::getFaceIterator.

◆ setValue() [7/27]

void DataOps::setValue ( EBAMRIFData a_lhs,
const Real  a_value 
)
static

Set value in data.

Parameters
[out]a_lhsInput/output data
[in]a_valueValue to set

◆ setValue() [8/27]

void DataOps::setValue ( EBAMRIVData a_data,
const Real a_value 
)
static

Set value in data.

Parameters
[out]a_dataInput/output data
[in]a_valueValue to set

◆ setValue() [9/27]

void DataOps::setValue ( EBAMRIVData a_lhs,
const std::function< Real(const RealVect)> &  a_function,
const RealVect a_probLo,
const Vector< Real > &  a_dx,
const int  a_comp,
const Vector< RefCountedPtr< LayoutData< VoFIterator > > > &  a_vofIter 
)
static

Polymorphic set value function. Takes a spatially varying function and sets the value in the specified component from that function.

Parameters
[out]a_lhsData to set.
[in]a_functionFunction to use for setting the value.
[in]a_probLoLower-left corner of physical domain.
[in]a_dxGrid resolutions.
[in]a_compComponent to set.
[in]a_vofIterPre-built VoF iterators (all cut-cells) for each level.

◆ setValue() [10/27]

void DataOps::setValue ( LevelData< BaseIVFAB< Real > > &  a_lhs,
const Real  a_value 
)
static

Set value in data.

Parameters
[out]a_lhsInput/output data
[in]a_valueValue to set

◆ setValue() [11/27]

void DataOps::setValue ( LevelData< BaseIVFAB< Real > > &  a_lhs,
const std::function< Real(const RealVect)> &  a_function,
const RealVect  a_probLo,
const Real  a_dx,
const int  a_comp,
LayoutData< VoFIterator > &  a_vofIter 
)
static

Polymorphic set value function. Takes a spatially varying function and sets the value in the specified component from that function.

Parameters
[out]a_lhsData to set.
[in]a_functionFunction to use for setting the value.
[in]a_probLoLower-left corner of physical domain.
[in]a_dxGrid resolution.
[in]a_compComponent to set.
[in]a_vofIterPre-built VoF iterator (all cut-cells).

◆ setValue() [12/27]

void DataOps::setValue ( LevelData< DomainFluxIFFAB > &  a_lhs,
const Real  a_value 
)
static

Set value in data.

Parameters
[out]a_lhsInput/output data
[in]a_valueValue to set

◆ setValue() [13/27]

void DataOps::setValue ( LevelData< EBCellFAB > &  a_lhs,
const Real  a_value 
)
static

Set value in data.

Parameters
[out]a_lhsInput/output data
[in]a_valueValue to set

◆ setValue() [14/27]

void DataOps::setValue ( LevelData< EBCellFAB > &  a_lhs,
const Real  a_value,
const int  a_comp 
)
static

Set value in data with specified component.

Parameters
[out]a_lhsInput/output data
[in]a_valueValue to set
[in]a_compDescription

◆ setValue() [15/27]

void DataOps::setValue ( LevelData< EBCellFAB > &  a_lhs,
const std::function< Real(const RealVect)> &  a_function,
const RealVect  a_probLo,
const Real  a_dx,
const int  a_comp,
LayoutData< VoFIterator > &  a_vofIter 
)
static

Polymorphic set value function. Takes a spatially varying function and sets the value in the specified component from that function.

Parameters
[out]a_lhsData to set.
[in]a_functionFunction to use for setting the value.
[in]a_probLoLower-left corner of physical domain.
[in]a_dxGrid resolutions.
[in]a_compComponent to set.
[in]a_vofIterPre-built VoF iterator (multiply-cut cells).

◆ setValue() [16/27]

void DataOps::setValue ( LevelData< EBCellFAB > &  a_lhs,
const std::function< RealVect(const RealVect)> &  a_function,
const RealVect  a_probLo,
const Real  a_dx,
LayoutData< VoFIterator > &  a_vofIter 
)
static

Polymorphic set value function. Assumes that a_lhs has SpaceDim components and sets all those components from the input function.

Parameters
[out]a_lhsData to set.
[in]a_functionFunction to use for setting the value.
[in]a_probLoLower-left corner of physical domain.
[in]a_dxGrid resolutions.
[in]a_vofIterPre-built VoF iterator (multiply-cut cells).

◆ setValue() [17/27]

void DataOps::setValue ( LevelData< EBFluxFAB > &  a_lhs,
const Real  a_value 
)
static

Set value in data.

Parameters
[out]a_lhsInput/output data
[in]a_valueValue to set

◆ setValue() [18/27]

void DataOps::setValue ( LevelData< EBFluxFAB > &  a_lhs,
const std::function< Real(const RealVect)> &  a_function,
const RealVect  a_probLo,
const Real  a_dx,
const int  a_comp,
LayoutData< std::array< FaceIterator, SpaceDim > > &  a_faceIter 
)
static

Polymorphic set value function using pre-built face iterators.

Parameters
[out]a_lhsData to set.
[in]a_functionFunction to use for setting the value.
[in]a_probLoLower-left corner of physical domain.
[in]a_dxGrid resolution.
[in]a_compComponent to set.
[in]a_faceIterPre-built face iterators with FaceStop::SurroundingWithBoundary over all cut-cell faces (including domain-boundary faces). Obtain via AmrMesh::getFaceIterator.

◆ setValue() [19/27]

void DataOps::setValue ( LevelData< MFBaseIVFAB > &  a_lhs,
const Real a_value 
)
static

Set value in data.

Parameters
[out]a_lhsInput/output data
[in]a_valueValue to set

◆ setValue() [20/27]

void DataOps::setValue ( LevelData< MFCellFAB > &  a_lhs,
const Real a_value 
)
staticnoexcept

Set value in data.

Parameters
[out]a_lhsInput/output data
[in]a_valueValue to set

◆ setValue() [21/27]

void DataOps::setValue ( LevelData< MFCellFAB > &  a_lhs,
const std::function< Real(const RealVect)> &  a_function,
const RealVect  a_probLo,
const Real  a_dx,
const int  a_comp,
const RefCountedPtr< LayoutData< VoFIterator > > &  a_vofIterPhase0,
const RefCountedPtr< LayoutData< VoFIterator > > &  a_vofIterPhase1 
)
static

Polymorphic set value function. Takes a spatially varying function and sets the value in the specified component from that function.

Parameters
[out]a_lhsData to set.
[in]a_functionFunction to use for setting the value.
[in]a_probLoLower-left corner of physical domain.
[in]a_dxGrid resolution.
[in]a_compComponent to set.
[in]a_vofIterPhase0Pre-built VoF iterator (all cut-cells) for phase 0 (gas). May be null if phase 0 is absent.
[in]a_vofIterPhase1Pre-built VoF iterator (all cut-cells) for phase 1 (solid). May be null if phase 1 is absent.

◆ setValue() [22/27]

void DataOps::setValue ( LevelData< MFFluxFAB > &  a_lhs,
const Real a_value 
)
static

Set value in data.

Parameters
[out]a_lhsInput/output data
[in]a_valueValue to set

◆ setValue() [23/27]

template<typename T >
void DataOps::setValue ( LevelData< MFInterfaceFAB< T > > &  a_lhs,
const T a_value 
)
static

Set value in an MFInterfaceFAB data holder.

Parameters
[in]a_lhsData holder
[in]a_valueValue to set

◆ setValue() [24/27]

void DataOps::setValue ( MFAMRCellData a_lhs,
const Real a_value 
)
staticnoexcept

Set value in data.

Parameters
[out]a_lhsInput/output data
[in]a_valueValue to set

◆ setValue() [25/27]

void DataOps::setValue ( MFAMRCellData a_lhs,
const std::function< Real(const RealVect)> &  a_function,
const RealVect a_probLo,
const Vector< Real > &  a_dx,
const int  a_comp,
const Vector< RefCountedPtr< LayoutData< VoFIterator > > > &  a_vofIterPhase0,
const Vector< RefCountedPtr< LayoutData< VoFIterator > > > &  a_vofIterPhase1 
)
static

Polymorphic set value function. Takes a spatially varying function and sets the value in the specified component from that function.

Parameters
[out]a_lhsData to set.
[in]a_functionFunction to use for setting the value.
[in]a_probLoLower-left corner of physical domain.
[in]a_dxGrid resolutions.
[in]a_compComponent to set.
[in]a_vofIterPhase0Pre-built VoF iterators (all cut-cells) for phase 0 (gas). May be null if phase 0 is absent.
[in]a_vofIterPhase1Pre-built VoF iterators (all cut-cells) for phase 1 (solid). May be null if phase 1 is absent.

◆ setValue() [26/27]

void DataOps::setValue ( MFAMRFluxData a_lhs,
const Real a_value 
)
static

Set value in data.

Parameters
[out]a_lhsInput/output data
[in]a_valueValue to set

◆ setValue() [27/27]

void DataOps::setValue ( MFAMRIVData a_lhs,
const Real a_value 
)
static

Set value in data.

Parameters
[out]a_lhsInput/output data
[in]a_valueValue to set

◆ sgn()

template<typename T >
int DataOps::sgn ( const T  a_value)
static

Sign function. Returns +/- if the value is > 0 or < 0.

Parameters
[in]a_valueValue to evaluate.
Returns
Return value

◆ shiftCorners()

void DataOps::shiftCorners ( Vector< RealVect > &  a_corners,
const RealVect a_distance 
)
static

Shift points by a specified distance.

On output, every point in a_corners is shifted by a_distance.

Parameters
[in,out]a_cornersPoints to be shifted
[in]a_distanceShift vector

◆ squareRoot() [1/4]

void DataOps::squareRoot ( EBAMRFluxData a_lhs,
Vector< RefCountedPtr< LayoutData< std::array< FaceIterator, SpaceDim > > > > &  a_faceIter 
)
static

Compute the square root of the input data.

Parameters
[in,out]a_lhsOn output, contains sqrt(a_lhs).
[in]a_faceIterPre-built face iterators with FaceStop::SurroundingWithBoundary over all cut-cell faces (including domain-boundary faces) for each level. Obtain via AmrMesh::getFaceIterator.
Note
Does not do ghosted faces.

◆ squareRoot() [2/4]

void DataOps::squareRoot ( LevelData< EBFluxFAB > &  a_lhs,
LayoutData< std::array< FaceIterator, SpaceDim > > &  a_faceIter 
)
static

Compute the square root of the input data.

Parameters
[in,out]a_lhsOn output, contains sqrt(a_lhs).
[in]a_faceIterPre-built face iterators with FaceStop::SurroundingWithBoundary over all cut-cell faces (including domain-boundary faces). Obtain via AmrMesh::getFaceIterator.
Note
Does not do ghosted faces.

◆ squareRoot() [3/4]

void DataOps::squareRoot ( LevelData< MFCellFAB > &  a_lhs,
const RefCountedPtr< LayoutData< VoFIterator > > &  a_vofIterPhase0,
const RefCountedPtr< LayoutData< VoFIterator > > &  a_vofIterPhase1 
)
static

Take the square root of the input data.

Parameters
[in,out]a_lhsInput data.
[in]a_vofIterPhase0Pre-built VoF iterator restricted to multiply-cut cells for phase 0 (gas). May be null if phase 0 is absent.
[in]a_vofIterPhase1Pre-built VoF iterator restricted to multiply-cut cells for phase 1 (solid). May be null if phase 1 is absent.
Note
The VoFIterators must cover only multiply-cut cells (from AmrMesh::getMultiCutVofIterator), because the regular-cell pass via getSingleValuedFAB already handles VoF 0 of all cut-cells.

◆ squareRoot() [4/4]

void DataOps::squareRoot ( MFAMRCellData a_lhs,
const Vector< RefCountedPtr< LayoutData< VoFIterator > > > &  a_vofIterPhase0,
const Vector< RefCountedPtr< LayoutData< VoFIterator > > > &  a_vofIterPhase1 
)
static

Take the square root of the input data.

Parameters
[in,out]a_lhsInput data.
[in]a_vofIterPhase0Pre-built VoF iterators restricted to multiply-cut cells for phase 0 (gas). May be null if phase 0 is absent.
[in]a_vofIterPhase1Pre-built VoF iterators restricted to multiply-cut cells for phase 1 (solid). May be null if phase 1 is absent.
Note
The VoFIterators must cover only multiply-cut cells (from AmrMesh::getMultiCutVofIterator), because the regular-cell pass via getSingleValuedFAB already handles VoF 0 of all cut-cells.

◆ sum()

void DataOps::sum ( Real a_value)
static

Compute the sum of the input value.

Parameters
[in,out]a_valueOn output, contains the sum of a_value over all MPI processes.

◆ vectorLength() [1/3]

void DataOps::vectorLength ( EBAMRCellData a_lhs,
const EBAMRCellData a_rhs,
const EBAMRCellData a_notCovered,
const Vector< RefCountedPtr< LayoutData< VoFIterator > > > &  a_vofIter 
)
static

Compute the vector length of a data holder. Sets a_lhs = |a_rhs| where a_rhs contains SpaceDim components.

Parameters
[out]a_lhsVector length.
[in]a_rhsInput vector.
[in]a_notCoveredNon-covered mask (1 in regular/irregular cells, 0 in covered cells).
[in]a_vofIterPre-built VoF iterators (multiply-cut cells) for each level.
Note
a_lhs must have one component and a_rhs must have SpaceDim components.

◆ vectorLength() [2/3]

void DataOps::vectorLength ( EBCellFAB a_lhs,
const EBCellFAB a_rhs,
const EBCellFAB a_notCovered,
const Box box,
VoFIterator a_vofIter 
)
static

Compute the vector length of a data holder. Sets a_lhs = |a_rhs| where a_rhs contains SpaceDim components.

Parameters
[out]a_lhsVector length.
[in]a_rhsInput vector.
[in]a_notCoveredNon-covered mask (1 in regular/irregular cells, 0 in covered cells).
[in]boxCell box.
[in]a_vofIterPre-built VoF iterator (multiply-cut cells) for this patch.
Note
a_lhs must have one component and a_rhs must have SpaceDim components.

◆ vectorLength() [3/3]

void DataOps::vectorLength ( LevelData< EBCellFAB > &  a_lhs,
const LevelData< EBCellFAB > &  a_rhs,
const LevelData< EBCellFAB > &  a_notCovered,
LayoutData< VoFIterator > &  a_vofIter 
)
static

Compute the vector length of a data holder. Sets a_lhs = |a_rhs| where a_rhs contains SpaceDim components.

Parameters
[out]a_lhsVector length.
[in]a_rhsInput vector.
[in]a_notCoveredNon-covered mask (1 in regular/irregular cells, 0 in covered cells).
[in]a_vofIterPre-built VoF iterator (multiply-cut cells).
Note
a_lhs must have one component and a_rhs must have SpaceDim components.

◆ vectorLength2() [1/3]

void DataOps::vectorLength2 ( EBAMRCellData a_lhs,
const EBAMRCellData a_rhs,
const EBAMRCellData a_notCovered,
const Vector< RefCountedPtr< LayoutData< VoFIterator > > > &  a_vofIter 
)
static

Compute the squared vector length of a data holder. Sets a_lhs = |a_rhs|^2 where a_rhs contains SpaceDim components.

Parameters
[out]a_lhsVector length.
[in]a_rhsInput vector.
[in]a_notCoveredNon-covered mask (1 in regular/irregular cells, 0 in covered cells).
[in]a_vofIterPre-built VoF iterators (multiply-cut cells) for each level.
Note
a_lhs must have one component and a_rhs must have SpaceDim components.

◆ vectorLength2() [2/3]

void DataOps::vectorLength2 ( EBCellFAB a_lhs,
const EBCellFAB a_rhs,
const EBCellFAB a_notCovered,
const Box box,
VoFIterator a_vofIter 
)
static

Compute the squared vector length of a data holder. Sets a_lhs = |a_rhs|^2 where a_rhs contains SpaceDim components.

Parameters
[out]a_lhsVector length.
[in]a_rhsInput vector.
[in]a_notCoveredNon-covered mask (1 in regular/irregular cells, 0 in covered cells).
[in]boxCell box.
[in]a_vofIterPre-built VoF iterator (multiply-cut cells) for this patch.
Note
a_lhs must have one component and a_rhs must have SpaceDim components.

◆ vectorLength2() [3/3]

void DataOps::vectorLength2 ( LevelData< EBCellFAB > &  a_lhs,
const LevelData< EBCellFAB > &  a_rhs,
const LevelData< EBCellFAB > &  a_notCovered,
LayoutData< VoFIterator > &  a_vofIter 
)
static

Compute the squared vector length of a data holder. Sets a_lhs = |a_rhs|^2 where a_rhs contains SpaceDim components.

Parameters
[out]a_lhsVector length.
[in]a_rhsInput vector.
[in]a_notCoveredNon-covered mask (1 in regular/irregular cells, 0 in covered cells).
[in]a_vofIterPre-built VoF iterator (multiply-cut cells).
Note
a_lhs must have one component and a_rhs must have SpaceDim components.

◆ volumeScale()

void DataOps::volumeScale ( EBAMRCellData a_data,
const Vector< Real > &  a_dx 
)
static

Scale data by dx^SpaceDim.

Parameters
[in,out]a_dataData to be scaled. On output we have a_data = dx^SpaceDim * a_data
[in]a_dxDescription

The documentation for this class was generated from the following files: