WarpX
Toggle main menu visibility
Loading...
Searching...
No Matches
Source
Particles
Collision
BackgroundStopping
BackgroundStopping.H
Go to the documentation of this file.
1
/* Copyright 2022 David Grote
2
*
3
* This file is part of WarpX.
4
*
5
* License: BSD-3-Clause-LBNL
6
*/
7
#ifndef WARPX_PARTICLES_COLLISION_BACKGROUNSTOPPING_H_
8
#define WARPX_PARTICLES_COLLISION_BACKGROUNSTOPPING_H_
9
10
#include "
Particles/MultiParticleContainer.H
"
11
#include "
Particles/Collision/CollisionBase.H
"
12
13
#include <
AMReX_REAL.H
>
14
15
#include <string>
16
17
enum class
BackgroundStoppingType
{
18
INVALID
,
19
ELECTRONS
,
20
IONS
,
21
};
22
23
class
BackgroundStopping
final
24
:
public
CollisionBase
25
{
26
public
:
27
explicit
BackgroundStopping
(
const
std::string& collision_name);
28
29
~BackgroundStopping
()
override
=
default
;
30
31
BackgroundStopping
(
BackgroundStopping
const
&) =
delete
;
32
BackgroundStopping
&
operator=
(
BackgroundStopping
const
& ) =
delete
;
33
BackgroundStopping
(
BackgroundStopping
&& ) =
delete
;
34
BackgroundStopping
&
operator=
(
BackgroundStopping
&& ) =
delete
;
35
43
void
doCollisions
(
amrex::Real
cur_time,
amrex::Real
dt,
MultiParticleContainer
* mypc)
override
;
44
54
void
doBackgroundStoppingOnElectronsWithinTile
(
WarpXParIter
& pti,
amrex::Real
dt,
amrex::Real
t,
55
amrex::ParticleReal
species_mass,
amrex::ParticleReal
species_charge);
56
66
void
doBackgroundStoppingOnIonsWithinTile
(
WarpXParIter
& pti,
amrex::Real
dt,
amrex::Real
t,
67
amrex::ParticleReal
species_mass,
amrex::ParticleReal
species_charge);
68
69
private
:
70
71
amrex::ParticleReal
m_background_mass
;
72
amrex::ParticleReal
m_background_charge_state
;
73
BackgroundStoppingType
m_background_type
;
74
75
amrex::Parser
m_background_density_parser
;
76
amrex::Parser
m_background_temperature_parser
;
77
78
amrex::ParserExecutor<4>
m_background_density_func
;
79
amrex::ParserExecutor<4>
m_background_temperature_func
;
80
81
};
82
83
#endif
// WARPX_PARTICLES_COLLISION_BACKGROUNSTOPPING_H_
AMReX_REAL.H
BackgroundStoppingType
BackgroundStoppingType
Definition
BackgroundStopping.H:17
BackgroundStoppingType::ELECTRONS
@ ELECTRONS
Definition
BackgroundStopping.H:19
BackgroundStoppingType::INVALID
@ INVALID
Definition
BackgroundStopping.H:18
BackgroundStoppingType::IONS
@ IONS
Definition
BackgroundStopping.H:20
CollisionBase.H
MultiParticleContainer.H
BackgroundStopping::m_background_mass
amrex::ParticleReal m_background_mass
Definition
BackgroundStopping.H:71
BackgroundStopping::m_background_temperature_func
amrex::ParserExecutor< 4 > m_background_temperature_func
Definition
BackgroundStopping.H:79
BackgroundStopping::m_background_density_func
amrex::ParserExecutor< 4 > m_background_density_func
Definition
BackgroundStopping.H:78
BackgroundStopping::doCollisions
void doCollisions(amrex::Real cur_time, amrex::Real dt, MultiParticleContainer *mypc) override
Definition
BackgroundStopping.cpp:89
BackgroundStopping::BackgroundStopping
BackgroundStopping(const std::string &collision_name)
Definition
BackgroundStopping.cpp:19
BackgroundStopping::m_background_type
BackgroundStoppingType m_background_type
Definition
BackgroundStopping.H:73
BackgroundStopping::m_background_temperature_parser
amrex::Parser m_background_temperature_parser
Definition
BackgroundStopping.H:76
BackgroundStopping::BackgroundStopping
BackgroundStopping(BackgroundStopping const &)=delete
BackgroundStopping::operator=
BackgroundStopping & operator=(BackgroundStopping const &)=delete
BackgroundStopping::~BackgroundStopping
~BackgroundStopping() override=default
BackgroundStopping::m_background_density_parser
amrex::Parser m_background_density_parser
Definition
BackgroundStopping.H:75
BackgroundStopping::doBackgroundStoppingOnElectronsWithinTile
void doBackgroundStoppingOnElectronsWithinTile(WarpXParIter &pti, amrex::Real dt, amrex::Real t, amrex::ParticleReal species_mass, amrex::ParticleReal species_charge)
Definition
BackgroundStopping.cpp:137
BackgroundStopping::BackgroundStopping
BackgroundStopping(BackgroundStopping &&)=delete
BackgroundStopping::doBackgroundStoppingOnIonsWithinTile
void doBackgroundStoppingOnIonsWithinTile(WarpXParIter &pti, amrex::Real dt, amrex::Real t, amrex::ParticleReal species_mass, amrex::ParticleReal species_charge)
Definition
BackgroundStopping.cpp:211
BackgroundStopping::m_background_charge_state
amrex::ParticleReal m_background_charge_state
Definition
BackgroundStopping.H:72
CollisionBase::CollisionBase
CollisionBase(const std::string &collision_name)
Definition
CollisionBase.cpp:14
MultiParticleContainer
Definition
MultiParticleContainer.H:69
WarpXParIter
Definition
WarpXParticleContainer.H:112
amrex::Parser
amrex::Real
amrex_real Real
amrex::ParticleReal
amrex_particle_real ParticleReal
amrex::ParserExecutor
Generated by
1.17.0