ImpactX
src
particles
elements
None.H
Go to the documentation of this file.
1
/* Copyright 2022-2023 The Regents of the University of California, through Lawrence
2
* Berkeley National Laboratory (subject to receipt of any required
3
* approvals from the U.S. Dept. of Energy). All rights reserved.
4
*
5
* This file is part of ImpactX.
6
*
7
* Authors: Axel Huebl
8
* License: BSD-3-Clause-LBNL
9
*/
10
#ifndef IMPACTX_NONE_H
11
#define IMPACTX_NONE_H
12
13
#include "
particles/ImpactXParticleContainer.H
"
14
#include "
mixin/thin.H
"
15
#include "
mixin/nofinalize.H
"
16
17
#include <
AMReX_Extension.H
>
18
#include <
AMReX_REAL.H
>
19
20
21
namespace
impactx
22
{
23
struct
None
24
:
public
elements::Thin
,
25
public
elements::NoFinalize
26
{
27
static
constexpr
auto
name
=
"None"
;
28
using
PType
=
ImpactXParticleContainer::ParticleType
;
29
32
None
()
33
{
34
}
35
37
void
operator()
(
38
ImpactXParticleContainer
&
/* pc */
,
39
int
/* step */
40
) {
41
// nothing to do
42
}
43
45
void
operator()
(
46
ImpactXParticleContainer::iterator
&
/* pti */
,
47
RefPart
& AMREX_RESTRICT
/* ref_part */
48
) {
49
// nothing to do
50
}
51
60
AMREX_GPU_HOST_DEVICE
AMREX_FORCE_INLINE
61
void
operator()
(
62
[[maybe_unused]]
PType
& AMREX_RESTRICT p,
63
[[maybe_unused]] amrex::ParticleReal & AMREX_RESTRICT px,
64
[[maybe_unused]] amrex::ParticleReal & AMREX_RESTRICT py,
65
[[maybe_unused]] amrex::ParticleReal & AMREX_RESTRICT pt,
66
[[maybe_unused]]
RefPart
const
& refpart)
const
67
{
68
// nothing to do
69
}
70
72
using
Thin::operator();
73
};
74
75
}
// namespace impactx
76
77
#endif
// IMPACTX_NONE_H
AMReX_Extension.H
AMREX_FORCE_INLINE
#define AMREX_FORCE_INLINE
AMREX_GPU_HOST_DEVICE
#define AMREX_GPU_HOST_DEVICE
AMReX_REAL.H
ImpactXParticleContainer.H
amrex::ParticleContainer_impl::ParticleType
T_ParticleType ParticleType
impactx::ImpactXParticleContainer
Definition:
ImpactXParticleContainer.H:144
impactx::ParIter
Definition:
ImpactXParticleContainer.H:113
impactx
Definition:
ImpactX.cpp:36
nofinalize.H
impactx::None
Definition:
None.H:26
impactx::None::name
static constexpr auto name
Definition:
None.H:27
impactx::None::PType
ImpactXParticleContainer::ParticleType PType
Definition:
None.H:28
impactx::None::operator()
void operator()(ImpactXParticleContainer &, int)
Definition:
None.H:37
impactx::None::None
None()
Definition:
None.H:32
impactx::RefPart
Definition:
ReferenceParticle.H:30
impactx::elements::NoFinalize
Definition:
nofinalize.H:22
impactx::elements::Thin
Definition:
thin.H:24
thin.H
Generated by
1.9.1