WarpX
Loading...
Searching...
No Matches
Source
Particles
Collision
PulsedDecay
PulsedDecay.H
Go to the documentation of this file.
1
/* Copyright 2026
2
*
3
* This file is part of WarpX.
4
*
5
* License: BSD-3-Clause-LBNL
6
*/
7
#ifndef WARPX_PULSED_DECAY_H
8
#define WARPX_PULSED_DECAY_H
9
10
#include "
Particles/MultiParticleContainer.H
"
11
#include "
Particles/Collision/CollisionBase.H
"
12
13
#include <
AMReX_Parser.H
>
14
#include <
AMReX_REAL.H
>
15
#include <
AMReX_Vector.H
>
16
#include <
AMReX_GpuContainers.H
>
17
18
#include <memory>
19
#include <string>
20
31
32
class
PulsedDecay
final
33
:
public
CollisionBase
34
{
35
public
:
36
PulsedDecay
(std::string
const
& collision_name,
MultiParticleContainer
const
* mypc);
37
38
~PulsedDecay
()
override
=
default
;
39
40
PulsedDecay
(
PulsedDecay
const
&) =
delete
;
41
PulsedDecay
&
operator=
(
PulsedDecay
const
& ) =
delete
;
42
PulsedDecay
(
PulsedDecay
&& ) =
delete
;
43
PulsedDecay
&
operator=
(
PulsedDecay
&& ) =
delete
;
44
52
void
doCollisions
(
amrex::Real
cur_time,
amrex::Real
dt,
MultiParticleContainer
* mypc)
override
;
53
54
private
:
55
56
amrex::Vector<std::string>
m_product_species
;
57
58
amrex::ParticleReal
m_fixed_product_weight
;
59
amrex::GpuArray<amrex::ParticleReal,3>
m_productA_thermal_speed
;
60
amrex::GpuArray<amrex::ParticleReal,3>
m_productB_thermal_speed
;
61
62
amrex::Parser
m_decay_rate_parser
;
63
amrex::ParserExecutor<4>
m_decay_rate_func
;
64
};
65
66
#endif
// WARPX_PULSED_DECAY_H
AMReX_GpuContainers.H
AMReX_Parser.H
AMReX_REAL.H
AMReX_Vector.H
CollisionBase.H
MultiParticleContainer.H
CollisionBase::CollisionBase
CollisionBase(const std::string &collision_name)
Definition
CollisionBase.cpp:14
MultiParticleContainer
Definition
MultiParticleContainer.H:69
PulsedDecay::PulsedDecay
PulsedDecay(std::string const &collision_name, MultiParticleContainer const *mypc)
Definition
PulsedDecay.cpp:29
PulsedDecay::operator=
PulsedDecay & operator=(PulsedDecay const &)=delete
PulsedDecay::~PulsedDecay
~PulsedDecay() override=default
PulsedDecay::m_fixed_product_weight
amrex::ParticleReal m_fixed_product_weight
Definition
PulsedDecay.H:58
PulsedDecay::m_productB_thermal_speed
amrex::GpuArray< amrex::ParticleReal, 3 > m_productB_thermal_speed
Definition
PulsedDecay.H:60
PulsedDecay::m_product_species
amrex::Vector< std::string > m_product_species
Definition
PulsedDecay.H:56
PulsedDecay::m_decay_rate_parser
amrex::Parser m_decay_rate_parser
Definition
PulsedDecay.H:62
PulsedDecay::PulsedDecay
PulsedDecay(PulsedDecay &&)=delete
PulsedDecay::m_decay_rate_func
amrex::ParserExecutor< 4 > m_decay_rate_func
Definition
PulsedDecay.H:63
PulsedDecay::doCollisions
void doCollisions(amrex::Real cur_time, amrex::Real dt, MultiParticleContainer *mypc) override
Definition
PulsedDecay.cpp:121
PulsedDecay::PulsedDecay
PulsedDecay(PulsedDecay const &)=delete
PulsedDecay::m_productA_thermal_speed
amrex::GpuArray< amrex::ParticleReal, 3 > m_productA_thermal_speed
Definition
PulsedDecay.H:59
amrex::Parser
amrex::Vector
amrex::Real
amrex_real Real
amrex::ParticleReal
amrex_particle_real ParticleReal
amrex::GpuArray
amrex::ParserExecutor
Generated by
1.13.2