WarpX
Public Member Functions | Public Attributes | List of all members
ablastr::fields::details::PoissonInterpCPtoFP Struct Reference

#include <Interpolate.H>

Public Member Functions

 PoissonInterpCPtoFP (amrex::Array4< amrex::Real > const phi_fp_arr, amrex::Array4< amrex::Real const > const phi_cp_arr, amrex::IntVect const refratio)
 
AMREX_GPU_DEVICE AMREX_FORCE_INLINE void operator() (int i, int j, int k) const noexcept
 

Public Attributes

amrex::Array4< amrex::Real > const m_phi_fp_arr
 
amrex::Array4< amrex::Real const > const m_phi_cp_arr
 
amrex::IntVect const m_refratio
 

Detailed Description

Local interpolation from phi_cp to phi[lev+1]

This is needed to work-around an NVCC limitation in downstream code (ImpactX), when nesting lambdas. Otherwise this could be written directly into the ParallelFor.

Parameters
[out]phi_fp_arrphi on the fine level
[in]phi_cp_arrphi on the coarse level
[in]refratiorefinement ration

Constructor & Destructor Documentation

◆ PoissonInterpCPtoFP()

ablastr::fields::details::PoissonInterpCPtoFP::PoissonInterpCPtoFP ( amrex::Array4< amrex::Real > const  phi_fp_arr,
amrex::Array4< amrex::Real const > const  phi_cp_arr,
amrex::IntVect const  refratio 
)
inline

Member Function Documentation

◆ operator()()

AMREX_GPU_DEVICE AMREX_FORCE_INLINE void ablastr::fields::details::PoissonInterpCPtoFP::operator() ( int  i,
int  j,
int  k 
) const
inlinenoexcept

Member Data Documentation

◆ m_phi_cp_arr

amrex::Array4<amrex::Real const> const ablastr::fields::details::PoissonInterpCPtoFP::m_phi_cp_arr

◆ m_phi_fp_arr

amrex::Array4<amrex::Real> const ablastr::fields::details::PoissonInterpCPtoFP::m_phi_fp_arr

◆ m_refratio

amrex::IntVect const ablastr::fields::details::PoissonInterpCPtoFP::m_refratio

The documentation for this struct was generated from the following file: