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

#include <surface.h>

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

Public Types

using Vector2D = Geometry::Vector2D
 
using Point = Geometry::Point
 
using Line = Geometry::Line
 

Public Member Functions

 Surface (Line surface_line, Cell &cell, double specularity, int norm_sign)
 
virtual ~Surface ()=default
 
 Surface (const Surface &)=default
 
 Surface (Surface &&) noexcept=default
 
Surfaceoperator= (const Surface &)=delete
 
Surfaceoperator= (Surface &&)=delete
 
void boundaryHandlePhonon (Phonon &p) const noexcept
 
void redirectPhonon (Phonon &p) const noexcept
 
const LinegetSurfaceLine () const noexcept
 
bool contains (const Point &point) const noexcept
 
Point getRandPoint (double r1) const noexcept
 
double getLength () const noexcept
 
double getSpecularity () const noexcept
 
Vector2D getNormal () const noexcept
 
void setNormal (Vector2D normal) noexcept
 
bool operator== (const Surface &rhs) const
 
bool operator> (const Surface &rhs) const
 

Protected Attributes

Cellcell_
 
Vector2D normal_
 
const double specularity_
 

Member Typedef Documentation

◆ Line

◆ Point

◆ Vector2D

Constructor & Destructor Documentation

◆ Surface() [1/3]

Surface::Surface ( Line  surface_line,
Cell cell,
double  specularity,
int  norm_sign 
)

◆ ~Surface()

virtual Surface::~Surface ( )
virtualdefault

◆ Surface() [2/3]

Surface::Surface ( const Surface )
default

◆ Surface() [3/3]

Surface::Surface ( Surface &&  )
defaultnoexcept

Member Function Documentation

◆ boundaryHandlePhonon()

void Surface::boundaryHandlePhonon ( Phonon p) const
noexcept
Here is the call graph for this function:
Here is the caller graph for this function:

◆ contains()

bool Surface::contains ( const Point point) const
inlinenoexcept
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getLength()

double Surface::getLength ( ) const
inlinenoexcept

◆ getNormal()

Vector2D Surface::getNormal ( ) const
inlinenoexcept
Here is the caller graph for this function:

◆ getRandPoint()

Point Surface::getRandPoint ( double  r1) const
inlinenoexcept
Here is the call graph for this function:

◆ getSpecularity()

double Surface::getSpecularity ( ) const
inlinenoexcept
Here is the caller graph for this function:

◆ getSurfaceLine()

const Line& Surface::getSurfaceLine ( ) const
inlinenoexcept
Here is the caller graph for this function:

◆ operator=() [1/2]

Surface& Surface::operator= ( const Surface )
delete

◆ operator=() [2/2]

Surface& Surface::operator= ( Surface &&  )
delete

◆ operator==()

bool Surface::operator== ( const Surface rhs) const
inline

◆ operator>()

bool Surface::operator> ( const Surface rhs) const
inline

◆ redirectPhonon()

void Surface::redirectPhonon ( Phonon p) const
noexcept

Redirects the incoming phonon to a random direction that points away from the impacted surface (Diffuse scatter)

Parameters
p- The phonon that interacts with the surface
Here is the call graph for this function:

◆ setNormal()

void Surface::setNormal ( Vector2D  normal)
inlinenoexcept

Member Data Documentation

◆ cell_

Cell& Surface::cell_
protected

◆ normal_

Vector2D Surface::normal_
protected

◆ specularity_

const double Surface::specularity_
protected

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