7#ifndef ABLASTR_UTILS_COMMUNICATION_H_
8#define ABLASTR_UTILS_COMMUNICATION_H_
26template <
class FAB1,
class FAB2>
31 auto const& dstma = dst.
arrays();
32 ParallelFor(dst, nghost, numcomp,
35 dstma[box_no](i,j,k,dstcomp+n) = (
typename FAB1::value_type) srcma[box_no](i,j,k,srccomp+n);
47 bool do_single_precision_comms,
49 amrex::FabArrayBase::CpOp op = amrex::FabArrayBase::COPY);
58 bool do_single_precision_comms,
62 bool do_single_precision_comms,
64 std::optional<bool> nodal_sync=std::nullopt);
68 bool do_single_precision_comms,
70 std::optional<bool> nodal_sync = std::nullopt);
89 bool do_single_precision_comms,
93 bool do_single_precision_comms,
MultiArray4< typename FabArray< FAB >::value_type > arrays() noexcept
MultiArray4< typename FabArray< FAB >::value_type const > const_arrays() const noexcept
static const Periodicity & NonPeriodic() noexcept
Definition Communication.cpp:26
void OverrideSync(amrex::MultiFab &mf, bool do_single_precision_comms, const amrex::Periodicity &period)
Definition Communication.cpp:177
void FillBoundary(amrex::MultiFab &mf, amrex::IntVect ng, bool do_single_precision_comms, const amrex::Periodicity &period, std::optional< bool > nodal_sync)
Definition Communication.cpp:71
void mixedCopy(amrex::FabArray< FAB1 > &dst, amrex::FabArray< FAB2 > const &src, int srccomp, int dstcomp, int numcomp, const amrex::IntVect &nghost)
Definition Communication.H:28
void ParallelAdd(amrex::MultiFab &dst, const amrex::MultiFab &src, int src_comp, int dst_comp, int num_comp, const amrex::IntVect &src_nghost, const amrex::IntVect &dst_nghost, bool do_single_precision_comms, const amrex::Periodicity &period)
Definition Communication.cpp:63
float comm_float_type
Definition Communication.H:24
void SumBoundary(amrex::MultiFab &mf, int start_comp, int num_comps, amrex::IntVect src_ng, amrex::IntVect dst_ng, bool do_single_precision_comms, const amrex::Periodicity &period)
Definition Communication.cpp:149
void ParallelCopy(amrex::MultiFab &dst, const amrex::MultiFab &src, int src_comp, int dst_comp, int num_comp, const amrex::IntVect &src_nghost, const amrex::IntVect &dst_nghost, bool do_single_precision_comms, const amrex::Periodicity &period, amrex::FabArrayBase::CpOp op)
Definition Communication.cpp:28
void synchronize() noexcept