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

#include <QuantumSyncEngineWrapper.H>

Public Member Functions

 QuantumSynchrotronEngine ()=default
 
QuantumSynchrotronGetOpticalDepth build_optical_depth_functor ()
 
QuantumSynchrotronEvolveOpticalDepth build_evolve_functor ()
 
QuantumSynchrotronPhotonEmission build_phot_em_functor ()
 
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 qs_minimum_chi_part)
 
void init_builtin_tables (amrex::ParticleReal qs_minimum_chi_part)
 
void compute_lookup_tables (PicsarQuantumSyncCtrl ctrl, amrex::ParticleReal qs_minimum_chi_part)
 
PicsarQuantumSyncCtrl get_default_ctrl () const
 
amrex::ParticleReal get_minimum_chi_part () const
 

Private Member Functions

void init_builtin_dndt_table ()
 
void init_builtin_phot_em_table ()
 

Private Attributes

bool m_lookup_tables_initialized = false
 
amrex::ParticleReal m_qs_minimum_chi_part
 
QS_dndt_table m_dndt_table
 
QS_phot_em_table m_phot_em_table
 

Detailed Description

Wrapper for the Quantum Synchrotron engine of the PICSAR library

Constructor & Destructor Documentation

◆ QuantumSynchrotronEngine()

QuantumSynchrotronEngine::QuantumSynchrotronEngine ( )
default

Constructor requires no arguments.

Member Function Documentation

◆ are_lookup_tables_initialized()

bool QuantumSynchrotronEngine::are_lookup_tables_initialized ( ) const

Checks if the optical tables are properly initialized

◆ build_evolve_functor()

QuantumSynchrotronEvolveOpticalDepth QuantumSynchrotronEngine::build_evolve_functor ( )

Builds the functor to evolve the optical depth

◆ build_optical_depth_functor()

QuantumSynchrotronGetOpticalDepth QuantumSynchrotronEngine::build_optical_depth_functor ( )

Builds the functor to initialize the optical depth

◆ build_phot_em_functor()

QuantumSynchrotronPhotonEmission QuantumSynchrotronEngine::build_phot_em_functor ( )

Builds the functor to generate photons

◆ compute_lookup_tables()

void QuantumSynchrotronEngine::compute_lookup_tables ( PicsarQuantumSyncCtrl  ctrl,
amrex::ParticleReal  qs_minimum_chi_part 
)

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]qs_minimum_chi_partminimum chi parameter to evolve the optical depth of a particle.

◆ export_lookup_tables_data()

vector< char > QuantumSynchrotronEngine::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()

PicsarQuantumSyncCtrl QuantumSynchrotronEngine::get_default_ctrl ( ) const

gets default values for the control parameters

Returns
default control params to generate the tables

◆ get_minimum_chi_part()

amrex::ParticleReal QuantumSynchrotronEngine::get_minimum_chi_part ( ) const

◆ init_builtin_dndt_table()

void QuantumSynchrotronEngine::init_builtin_dndt_table ( )
private

◆ init_builtin_phot_em_table()

void QuantumSynchrotronEngine::init_builtin_phot_em_table ( )
private

◆ init_builtin_tables()

void QuantumSynchrotronEngine::init_builtin_tables ( amrex::ParticleReal  qs_minimum_chi_part)

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

Parameters
[in]qs_minimum_chi_partminimum chi parameter to evolve the optical depth of a particle.

◆ init_lookup_tables_from_raw_data()

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

Init lookup tables from raw binary data.

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

Member Data Documentation

◆ m_dndt_table

QS_dndt_table QuantumSynchrotronEngine::m_dndt_table
private

◆ m_lookup_tables_initialized

bool QuantumSynchrotronEngine::m_lookup_tables_initialized = false
private

◆ m_phot_em_table

QS_phot_em_table QuantumSynchrotronEngine::m_phot_em_table
private

◆ m_qs_minimum_chi_part

amrex::ParticleReal QuantumSynchrotronEngine::m_qs_minimum_chi_part
private

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