WarpX
Loading...
Searching...
No Matches
Interpolate.H
Go to the documentation of this file.
1/* Copyright 2019-2022 Axel Huebl, Remi Lehe
2 *
3 * This file is part of WarpX.
4 *
5 * License: BSD-3-Clause-LBNL
6 */
7#ifndef ABLASTR_INTERPOLATE_H
8#define ABLASTR_INTERPOLATE_H
9
10#include <AMReX_Array4.H>
11#include <AMReX_IntVect.H>
12#include <AMReX_MFInterp_C.H>
13
14#include <array>
15#include <optional>
16
18
30 {
32 amrex::Array4<amrex::Real> const phi_fp_arr,
33 amrex::Array4<amrex::Real const> const phi_cp_arr,
34 amrex::IntVect const refratio)
35 : m_phi_fp_arr(phi_fp_arr), m_phi_cp_arr(phi_cp_arr), m_refratio(refratio)
36 {}
37
39 void
40 operator() (int i, int j, int k) const noexcept
41 {
42 amrex::mf_nodebilin_interp(i, j, k, 0, m_phi_fp_arr, 0, m_phi_cp_arr,
43 0, m_refratio);
44 }
45
49 };
50} // namespace ablastr::fields::details
51
52#endif // ABLASTR_INTERPOLATE_H
#define AMREX_FORCE_INLINE
#define AMREX_GPU_DEVICE
Definition Interpolate.H:17
ArrayND< T, 4, true > Array4
IntVectND< 3 > IntVect
PoissonInterpCPtoFP(amrex::Array4< amrex::Real > const phi_fp_arr, amrex::Array4< amrex::Real const > const phi_cp_arr, amrex::IntVect const refratio)
Definition Interpolate.H:31
amrex::Array4< amrex::Real > m_phi_fp_arr
Definition Interpolate.H:46
amrex::Array4< amrex::Real const > m_phi_cp_arr
Definition Interpolate.H:47
amrex::IntVect m_refratio
Definition Interpolate.H:48
AMREX_GPU_DEVICE AMREX_FORCE_INLINE void operator()(int i, int j, int k) const noexcept
Definition Interpolate.H:40