|
| | FreeCarrierGainSolver2D (const std::string &name="") |
| |
| std::string | getClassName () const override |
| | Get name of solver.
|
| |
| std::string | getClassName () const |
| | Get name of solver.
|
| |
| std::string | getClassName () const |
| | Get name of solver.
|
| |
| | FreeCarrierGainSolver (const std::string &name="") |
| |
| virtual | ~FreeCarrierGainSolver () |
| |
| void | loadConfiguration (plask::XMLReader &reader, plask::Manager &manager) override |
| |
| double | getN (double F, double T, const ActiveRegionParams ¶ms) const |
| | Compute concentration for electron quasi-Fermi level.
|
| |
| double | getP (double F, double T, const ActiveRegionParams ¶ms) const |
| | Compute concentration for hole quasi-Fermi level.
|
| |
| double | detEl (double E, const ActiveRegionParams ¶ms, size_t well=0) |
| |
| double | detHh (double E, const ActiveRegionParams ¶ms, size_t well=0) |
| |
| double | detLh (double E, const ActiveRegionParams ¶ms, size_t well=0) |
| |
| shared_ptr< Material > | getSubstrate () const |
| | Get substrate material.
|
| |
| void | setSubstrate (shared_ptr< Material > material) |
| | Set substrate material.
|
| |
| void | findFermiLevels (double &Fc, double &Fv, double n, double T, const ActiveRegionParams ¶ms) const |
| | Compute quasi-Fermi levels for given concentration and temperature.
|
| |
| Tensor2< double > | getGain0 (double hw, double Fc, double Fv, double T, double nr, const ActiveRegionParams ¶ms) const |
| | Find gain before convolution.
|
| |
| Tensor2< double > | getGain (double hw, double Fc, double Fv, double T, double nr, const ActiveRegionParams ¶ms) const |
| | Find gain after convolution.
|
| |
| double | getT0 () const |
| |
| void | setT0 (double T) |
| |
| double | getLifeTime () const |
| |
| void | setLifeTime (double iLifeTime) |
| |
| double | getMatrixElem () const |
| |
| void | setMatrixElem (double iMatrixElem) |
| |
| bool | getStrained () const |
| |
| void | setStrained (bool value) |
| |
| shared_ptr< GainSpectrum< SolverWithMesh< GeometryT, MeshAxis > > > | getGainSpectrum (const Vec< DIM > &point) |
| |
| | SolverWithMesh (const std::string &name="") |
| |
| | ~SolverWithMesh () |
| |
| void | loadConfiguration (XMLReader &source, Manager &manager) override |
| | Load configuration from given source.
|
| |
| void | parseStandardConfiguration (XMLReader &source, Manager &manager, const std::string &expected_msg="solver configuration element") |
| |
| virtual void | onMeshChange (const typename MeshT::Event &PLASK_UNUSED(evt)) |
| | This method is called just after the mesh has been changed.
|
| |
| void | onGeometryChange (const Geometry::Event &PLASK_UNUSED(evt)) override |
| | This method is called when the geometry is changed.
|
| |
| MeshAxis & | meshRef () const |
| | Get current module mesh.
|
| |
| shared_ptr< MeshAxis > | getMesh () const |
| | Get current solver mesh.
|
| |
| void | setMesh (const shared_ptr< MeshAxis > &mesh) |
| | Set new mesh for the solver.
|
| |
| void | setMesh (shared_ptr< MeshGeneratorD< MeshT::DIM > > generator) |
| | Set new mesh got from generator.
|
| |
| | SolverOver (const std::string &name="") |
| |
| | ~SolverOver () |
| |
| void | parseStandardConfiguration (XMLReader &source, Manager &manager, const std::string &expected_msg="solver configuration element") |
| |
| virtual void | onGeometryChange (const Geometry::Event &) |
| | This method is called when the geometry is changed.
|
| |
| shared_ptr< SpaceT > | getGeometry () const |
| | Get current solver geometry space.
|
| |
| void | setGeometry (const shared_ptr< SpaceT > &geometry) |
| | Set new geometry for the solver.
|
| |
| bool | initCalculation () |
| | This should be called on beginning of each calculation method to ensure that solver will be initialized.
|
| |
| | Solver (const std::string &name="") |
| | Construct uninitialized solver.
|
| |
| virtual | ~Solver () |
| | Virtual destructor (for subclassing). Do nothing.
|
| |
| void | parseStandardConfiguration (XMLReader &source, Manager &manager, const std::string &expected_msg="solver configuration element") |
| | Load standard configuration (geometry, mesh) tags from source.
|
| |
| bool | isInitialized () |
| | Check if solver is already initialized.
|
| |
| void | invalidate () |
| | This method should be and is called if something important was changed: calculation space, mesh, etc.
|
| |
| std::string | getId () const |
| | Get solver id.
|
| |
| std::string | getName () const |
| |
| virtual std::string | getClassDescription () const |
| | Get a description of this solver.
|
| |
| template<typename ArgT = double, typename ValT = double> |
| DataLog< ArgT, ValT > | dataLog (const std::string &chart_name, const std::string &axis_arg_name, const std::string &axis_val_name) |
| |
| template<typename ArgT = double, typename ValT = double> |
| DataLog< ArgT, ValT > | dataLog (const std::string &axis_arg_name, const std::string &axis_val_name) |
| |
| template<typename ... Args> |
| void | writelog (LogLevel level, std::string msg, Args &&... params) const |
| | Log a message for this solver.
|
| |
|
| void | detectActiveRegions () override |
| | Detect active regions.
|
| |
| const LazyData< Tensor2< double > > | getGainData (Gain::EnumType what, const shared_ptr< const MeshD< 2 > > &dst_mesh, double wavelength, InterpolationMethod interp=INTERPOLATION_DEFAULT) override |
| |
| const LazyData< std::vector< double > > | getEnergyLevels (EnergyLevels::EnumType which, const shared_ptr< const MeshD< 2 > > &dst_mesh, InterpolationMethod interp=INTERPOLATION_DEFAULT) override |
| |
| double | level (WhichLevel which, double E, const ActiveRegionParams ¶ms, size_t start, size_t stop) const |
| | Compute determinant for energy levels.
|
| |
| double | level (WhichLevel which, double E, const ActiveRegionParams ¶ms) const |
| |
| double | level (WhichLevel which, double E, const ActiveRegionParams ¶ms, size_t well) const |
| |
| void | estimateWellLevels (WhichLevel which, ActiveRegionParams ¶ms, size_t qw) const |
| | Find levels estimates.
|
| |
| void | estimateAboveLevels (WhichLevel which, ActiveRegionParams ¶ms) const |
| | Find levels estimates.
|
| |
| std::pair< double, double > | fermi_bracket_and_solve (F f, double guess, double step, boost::uintmax_t &max_iter) const |
| | Walk the energy to bracket the Fermi level.
|
| |
| void | estimateLevels () |
| | Estimate energy levels.
|
| |
| void | onInitialize () override |
| | Initialize the solver.
|
| |
| void | onInvalidate () override |
| | Invalidate the gain.
|
| |
| void | onInputChange (ReceiverBase &, ReceiverBase::ChangeReason) |
| | Notify that gain was changed.
|
| |
| virtual const LazyData< Tensor2< double > > | getGainData (Gain::EnumType what, const shared_ptr< const MeshD< DIM > > &dst_mesh, double wavelength, InterpolationMethod interp=INTERPOLATION_DEFAULT)=0 |
| | Compute the gain on the mesh.
|
| |
| virtual const LazyData< std::vector< double > > | getEnergyLevels (EnergyLevels::EnumType which, const shared_ptr< const MeshD< DIM > > &dst_mesh, InterpolationMethod interp=INTERPOLATION_DEFAULT)=0 |
| | Compute the energy levels.
|
| |
| template<typename Boundary , typename ConditionT > |
| void | readBoundaryConditions (Manager &manager, XMLReader &reader, BoundaryConditions< Boundary, ConditionT > &dest) |
| | Read boundary conditions using information about the geometry of this solver.
|
| |
template<
typename GeometryT>
struct plask::gain::freecarrier::FreeCarrierGainSolver2D< GeometryT >
Gain solver using Fermi Golden Rule.
Definition at line 25 of file freecarrier2d.hpp.