PLaSK library
|
#include <plask/properties/gain.hpp>
Public Types | |
enum | EnumType { GAIN = 0 , DGDN = 1 } |
Public Types inherited from plask::MultiFieldProperty< Tensor2< double >, double > | |
typedef size_t | EnumType |
Default value enumeration type. | |
Public Types inherited from plask::Property< _propertyType, _ValueType2D, _ValueType3D, _ExtraParams > | |
typedef _ValueType2D | ValueType2D |
Type of provided value in 2D space. | |
typedef _ValueType3D | ValueType3D |
Type of provided value in 3D space. | |
typedef VariadicTemplateTypesHolder< _ExtraParams... > | ExtraParams |
Extra parameters passed as arguments to provider to get value. | |
Static Public Attributes | |
static constexpr size_t | NUM_VALS = 2 |
static constexpr const char * | NAME = "material gain" |
static constexpr const char * | UNIT = "1/cm" |
Static Public Attributes inherited from plask::Property< _propertyType, _ValueType2D, _ValueType3D, _ExtraParams > | |
static const PropertyType | propertyType = _propertyType |
Type of property. | |
static constexpr const char * | NAME = PropertyTypeToProviderName<_propertyType>::value |
Name of the property. | |
static constexpr bool | hasUniqueValueType = false |
true only if property use same value type in 2D and 3D space | |
Additional Inherited Members | |
Static Public Member Functions inherited from plask::Property< _propertyType, _ValueType2D, _ValueType3D, _ExtraParams > | |
static ValueType2D | getDefaultValue2D () |
Return default value of the property (usually zero) in 2D space. | |
static ValueType3D | getDefaultValue3D () |
Return default value of the property (usually zero) in 3D space. | |
Material gain (1/cm).
This is the gain property. It should have the same unit as absorption. Providers must set it to NaN everywhere outside of the active region. Optical solvers should thread NaNs as zeros. It can also be set negative in case there is some absorption which is not covered by the material database.
It can also be a gain profile. Some optical solvers can determine the threshold gain as a constant, which should be added to it in order to obtain the zero modal gain (threshold). The regions where it is NaN should not be affected.
Providers of material gain should accept additional parameter, which is the wavelength for which the gain should be computed.