Memosa-FVM  0.2
pmode< T > Class Template Reference

#include <pmode.h>

Collaboration diagram for pmode< T >:

Public Types

typedef pmode< T > Tmode
 
typedef NumTypeTraits< T >
::T_Scalar 
T_Scalar
 
typedef Vector< T_Scalar, 3 > Tvec
 
typedef shared_ptr< pmode< T > > Mode_ptr
 
typedef pair< T, int > Reflection
 
typedef shared_ptr< ReflectionReflptr
 
typedef pair< Reflection,
Reflection
Refl_pair
 
typedef map< int, Refl_pairRefl_Map
 

Public Member Functions

 pmode (Tvec vg, T omega, T tau)
 
 pmode ()
 
Tvec getv ()
 
getcp ()
 
gettau ()
 
gettauN ()
 
getomega ()
 
TvecgetVRef ()
 
T & getTauRef ()
 
T & getTauNRef ()
 
T & getOmegaRef ()
 
T & getcpRef ()
 
Refl_Mapgetreflmap ()
 
Refl_Map getreflmapValue ()
 
Refl_pairgetReflpair (int i)
 
void setIndex (int index)
 
int getIndex ()
 
Fieldgetfield ()
 
FieldgeteShifted ()
 
Fieldgete0field ()
 
FieldgetInjected ()
 
Fieldgetresid ()
 
FieldgetFASfield ()
 
void setTref (const T Tref)
 
calce0 (T Tl)
 
calce0tau (T Tl)
 
calcde0taudT (T Tl)
 
calcde0dT (T Tl)
 
Tmodeoperator= (Tmode &o)
 
getTref ()
 
void copyPmode (Tmode &inMode)
 

Private Member Functions

 pmode (const pmode &)
 

Private Attributes

Tvec _vg
 
_cp
 
_tau
 
_tauN
 
_omega
 
Field _efield
 
Field _eShifted
 
Field _e0field
 
Field _injected
 
Field _residual
 
Field _FASCorrection
 
Refl_Map _reflections
 
int _index
 
_Tref
 

Detailed Description

template<class T>
class pmode< T >

Definition at line 18 of file pmode.h.

Member Typedef Documentation

template<class T >
typedef shared_ptr<pmode<T> > pmode< T >::Mode_ptr

Definition at line 26 of file pmode.h.

template<class T >
typedef map<int,Refl_pair> pmode< T >::Refl_Map

Definition at line 30 of file pmode.h.

template<class T >
typedef pair<Reflection,Reflection> pmode< T >::Refl_pair

Definition at line 29 of file pmode.h.

template<class T >
typedef pair<T,int> pmode< T >::Reflection

Definition at line 27 of file pmode.h.

template<class T >
typedef shared_ptr<Reflection> pmode< T >::Reflptr

Definition at line 28 of file pmode.h.

template<class T >
typedef NumTypeTraits<T>::T_Scalar pmode< T >::T_Scalar

Definition at line 24 of file pmode.h.

template<class T >
typedef pmode<T> pmode< T >::Tmode

Definition at line 23 of file pmode.h.

template<class T >
typedef Vector<T_Scalar,3> pmode< T >::Tvec

Definition at line 25 of file pmode.h.

Constructor & Destructor Documentation

template<class T >
pmode< T >::pmode ( Tvec  vg,
omega,
tau 
)
inline

Definition at line 32 of file pmode.h.

32  :
33  _vg(vg),
34  _tau(tau),
35  _omega(omega),
36  _efield("edoubleprime"),
37  _eShifted("eShifted"),
38  _e0field("e0"),
39  _injected("injected"),
40  _residual("residual"),
41  _FASCorrection("FASCorrection"),
42  _reflections(),
43  _index(),
44  _Tref(299.)
45  {}
int _index
Definition: pmode.h:275
Field _efield
Definition: pmode.h:254
Field _FASCorrection
Definition: pmode.h:269
T _Tref
Definition: pmode.h:277
Field _eShifted
Definition: pmode.h:257
Field _injected
Definition: pmode.h:263
Field _residual
Definition: pmode.h:266
Field _e0field
Definition: pmode.h:260
T _omega
Definition: pmode.h:251
T _tau
Definition: pmode.h:245
Refl_Map _reflections
Definition: pmode.h:272
Tvec _vg
Definition: pmode.h:239
template<class T >
pmode< T >::pmode ( )
inline

Definition at line 47 of file pmode.h.

47  :
48  _efield("edoubleprime"),
49  _eShifted("eShifted"),
50  _e0field("e0"),
51  _injected("injected"),
52  _residual("residual"),
53  _FASCorrection("FASCorrection"),
54  _reflections(),
55  _index(),
56  _Tref(299.)
57  {};
int _index
Definition: pmode.h:275
Field _efield
Definition: pmode.h:254
Field _FASCorrection
Definition: pmode.h:269
T _Tref
Definition: pmode.h:277
Field _eShifted
Definition: pmode.h:257
Field _injected
Definition: pmode.h:263
Field _residual
Definition: pmode.h:266
Field _e0field
Definition: pmode.h:260
Refl_Map _reflections
Definition: pmode.h:272
template<class T >
pmode< T >::pmode ( const pmode< T > &  )
private

Member Function Documentation

template<class T >
T pmode< T >::calcde0dT ( Tl)
inline

Definition at line 126 of file pmode.h.

Referenced by Kspace< T >::calcBandTemp(), Kspace< T >::calcPhononTemp(), Kspace< T >::calcSpecificHeat(), COMETDiscretizer< T >::COMETCollision(), Kspace< T >::getde0taudT(), Kspace< T >::gete0(), Kspace< T >::gete0v(), Kspace< T >::getHollandConductivity(), Kspace< T >::getModewiseBallisticConductance(), Kspace< T >::getModewiseHollandConductivity(), and ScatteringKernel< T >::updateSource().

127  {
128  const T hbar=6.582119e-16; // (eV s)
129  const T kb=8.617343e-5; // (eV/K)
130  T e0kp;
131 
132  e0kp=kb*pow((hbar*_omega/kb/Tl),2)*exp(hbar*_omega/kb/Tl)/
133  pow((exp(hbar*_omega/kb/Tl)-1),2);
134 
135  //e0kp=pow(Tl,-2)*hbar*_omega/kb*exp(hbar*_omega/kb/Tl)/
136  // pow((exp(hbar*_omega/kb/Tl)-1),2);
137 
138  return e0kp;
139  }
T _omega
Definition: pmode.h:251
template<class T >
T pmode< T >::calcde0taudT ( Tl)
inline

Definition at line 112 of file pmode.h.

Referenced by Kspace< T >::gete0_tau().

113  {
114  const T hbar=6.582119e-16; // (eV s)
115  const T kb=8.617343e-5; // (eV/K)
116  T e0kp;
117 
118  e0kp=(kb/_tau)*pow((hbar*_omega/kb/Tl),2)*exp(hbar*_omega/kb/Tl)/
119  pow((exp(hbar*_omega/kb/Tl)-1),2);
120 
121  //e0kp=pow(Tl,-2)/_tau*hbar*_omega/kb*exp(hbar*_omega/kb/Tl)/
122  // pow((exp(hbar*_omega/kb/Tl)-1),2);
123 
124  return e0kp;
125  }
T _omega
Definition: pmode.h:251
T _tau
Definition: pmode.h:245
template<class T >
T pmode< T >::calce0tau ( Tl)
inline

Definition at line 100 of file pmode.h.

Referenced by Kspace< T >::gete0_tau().

101  {
102  const T hbar=6.582119e-16; // (eV s)
103  const T kb=8.617343e-5; // (eV/K)
104  T e0kp;
105 
106  e0kp=hbar*_omega/(exp(hbar*_omega/kb/Tl)-1)/_tau;
107  //e0kp=1./(exp(hbar*_omega/kb/Tl)-1)/_tau;
108  //T eref=1./(exp(hbar*_omega/kb/300)-1)/_tau;
109 
110  return e0kp;
111  }
T _omega
Definition: pmode.h:251
T _tau
Definition: pmode.h:245
template<class T >
void pmode< T >::copyPmode ( Tmode inMode)
inline

Definition at line 216 of file pmode.h.

References pmode< T >::getcp(), pmode< T >::getIndex(), pmode< T >::getomega(), pmode< T >::getreflmap(), pmode< T >::gettau(), pmode< T >::getTref(), and pmode< T >::getv().

217  {
218  Tvec newVg=inMode.getv();
219  T newCp=inMode.getcp();
220  T newTau=inMode.gettau();
221  T newOmega=inMode.getomega();
222  Refl_Map& newMap=inMode.getreflmap();
223  int newIndex=inMode.getIndex();
224  T newTref=inMode.getTref();
225 
226  _vg=newVg;
227  _cp=newCp;
228  _tau=newTau;
229  _omega=newOmega;
230  _reflections=newMap;
231  _index=newIndex;
232  _Tref=newTref;
233  }
int _index
Definition: pmode.h:275
map< int, Refl_pair > Refl_Map
Definition: pmode.h:30
T _Tref
Definition: pmode.h:277
T _cp
Definition: pmode.h:242
Vector< T_Scalar, 3 > Tvec
Definition: pmode.h:25
T _omega
Definition: pmode.h:251
T _tau
Definition: pmode.h:245
Refl_Map _reflections
Definition: pmode.h:272
Tvec _vg
Definition: pmode.h:239
template<class T >
T pmode< T >::getcp ( )
inline

Definition at line 60 of file pmode.h.

Referenced by pmode< T >::copyPmode(), and pmode< T >::operator=().

60 {return _cp;}
T _cp
Definition: pmode.h:242
template<class T >
T& pmode< T >::getcpRef ( )
inline

Definition at line 68 of file pmode.h.

Referenced by Kspace< T >::makeDegenerate(), Kspace< T >::setCp(), and Kspace< T >::setCpNonGray().

68 {return _cp;}
T _cp
Definition: pmode.h:242
template<class T >
Field& pmode< T >::gete0field ( )
inline

Definition at line 76 of file pmode.h.

Referenced by PhononModel< T >::init(), PhononModel< T >::linearizePhononModel(), and PhononModel< T >::updatee0().

76 {return _e0field;}
Field _e0field
Definition: pmode.h:260
template<class T >
Field& pmode< T >::geteShifted ( )
inline

Definition at line 75 of file pmode.h.

Referenced by COMETDiscretizer< T >::COMETShifted(), and COMETDiscretizer< T >::updateeShifted().

75 {return _eShifted;}
Field _eShifted
Definition: pmode.h:257
template<class T >
Field& pmode< T >::getFASfield ( )
inline

Definition at line 79 of file pmode.h.

Referenced by COMETInterface< T >::addFAS().

79 {return _FASCorrection;}
Field _FASCorrection
Definition: pmode.h:269
template<class T >
Field& pmode< T >::getInjected ( )
inline

Definition at line 77 of file pmode.h.

77 {return _injected;}
Field _injected
Definition: pmode.h:263
template<class T >
T& pmode< T >::getOmegaRef ( )
inline

Definition at line 67 of file pmode.h.

67 {return _omega;}
T _omega
Definition: pmode.h:251
template<class T >
Refl_Map& pmode< T >::getreflmap ( )
inline

Definition at line 69 of file pmode.h.

Referenced by pmode< T >::copyPmode(), PhononModel< T >::init(), COMETModel< T >::init(), and pmode< T >::operator=().

69 {return _reflections;}
Refl_Map _reflections
Definition: pmode.h:272
template<class T >
Refl_Map pmode< T >::getreflmapValue ( )
inline

Definition at line 70 of file pmode.h.

70 {return _reflections;}
Refl_Map _reflections
Definition: pmode.h:272
template<class T >
Field& pmode< T >::getresid ( )
inline

Definition at line 78 of file pmode.h.

Referenced by COMETDiscretizer< T >::gatherResid(), and PhononModel< T >::init().

78 {return _residual;}
Field _residual
Definition: pmode.h:266
template<class T >
T pmode< T >::gettauN ( )
inline

Definition at line 62 of file pmode.h.

Referenced by COMETDiscretizer< T >::COMETShifted().

62 {return _tauN;}
T _tauN
Definition: pmode.h:248
template<class T >
T& pmode< T >::getTauNRef ( )
inline

Definition at line 66 of file pmode.h.

66 {return _tauN;}
T _tauN
Definition: pmode.h:248
template<class T >
T& pmode< T >::getTauRef ( )
inline

Definition at line 65 of file pmode.h.

65 {return _tau;}
T _tau
Definition: pmode.h:245
template<class T >
T pmode< T >::getTref ( )
inline

Definition at line 214 of file pmode.h.

Referenced by pmode< T >::copyPmode().

214 {return _Tref;}
T _Tref
Definition: pmode.h:277
template<class T >
Tvec pmode< T >::getv ( )
inline

Definition at line 59 of file pmode.h.

Referenced by PhononInterface< X >::applyInterfaceCondition(), PhononBoundary< X >::applyReflectingWall(), PhononBoundary< X >::applyTemperatureWall(), COMETBoundary< T >::applyTemperatureWallCoarse(), COMETBoundary< T >::applyTemperatureWallFine(), COMETModel< T >::binwiseHeatFluxIntegral(), Kspace< T >::calcBallisticInterface(), COMETModel< T >::calcBandFlux(), DensityOfStates< T >::calcBinFlux(), Kspace< T >::calcDiffuseE(), COMETModel< T >::calcModeFlux(), COMETDiscretizer< T >::COMETConvection(), COMETDiscretizer< T >::COMETConvectionCoarse(), COMETDiscretizer< T >::COMETConvectionFine(), pmode< T >::copyPmode(), Kspace< T >::FindBallisticHeatRate(), Kspace< T >::findKnStats(), Kspace< T >::findSpecs(), COMETInterface< T >::findWallTemp(), Kspace< T >::gete0(), Kspace< T >::gete0v(), Kspace< T >::getHollandConductivity(), Kspace< T >::getModewiseBallisticConductance(), Kspace< T >::getModewiseHollandConductivity(), Kspace< T >::getVelocities(), PhononModel< T >::HeatFluxIntegral(), COMETModel< T >::HeatFluxIntegral(), COMETModel< T >::HeatFluxIntegralFace(), PhononModel< T >::init(), COMETModel< T >::init(), PhononModel< T >::linearizePhononModel(), COMETInterface< T >::makeDMMcoeffs(), COMETModel< T >::modewiseHeatFluxIntegral(), pmode< T >::operator=(), COMETDiscretizer< T >::ScatterPhonons(), DensityOfStates< T >::sumOutgoing(), COMETDiscretizer< T >::updateGhostCoarse(), COMETDiscretizer< T >::updateGhostFine(), and PhononModel< T >::updateHeatFlux().

59 {return _vg;}
Tvec _vg
Definition: pmode.h:239
template<class T >
Tvec& pmode< T >::getVRef ( )
inline

Definition at line 64 of file pmode.h.

64 {return _vg;}
Tvec _vg
Definition: pmode.h:239
template<class T >
Tmode& pmode< T >::operator= ( Tmode o)
inline

Definition at line 203 of file pmode.h.

References pmode< T >::getcp(), pmode< T >::getomega(), pmode< T >::getreflmap(), pmode< T >::gettau(), and pmode< T >::getv().

204  {
205  _vg=o.getv();
206  _cp=o.getcp();
207  _tau=o.gettau();
208  _omega=o.getomega();
209  _reflections=o.getreflmap();
210 
211  return *this;
212  }
T _cp
Definition: pmode.h:242
T _omega
Definition: pmode.h:251
T _tau
Definition: pmode.h:245
Refl_Map _reflections
Definition: pmode.h:272
Tvec _vg
Definition: pmode.h:239
template<class T >
void pmode< T >::setIndex ( int  index)
inline

Definition at line 72 of file pmode.h.

72 {_index=index;}
int _index
Definition: pmode.h:275
template<class T >
void pmode< T >::setTref ( const T  Tref)
inline

Definition at line 80 of file pmode.h.

Referenced by Kspace< T >::setTref().

80 {_Tref=Tref;}
T _Tref
Definition: pmode.h:277

Member Data Documentation

template<class T >
T pmode< T >::_cp
private

Definition at line 242 of file pmode.h.

template<class T >
Field pmode< T >::_e0field
private

Definition at line 260 of file pmode.h.

template<class T >
Field pmode< T >::_efield
private

Definition at line 254 of file pmode.h.

template<class T >
Field pmode< T >::_eShifted
private

Definition at line 257 of file pmode.h.

template<class T >
Field pmode< T >::_FASCorrection
private

Definition at line 269 of file pmode.h.

template<class T >
int pmode< T >::_index
private

Definition at line 275 of file pmode.h.

template<class T >
Field pmode< T >::_injected
private

Definition at line 263 of file pmode.h.

template<class T >
T pmode< T >::_omega
private

Definition at line 251 of file pmode.h.

template<class T >
Refl_Map pmode< T >::_reflections
private

Definition at line 272 of file pmode.h.

template<class T >
Field pmode< T >::_residual
private

Definition at line 266 of file pmode.h.

template<class T >
T pmode< T >::_tau
private

Definition at line 245 of file pmode.h.

template<class T >
T pmode< T >::_tauN
private

Definition at line 248 of file pmode.h.

template<class T >
T pmode< T >::_Tref
private

Definition at line 277 of file pmode.h.

template<class T >
Tvec pmode< T >::_vg
private

Definition at line 239 of file pmode.h.


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