WarpX
Loading...
Searching...
No Matches
ParticleReductionFunctor.H
Go to the documentation of this file.
1#ifndef WARPX_PARTICLEREDUCTIONFUNCTOR_H_
2#define WARPX_PARTICLEREDUCTIONFUNCTOR_H_
3
5
6#include <AMReX_Parser.H>
7#include <AMReX_BaseFwd.H>
8
9#include <memory>
10#include <string>
11
16{
17public:
32 ParticleReductionFunctor(const amrex::MultiFab * mf_src, int lev,
33 amrex::IntVect crse_ratio, const std::string& fn_str,
34 int ispec, bool do_average,
35 bool do_filter, const std::string& filter_str,
36 int ncomp=1);
37
44 void operator()(amrex::MultiFab& mf_dst, int dcomp, int /*i_buffer=0*/) const override;
45private:
46 int m_lev;
47 int m_ispec;
51 std::unique_ptr<amrex::Parser> m_map_fn_parser;
53 std::unique_ptr<amrex::Parser> m_filter_fn_parser;
58};
59
60#endif // WARPX_PARTICLEREDUCTIONFUNCTOR_H_
ComputeDiagFunctor(int ncomp, amrex::IntVect crse_ratio)
Definition ComputeDiagFunctor.H:19
amrex::ParserExecutor< 6 > m_map_fn
Definition ParticleReductionFunctor.H:55
int m_lev
Definition ParticleReductionFunctor.H:46
amrex::ParserExecutor< 6 > m_filter_fn
Definition ParticleReductionFunctor.H:57
void operator()(amrex::MultiFab &mf_dst, int dcomp, int) const override
Compute the average of the function m_map_fn over each grid cell.
Definition ParticleReductionFunctor.cpp:46
int m_ispec
Definition ParticleReductionFunctor.H:47
bool m_do_filter
Definition ParticleReductionFunctor.H:49
ParticleReductionFunctor(const amrex::MultiFab *mf_src, int lev, amrex::IntVect crse_ratio, const std::string &fn_str, int ispec, bool do_average, bool do_filter, const std::string &filter_str, int ncomp=1)
Definition ParticleReductionFunctor.cpp:20
std::unique_ptr< amrex::Parser > m_filter_fn_parser
Definition ParticleReductionFunctor.H:53
bool m_do_average
Definition ParticleReductionFunctor.H:48
std::unique_ptr< amrex::Parser > m_map_fn_parser
Definition ParticleReductionFunctor.H:51
IntVectND< 3 > IntVect