WarpX
Source
FieldSolver
FiniteDifferenceSolver
FiniteDifferenceAlgorithms
FieldAccessorFunctors.H
Go to the documentation of this file.
1
/* Copyright 2020 Revathi Jambunathan
2
*
3
* This file is part of WarpX.
4
*
5
* License: BSD-3-Clause-LBNL
6
*/
7
8
#ifndef WARPX_FIELD_ACCESSOR_FUNCTORS_H
9
#define WARPX_FIELD_ACCESSOR_FUNCTORS_H
10
11
#include <
AMReX_Array.H
>
12
#include <
AMReX_Extension.H
>
13
#include <
AMReX_Gpu.H
>
14
19
struct
FieldAccessorMacroscopic
20
{
21
AMREX_GPU_HOST_DEVICE
AMREX_FORCE_INLINE
22
FieldAccessorMacroscopic
(
amrex::Array4<amrex::Real const>
const
a_field,
23
amrex::Array4<amrex::Real>
const
& a_parameter)
24
:
m_field
(a_field),
m_parameter
(a_parameter) {}
25
37
AMREX_GPU_HOST_DEVICE
AMREX_FORCE_INLINE
38
amrex::Real
operator()
(
int
const
i
,
int
const
j,
39
int
const
k,
int
const
ncomp)
const
noexcept
40
{
41
return
(
m_field
(
i
, j, k, ncomp) /
m_parameter
(
i
, j, k) ) ;
42
}
43
private
:
45
amrex::Array4<amrex::Real const>
const
m_field
;
47
amrex::Array4<amrex::Real const>
const
m_parameter
;
48
};
49
50
51
#endif
AMReX_Array.H
AMReX_Extension.H
AMREX_FORCE_INLINE
#define AMREX_FORCE_INLINE
AMREX_GPU_HOST_DEVICE
#define AMREX_GPU_HOST_DEVICE
AMReX_Gpu.H
check_interp_points_and_weights.i
i
Definition:
check_interp_points_and_weights.py:174
FieldAccessorMacroscopic
Functor that returns the division of the source m_field Array4 value by macroparameter obtained using...
Definition:
FieldAccessorFunctors.H:20
FieldAccessorMacroscopic::m_field
amrex::Array4< amrex::Real const > const m_field
Definition:
FieldAccessorFunctors.H:45
FieldAccessorMacroscopic::FieldAccessorMacroscopic
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE FieldAccessorMacroscopic(amrex::Array4< amrex::Real const > const a_field, amrex::Array4< amrex::Real > const &a_parameter)
Definition:
FieldAccessorFunctors.H:22
FieldAccessorMacroscopic::operator()
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE amrex::Real operator()(int const i, int const j, int const k, int const ncomp) const noexcept
return field value at (i,j,k,ncomp) scaled by (1/m_getParameter(x,y,z))
Definition:
FieldAccessorFunctors.H:38
FieldAccessorMacroscopic::m_parameter
amrex::Array4< amrex::Real const > const m_parameter
Definition:
FieldAccessorFunctors.H:47
amrex::Array4
Generated by
1.9.1