def test_get_energy(self): bracket = (from_unit(935, 'ueV'), from_unit(940, 'ueV')) self.assertAlmostEqual( self.model.get_energy(1 / self.model.period, self.mass, bracket, unit('ueV')) / unit('ueV'), 935.6, delta=0.1)
def test_get_energy(self): bracket = (from_unit(70, 'meV'), from_unit(72, 'meV')) self.assertAlmostEqual( self.model.get_energy(1 / self.model.period, self.mass, bracket, unit('ueV')) / unit('meV'), 71.2, delta=0.1)
def test_from_materials(self): # КДБ-100 res = DopedSemiconductor.from_materials( Si, from_unit(500, 'cm^2 / V s'), # Mobility for holes 'B', from_unit(100, 'Ohm cm')) self.assertEqual(res.Nd, 0) self.assertAlmostEqual(res.Na, 1.2e14, delta=0.1e14) # КЭМ-100 res = DopedSemiconductor.from_materials( Si, from_unit(1500, 'cm^2 / V s'), # Mobility for electrons 'As', from_unit(100, 'Ohm cm')) self.assertEqual(res.Na, 0) self.assertAlmostEqual(res.Nd, 4.1e13, delta=0.1e13) with self.assertRaises(KeyError): DopedSemiconductor.from_materials(Si, 1, 'UNKNOWN', 1)
def test_Id_sat(self): jfet = JFET(Si, 1e17, from_unit(1400, 'cm^2 /V s'), from_unit(1, 'um'), from_unit(1, 'um'), from_unit(10, 'um')) self.assertAlmostEqual( jfet.Id_sat(from_unit(5, 'V'), from_unit(1, 'V')) / unit('mA'), 9.3, delta=0.1)
def test_Ip(self): jfet = JFET(Si, 1e17, from_unit(1400, 'cm^2 /V s'), from_unit(1, 'um'), from_unit(1, 'um'), from_unit(10, 'um')) self.assertAlmostEqual(jfet.Ip() / unit('mA'), 11.5, delta=0.1)
def test_Vp(self): jfet = JFET(Si, 1e17, from_unit(1400, 'cm^2 /V s'), from_unit(1, 'um'), from_unit(1, 'um'), from_unit(10, 'um')) self.assertAlmostEqual(jfet.Vp() / unit('V'), 77.32, delta=0.01)
def setUp(self): self.mass = 0.49 * me self.model = DiracCombModel(from_unit(201, 'nm'), from_unit(-0.58, 'nm * eV'))
def setUp(self): self.mass = 0.49 * me self.model = KronigPenneyModel(from_unit(5, 'nm'), from_unit(10, 'nm'), from_unit(-0.58, 'eV'))
def test_convenience_methods(self): self.assertEqual(to_unit(1, 'V'), 1 / unit('V')) self.assertEqual(from_unit(1, 'V'), 1 * unit('V'))