psim  1.0
Generalized 2D phonon transport using a Monte Carlo method
SurfaceOriginBuilder Class Reference

#include <phononBuilder.h>

Inheritance diagram for SurfaceOriginBuilder:
[legend]
Collaboration diagram for SurfaceOriginBuilder:
[legend]

Public Member Functions

 SurfaceOriginBuilder (Cell &cell, const EmitSurface &surface, std::size_t num_phonons)
 
Phonon operator() (double t_eq) noexcept override
 
bool hasPhonons () const noexcept override
 
- Public Member Functions inherited from PhononBuilder
constexpr PhononBuilder () noexcept=default
 
virtual ~PhononBuilder ()=default
 
constexpr PhononBuilder (const PhononBuilder &)=default
 
constexpr PhononBuilder (PhononBuilder &&) noexcept=default
 
PhononBuilderoperator= (const PhononBuilder &)=default
 
PhononBuilderoperator= (PhononBuilder &&)=default
 
std::size_t totalPhonons () const noexcept
 

Protected Attributes

const EmitSurfacesurface_
 
- Protected Attributes inherited from PhononBuilder
std::size_t total_phonons_ { 0 }
 

Constructor & Destructor Documentation

◆ SurfaceOriginBuilder()

SurfaceOriginBuilder::SurfaceOriginBuilder ( Cell cell,
const EmitSurface surface,
std::size_t  num_phonons 
)

Member Function Documentation

◆ hasPhonons()

bool SurfaceOriginBuilder::hasPhonons ( ) const
inlineoverridevirtualnoexcept

Implements PhononBuilder.

◆ operator()()

Phonon SurfaceOriginBuilder::operator() ( double  t_eq)
overridevirtualnoexcept

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

Implements PhononBuilder.

Reimplemented in PhasorBuilder.

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ surface_

const EmitSurface& SurfaceOriginBuilder::surface_
protected

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