OEIL
|
LaserPowerBacktracer does exactly the reverse of the NonlinearLossModel which it inherits from. More...
#include <LaserPowerBacktracer.h>
Public Member Functions | |
LaserPowerBacktracer (double powerInWattBeforeReceiver, double waveguideLength) | |
Construct a new LaserPowerBacktracer object by specifying the coupled-out power (in Watt) by the end of the waveguide, and the waveguide length. More... | |
double | getFinalPower () const |
void | setFinalPower (double finalPower) |
This function sets the required coupled-out power in Watt. More... | |
void | updateModel () |
This function intends to recalculate the model-related parameters from the user-input parameters. More... | |
void | echoParameters () const |
double | totalLossAcrossWaveguide () |
double | nonlinearLossAcrossWaveguide () |
virtual void | operator() (const intensity_state &I, intensity_state &dIdz, const double z) const override |
This is a callback function for integating the optical power intensity over the wavelength, z. More... | |
![]() | |
NonlinearLossModel (double coupled_in_power, double waveguideLength) | |
virtual void | echoParameters () |
double | getLinearLossPerLength () const |
double | getCarrierLifetime () const |
double | getEffectiveModeArea () const |
double | getStartPosition () const |
double | getStopPosition () const |
double | getInitialPower () const |
double | getInitialIntensity () const |
void | setLinearLoss (double linearLoss_dB) |
void | setCarrierLifetime (double lifetime) |
void | setEffectiveModeArea (double Aeff) |
void | setWaveguideLength (double length) |
void | setInitialPower (double initalPower) |
void | resetParameters () |
void | setParametersFromFile () |
double | totalLossAcrossWaveguide () |
double | totalLossAcrossWaveguide (double initalPower) |
double | linearLossAcrossWaveguide () |
double | nonlinearLossAcrossWaveguide () |
double | nonlinearLossAcrossWaveguide (double initalPower) |
Additional Inherited Members | |
![]() | |
void | initParameters () |
void | updateModel () |
![]() | |
const double | kPhotonEnergy1550 |
const double | kStartPosition |
const double | kWavelength |
const double | kStepLength |
double | alpha_dB_ |
double | carrier_lifetime_ |
double | effective_mode_area_ |
double | stop_position_ |
double | initial_power_ |
double | beta_ |
double | sigma_ |
double | photon_energy_ |
double | alpha_ |
double | gamma_ |
double | initial_intensity_ |
double | totalLoss_ |
LaserPowerBacktracer does exactly the reverse of the NonlinearLossModel which it inherits from.
It intakes the final power (in Watt) and calculates the initial coupled-in power and the corresponding propagation loss.
LaserPowerBacktracer::LaserPowerBacktracer | ( | double | powerInWattBeforeReceiver, |
double | waveguideLength | ||
) |
Construct a new LaserPowerBacktracer object by specifying the coupled-out power (in Watt) by the end of the waveguide, and the waveguide length.
powerInWattBeforeReceiver | The coupled-out power by the end of the waveguide. |
waveguideLength | Length of the waveguide in question. |
|
overridevirtual |
This is a callback function for integating the optical power intensity over the wavelength, z.
See boost::numeric::odeint for details.
I | denotes the optical power intensity at a given position on the waveguide. (Unit: Watt) |
dIdz | denotes the changing rate of power intensity at a given position. |
z | denote the postion on the given waveguide. |
Reimplemented from NonlinearLossModel.
void LaserPowerBacktracer::setFinalPower | ( | double | finalPower | ) |
This function sets the required coupled-out power in Watt.
This function sets the required power level by the end of the waveguide.
finalPower | The final power in Watt. |
The nonlinear loss will the be calculated by backtracing the coupled-in power.
finalPower | The required power level in Watt by the end of the waveguide. |
void LaserPowerBacktracer::updateModel | ( | ) |
This function intends to recalculate the model-related parameters from the user-input parameters.
This function should be invoked at leaser once before nonlinear loss is calculated.