psim  1.0
Generalized 2D phonon transport using a Monte Carlo method
PhononBuilder Class Referenceabstract

#include <phononBuilder.h>

Inheritance diagram for PhononBuilder:
[legend]

Public Member Functions

constexpr PhononBuilder () noexcept=default
 
virtual ~PhononBuilder ()=default
 
constexpr PhononBuilder (const PhononBuilder &)=default
 
constexpr PhononBuilder (PhononBuilder &&) noexcept=default
 
PhononBuilderoperator= (const PhononBuilder &)=default
 
PhononBuilderoperator= (PhononBuilder &&)=default
 
virtual Phonon operator() (double t_eq) noexcept=0
 
virtual bool hasPhonons () const noexcept=0
 
std::size_t totalPhonons () const noexcept
 

Protected Attributes

std::size_t total_phonons_ { 0 }
 

Constructor & Destructor Documentation

◆ PhononBuilder() [1/3]

constexpr PhononBuilder::PhononBuilder ( )
constexprdefaultnoexcept

◆ ~PhononBuilder()

virtual PhononBuilder::~PhononBuilder ( )
virtualdefault

◆ PhononBuilder() [2/3]

constexpr PhononBuilder::PhononBuilder ( const PhononBuilder )
constexprdefault

◆ PhononBuilder() [3/3]

constexpr PhononBuilder::PhononBuilder ( PhononBuilder &&  )
constexprdefaultnoexcept

Member Function Documentation

◆ hasPhonons()

virtual bool PhononBuilder::hasPhonons ( ) const
pure virtualnoexcept

◆ operator()()

virtual Phonon PhononBuilder::operator() ( double  t_eq)
pure virtualnoexcept

Caller must verify the phonon builder has phonons to build by using the hasPhonons() function before calling this function.

Parameters
t_eq- Equilibrium temperature of the system
Returns
A phonon that is created according to the builder specifications

Implemented in PhasorBuilder, SurfaceOriginBuilder, and CellOriginBuilder.

◆ operator=() [1/2]

PhononBuilder& PhononBuilder::operator= ( const PhononBuilder )
default

◆ operator=() [2/2]

PhononBuilder& PhononBuilder::operator= ( PhononBuilder &&  )
default

◆ totalPhonons()

std::size_t PhononBuilder::totalPhonons ( ) const
inlinenoexcept

Member Data Documentation

◆ total_phonons_

std::size_t PhononBuilder::total_phonons_ { 0 }
protected

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