WarpX
Toggle main menu visibility
Loading...
Searching...
No Matches
Source
ablastr
fields
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
17
namespace
ablastr::fields::details
{
18
29
struct
PoissonInterpCPtoFP
30
{
31
PoissonInterpCPtoFP
(
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
38
AMREX_GPU_DEVICE
AMREX_FORCE_INLINE
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
46
amrex::Array4<amrex::Real>
m_phi_fp_arr
;
47
amrex::Array4<amrex::Real const>
m_phi_cp_arr
;
48
amrex::IntVect
m_refratio
;
49
};
50
}
// namespace ablastr::fields::details
51
52
#endif
// ABLASTR_INTERPOLATE_H
AMReX_Array4.H
AMREX_FORCE_INLINE
#define AMREX_FORCE_INLINE
AMREX_GPU_DEVICE
#define AMREX_GPU_DEVICE
AMReX_IntVect.H
amrex::Array4
ArrayND< T, 4, true > Array4
ablastr::fields::details
Definition
Interpolate.H:17
amrex::IntVect
IntVectND< 3 > IntVect
ablastr::fields::details::PoissonInterpCPtoFP::PoissonInterpCPtoFP
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
ablastr::fields::details::PoissonInterpCPtoFP::m_phi_fp_arr
amrex::Array4< amrex::Real > m_phi_fp_arr
Definition
Interpolate.H:46
ablastr::fields::details::PoissonInterpCPtoFP::m_phi_cp_arr
amrex::Array4< amrex::Real const > m_phi_cp_arr
Definition
Interpolate.H:47
ablastr::fields::details::PoissonInterpCPtoFP::m_refratio
amrex::IntVect m_refratio
Definition
Interpolate.H:48
ablastr::fields::details::PoissonInterpCPtoFP::operator()
AMREX_GPU_DEVICE AMREX_FORCE_INLINE void operator()(int i, int j, int k) const noexcept
Definition
Interpolate.H:40
Generated by
1.17.0