13#ifndef CD_DATAOPSIMPLEM_H
14#define CD_DATAOPSIMPLEM_H
20#include <CD_NamespaceHeader.H>
26 CH_TIME(
"DataOps::setValue");
28 const DisjointBoxLayout& dbl = a_lhs.disjointBoxLayout();
29 const DataIterator& dit = dbl.dataIterator();
31 const int nbox = dit.size();
33#pragma omp parallel for schedule(runtime)
34 for (
int mybox = 0; mybox < nbox; mybox++) {
35 const DataIndex& din = dit[mybox];
37 a_lhs[din].setVal(a_value);
45 return ((a_value > 0.0) - (a_value < 0.0));
52 CH_TIME(
"DataOps::copy(EBAMRData)");
54 CH_assert(a_dst.
size() == a_src.
size());
55 CH_assert(a_dstInterv.size() == a_srcInterv.size());
57 for (
int lvl = 0; lvl < a_dst.
size(); lvl++) {
58 CH_assert(a_dst[lvl]->nComp() > a_dstInterv.end());
59 CH_assert(a_src[lvl]->nComp() > a_srcInterv.end());
61 a_src[lvl]->localCopyTo(a_srcInterv, *a_dst[lvl], a_dstInterv);
65#include <CD_NamespaceFooter.H>
static int sgn(const T a_value)
Sign function. Returns +/- if the value is > 0 or < 0.
Definition CD_DataOpsImplem.H:43
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 void copy(MFAMRCellData &a_dst, const MFAMRCellData &a_src)
Copy data from one data holder to another.
Definition CD_DataOps.cpp:1201
Default class for holding LevelData<T> data across an EBAMR realm.
Definition CD_EBAMRData.H:41
int size() const noexcept
Get size of m_data.
Definition CD_EBAMRDataImplem.H:67
Class for holding BaseIVFAB<T> on the interface between two phases.
Definition CD_MFInterfaceFAB.H:31