ImpactX
Toggle main menu visibility
Loading...
Searching...
No Matches
src
elements
mixin
thick.H
Go to the documentation of this file.
1
/* Copyright 2022-2026 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_ELEMENTS_MIXIN_THICK_H
11
#define IMPACTX_ELEMENTS_MIXIN_THICK_H
12
13
#include "
particles/ImpactXParticleContainer.H
"
14
15
#include <
AMReX_Extension.H
>
16
#include <
AMReX_REAL.H
>
17
18
19
namespace
impactx::elements::mixin
20
{
23
struct
Thick
24
{
25
static
constexpr
int
DEFAULT_nslice
= 1;
26
32
Thick
(
33
amrex::ParticleReal
ds
,
34
int
nslice
35
)
36
:
m_ds
(
ds
),
m_nslice
(
nslice
)
37
{
38
}
39
44
AMREX_GPU_HOST_DEVICE
AMREX_FORCE_INLINE
45
int
nslice
()
const
46
{
47
return
m_nslice
;
48
}
49
54
AMREX_GPU_HOST_DEVICE
AMREX_FORCE_INLINE
55
amrex::ParticleReal
ds
()
const
56
{
57
return
m_ds
;
58
}
59
65
void
reverse
()
66
{
67
m_ds
= -
m_ds
;
68
}
69
70
amrex::ParticleReal
m_ds
;
71
int
m_nslice
;
72
};
73
74
}
// namespace impactx::elements::mixin
75
76
#endif
// IMPACTX_ELEMENTS_MIXIN_THICK_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::ParticleReal
amrex_particle_real ParticleReal
impactx::elements::mixin
Definition
alignment.H:25
impactx::elements::mixin::Thick::reverse
void reverse()
Definition
thick.H:65
impactx::elements::mixin::Thick::DEFAULT_nslice
static constexpr int DEFAULT_nslice
Definition
thick.H:25
impactx::elements::mixin::Thick::Thick
Thick(amrex::ParticleReal ds, int nslice)
Definition
thick.H:32
impactx::elements::mixin::Thick::m_ds
amrex::ParticleReal m_ds
Definition
thick.H:70
impactx::elements::mixin::Thick::m_nslice
int m_nslice
segment length in m
Definition
thick.H:71
impactx::elements::mixin::Thick::ds
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE amrex::ParticleReal ds() const
Definition
thick.H:55
impactx::elements::mixin::Thick::nslice
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE int nslice() const
Definition
thick.H:45
Generated by
1.17.0