WarpX
Loading...
Searching...
No Matches
InverseBremsstrahlung.H
Go to the documentation of this file.
1/* Copyright 2025 David Grote
2 *
3 * This file is part of WarpX.
4 *
5 * License: BSD-3-Clause-LBNL
6 */
7#ifndef WARPX_PARTICLES_COLLISION_INVERSEBREMSSTRAHLUNG_H_
8#define WARPX_PARTICLES_COLLISION_INVERSEBREMSSTRAHLUNG_H_
9
13
14#include <AMReX_Parser.H>
15#include <AMReX_REAL.H>
16#include <AMReX_Vector.H>
17#include <AMReX_GpuContainers.H>
18
19#include <memory>
20#include <string>
21
23 : public CollisionBase
24{
25
27 using ParticleTileDataType = ParticleTileType::ParticleTileDataType;
30
31public:
32 InverseBremsstrahlung (std::string const& collision_name, MultiParticleContainer const* mypc);
33
34 ~InverseBremsstrahlung () override = default;
35
40
48 void doCollisions (amrex::Real cur_time, amrex::Real dt, MultiParticleContainer* mypc) override;
49
61 WarpXParticleContainer& electrons) const;
62
63private:
64
66
67};
68
69#endif // WARPX_PARTICLES_COLLISION_INVERSEBREMSSTRAHLUNG_H
CollisionBase(const std::string &collision_name)
Definition CollisionBase.cpp:14
~InverseBremsstrahlung() override=default
InverseBremsstrahlung(InverseBremsstrahlung const &)=delete
ParticleBins::index_type index_type
Definition InverseBremsstrahlung.H:29
InverseBremsstrahlung & operator=(InverseBremsstrahlung const &)=delete
void doInverseBremsstrahlungWithinTile(amrex::Real dt, int lev, amrex::MFIter const &mfi, WarpXParticleContainer &photons, WarpXParticleContainer &electrons) const
Perform inverse Bremsstrahlung within the tile.
Definition InverseBremsstrahlung.cpp:87
WarpXParticleContainer::ParticleTileType ParticleTileType
Definition InverseBremsstrahlung.H:26
amrex::ParticleReal m_energy_fraction
Definition InverseBremsstrahlung.H:65
void doCollisions(amrex::Real cur_time, amrex::Real dt, MultiParticleContainer *mypc) override
Perform the collisions.
Definition InverseBremsstrahlung.cpp:42
amrex::DenseBins< ParticleTileDataType > ParticleBins
Definition InverseBremsstrahlung.H:28
InverseBremsstrahlung(InverseBremsstrahlung &&)=delete
ParticleTileType::ParticleTileDataType ParticleTileDataType
Definition InverseBremsstrahlung.H:27
InverseBremsstrahlung(std::string const &collision_name, MultiParticleContainer const *mypc)
Definition InverseBremsstrahlung.cpp:25
Definition MultiParticleContainer.H:69
Definition WarpXParticleContainer.H:195
std::conditional_t< is_rtsoa_pc, ParticleTileRT< typename ParticleType::RealType, typename ParticleType::IntType >, ParticleTile< ParticleType, NArrayReal, NArrayInt, Allocator > > ParticleTileType
amrex_real Real
amrex_particle_real ParticleReal