WarpX
Public Member Functions | Private Member Functions | Private Attributes | List of all members
BreitWheelerEngine Class Reference

#include <BreitWheelerEngineWrapper.H>

Public Member Functions

 BreitWheelerEngine ()=default
 
BreitWheelerGetOpticalDepth build_optical_depth_functor () const
 
BreitWheelerEvolveOpticalDepth build_evolve_functor () const
 
BreitWheelerGeneratePairs build_pair_functor () const
 
bool are_lookup_tables_initialized () const
 
std::vector< char > export_lookup_tables_data () const
 
bool init_lookup_tables_from_raw_data (const std::vector< char > &raw_data, amrex::ParticleReal bw_minimum_chi_phot)
 
void init_builtin_tables (amrex::ParticleReal bw_minimum_chi_phot)
 
void compute_lookup_tables (PicsarBreitWheelerCtrl ctrl, amrex::ParticleReal bw_minimum_chi_phot)
 
PicsarBreitWheelerCtrl get_default_ctrl () const
 
amrex::ParticleReal get_minimum_chi_phot () const
 

Private Member Functions

void init_builtin_dndt_table ()
 
void init_builtin_pair_prod_table ()
 

Private Attributes

bool m_lookup_tables_initialized = false
 
amrex::ParticleReal m_bw_minimum_chi_phot
 
BW_dndt_table m_dndt_table
 
BW_pair_prod_table m_pair_prod_table
 

Detailed Description

Wrapper for the Breit Wheeler engine of the PICSAR library

Constructor & Destructor Documentation

◆ BreitWheelerEngine()

BreitWheelerEngine::BreitWheelerEngine ( )
default

Constructor requires no arguments.

Member Function Documentation

◆ are_lookup_tables_initialized()

bool BreitWheelerEngine::are_lookup_tables_initialized ( ) const

Checks if the optical tables are properly initialized

◆ build_evolve_functor()

BreitWheelerEvolveOpticalDepth BreitWheelerEngine::build_evolve_functor ( ) const

Builds the functor to evolve the optical depth

◆ build_optical_depth_functor()

BreitWheelerGetOpticalDepth BreitWheelerEngine::build_optical_depth_functor ( ) const

Builds the functor to initialize the optical depth

◆ build_pair_functor()

BreitWheelerGeneratePairs BreitWheelerEngine::build_pair_functor ( ) const

Builds the functor to generate the pairs

◆ compute_lookup_tables()

void BreitWheelerEngine::compute_lookup_tables ( PicsarBreitWheelerCtrl  ctrl,
amrex::ParticleReal  bw_minimum_chi_phot 
)

Computes the lookup tables. It does nothing unless WarpX is compiled with QED_TABLE_GEN=TRUE

Parameters
[in]ctrlcontrol params to generate the tables
[in]bw_minimum_chi_photminimum chi parameter to evolve the optical depth of a photon

◆ export_lookup_tables_data()

vector< char > BreitWheelerEngine::export_lookup_tables_data ( ) const

Export lookup tables data into a raw binary Vector

Returns
the data in binary format. The Vector is empty if tables were not previously initialized.

◆ get_default_ctrl()

PicsarBreitWheelerCtrl BreitWheelerEngine::get_default_ctrl ( ) const

gets default values for the control parameters

Returns
default control params to generate the tables

◆ get_minimum_chi_phot()

amrex::ParticleReal BreitWheelerEngine::get_minimum_chi_phot ( ) const

◆ init_builtin_dndt_table()

void BreitWheelerEngine::init_builtin_dndt_table ( )
private

◆ init_builtin_pair_prod_table()

void BreitWheelerEngine::init_builtin_pair_prod_table ( )
private

◆ init_builtin_tables()

void BreitWheelerEngine::init_builtin_tables ( amrex::ParticleReal  bw_minimum_chi_phot)

Init lookup tables using built-in (low resolution) tables

Parameters
[in]bw_minimum_chi_photminimum chi parameter to evolve the optical depth of a photon

◆ init_lookup_tables_from_raw_data()

bool BreitWheelerEngine::init_lookup_tables_from_raw_data ( const std::vector< char > &  raw_data,
amrex::ParticleReal  bw_minimum_chi_phot 
)

Init lookup tables from raw binary data.

Parameters
[in]raw_dataa vector of char
[in]bw_minimum_chi_photminimum chi parameter to evolve the optical depth of a photon
Returns
true if it succeeds, false if it cannot parse raw_data

Member Data Documentation

◆ m_bw_minimum_chi_phot

amrex::ParticleReal BreitWheelerEngine::m_bw_minimum_chi_phot
private

◆ m_dndt_table

BW_dndt_table BreitWheelerEngine::m_dndt_table
private

◆ m_lookup_tables_initialized

bool BreitWheelerEngine::m_lookup_tables_initialized = false
private

◆ m_pair_prod_table

BW_pair_prod_table BreitWheelerEngine::m_pair_prod_table
private

The documentation for this class was generated from the following files: