def _update_links(self):

        self._optics = opticalproperties.TabulatedOpticalProperties(
            material=self._cal_dts['material'],
            temp=self._cal_dts['temp'],
            abs_author=self._cal_dts['optics_k_author'],
            ref_author=self._cal_dts['optics_n_author'])
    def __init__(self,
                 matterial='Si',
                 optical_properties=None,
                 intrinsic_carrier_concentration=None,
                 temp=None):
        """
        Can provide a specific instance of:
            A material. then it will attempt to look up the optical constants
                intrinsic carrier concentration

            if one of
            optical properties  or  ni module is provided
            These will then be used
        """
        self.matterial = matterial

        if optical_properties is None:
            self.optics = opticalproperties.TabulatedOpticalProperties(
                self.matterial)
        else:
            self.optics = optical_properties

        if intrinsic_carrier_concentration is None:
            self.ni = ni.IntrinsicCarrierDensity(self.matterial)
            self.ni.update()
        else:
            self.ni = intrinsic_carrier_concentration

        if temp is None:
            self.temp = 300.
        else:
            self.temp = temp

        self.optics.load(temp=temp)
    def _update_links(self):
        '''
        updates the models used, or takes a passed class
        '''

        self._optics = opticalproperties.TabulatedOpticalProperties(
            material=self._cal_dts['material'],
            temp=self._cal_dts['temp'],
            abs_author=self._cal_dts['optics_k_author'],
            ref_author=self._cal_dts['optics_n_author'])

        self._ni = ni.IntrinsicCarrierDensity(
            material=self._cal_dts['material'],
            author=self._cal_dts['ni_author'],
            temp=self._cal_dts['temp'])
Beispiel #4
0
    def __init__(self, matterial='Si', optical_constants=None, x=None):
        """
        Can provide a specific instance of:
            A material. then it will attempt to look up the optical constants
                intrinsic carrier concentration

            if one of
            optical properties  or  ni module is provided
            These will then be used
        """
        self.matterial = matterial

        if optical_constants is None:
            self.optics = opticalproperties.TabulatedOpticalProperties(
                matterial=self.matterial)
        else:
            self.optics = optical_constants

        if x is None:
            self.x = np.linspace(0, 0.018, 100)
        else:
            self.x = x