def setUp(self): TestCase.setUp(self) intforce = InteractionForcing(ELECTRON, HARD_BREMSSTRAHLUNG_EMISSION, -4) mat1 = PenelopeMaterial.pure(29, interaction_forcings=[intforce], maximum_step_length_m=1e4) mat1._index = 1 mat2 = VACUUM mat2._index = 0 surface1 = SurfaceImplicit() surface1._index = 0 surface2 = SurfaceImplicit() surface2._index = 1 self.module2 = Module(None, mat2) self.module2._index = 1 self.module1 = Module(None, mat1, 'Test') self.module1.add_surface(surface1, -1) self.module1.add_surface(surface2, 1) self.module1.add_module(self.module2) self.module1.rotation.phi_rad = radians(180) self.module1.shift.z_m = -1e3 self.module1._index = 0 self.materials_lookup = {0: mat2, 1: mat1} self.surfaces_lookup = {0: surface1, 1: surface2} self.modules_lookup = {0: self.module1, 1: self.module2}
def setUp(self): TestCase.setUp(self) coefficients = (1e3, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1e9, 0.0, 0.0) self.surface = SurfaceImplicit(coefficients, description='surface') self.surface.rotation.phi_rad = radians(180) self.surface.shift.z_m = -1e3 self.surface._index = 0
class TestSurfaceImplicit(TestCase): GEOFILE = [ 'SURFACE ( 1) surface', 'INDICES=( 0, 0, 0, 0, 0)', ' AXX=(+1.000000000000000E+03, 0) (DEFAULT=0.0)', ' AXY=(+0.000000000000000E+00, 0) (DEFAULT=0.0)', ' AXZ=(+0.000000000000000E+00, 0) (DEFAULT=0.0)', ' AYY=(+0.000000000000000E+00, 0) (DEFAULT=0.0)', ' AYZ=(+0.000000000000000E+00, 0) (DEFAULT=0.0)', ' AZZ=(+0.000000000000000E+00, 0) (DEFAULT=0.0)', ' AX=(+0.000000000000000E+00, 0) (DEFAULT=0.0)', ' AY=(+1.000000000000000E+09, 0) (DEFAULT=0.0)', ' AZ=(+0.000000000000000E+00, 0) (DEFAULT=0.0)', ' A0=(+0.000000000000000E+00, 0) (DEFAULT=0.0)', '1111111111111111111111111111111111111111111111111111111111111111', ' OMEGA=(+0.000000000000000E+00, 0) DEG (DEFAULT=0.0)', ' THETA=(+0.000000000000000E+00, 0) DEG (DEFAULT=0.0)', ' PHI=(+1.800000000000000E+02, 0) DEG (DEFAULT=0.0)', 'X-SHIFT=(+0.000000000000000E+00, 0) (DEFAULT=0.0)', 'Y-SHIFT=(+0.000000000000000E+00, 0) (DEFAULT=0.0)', 'Z-SHIFT=(-1.000000000000000E+05, 0) (DEFAULT=0.0)' ] def setUp(self): TestCase.setUp(self) coefficients = (1e3, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1e9, 0.0, 0.0) self.surface = SurfaceImplicit(coefficients, description='surface') self.surface.rotation.phi_rad = radians(180) self.surface.shift.z_m = -1e3 self.surface._index = 0 def tearDown(self): TestCase.tearDown(self) def testskeleton(self): self.assertEqual('surface', self.surface.description) self.assertAlmostEqual(radians(180), self.surface.rotation.phi_rad, 4) self.assertAlmostEqual(-1e3, self.surface.shift.z_m, 4) self.assertAlmostEqual(1e3, self.surface.coefficients['xx'], 4) self.assertAlmostEqual(0.0, self.surface.coefficients['xy'], 4) self.assertAlmostEqual(0.0, self.surface.coefficients['xz'], 4) self.assertAlmostEqual(0.0, self.surface.coefficients['yy'], 4) self.assertAlmostEqual(0.0, self.surface.coefficients['yz'], 4) self.assertAlmostEqual(0.0, self.surface.coefficients['zz'], 4) self.assertAlmostEqual(0.0, self.surface.coefficients['x'], 4) self.assertAlmostEqual(1e9, self.surface.coefficients['y'], 4) self.assertAlmostEqual(0.0, self.surface.coefficients['z'], 4) self.assertAlmostEqual(0.0, self.surface.coefficients['0'], 4) def testto_geo(self): lines = self.surface.to_geo() self.assertEqual(19, len(lines)) self.assertEqual(self.GEOFILE, lines)
class TestSurfaceImplicit(TestCase): GEOFILE = ['SURFACE ( 1) surface', 'INDICES=( 0, 0, 0, 0, 0)', ' AXX=(+1.000000000000000E+03, 0) (DEFAULT=0.0)', ' AXY=(+0.000000000000000E+00, 0) (DEFAULT=0.0)', ' AXZ=(+0.000000000000000E+00, 0) (DEFAULT=0.0)', ' AYY=(+0.000000000000000E+00, 0) (DEFAULT=0.0)', ' AYZ=(+0.000000000000000E+00, 0) (DEFAULT=0.0)', ' AZZ=(+0.000000000000000E+00, 0) (DEFAULT=0.0)', ' AX=(+0.000000000000000E+00, 0) (DEFAULT=0.0)', ' AY=(+1.000000000000000E+09, 0) (DEFAULT=0.0)', ' AZ=(+0.000000000000000E+00, 0) (DEFAULT=0.0)', ' A0=(+0.000000000000000E+00, 0) (DEFAULT=0.0)', '1111111111111111111111111111111111111111111111111111111111111111', ' OMEGA=(+0.000000000000000E+00, 0) DEG (DEFAULT=0.0)', ' THETA=(+0.000000000000000E+00, 0) DEG (DEFAULT=0.0)', ' PHI=(+1.800000000000000E+02, 0) DEG (DEFAULT=0.0)', 'X-SHIFT=(+0.000000000000000E+00, 0) (DEFAULT=0.0)', 'Y-SHIFT=(+0.000000000000000E+00, 0) (DEFAULT=0.0)', 'Z-SHIFT=(-1.000000000000000E+05, 0) (DEFAULT=0.0)'] def setUp(self): TestCase.setUp(self) coefficients = (1e3, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1e9, 0.0, 0.0) self.surface = SurfaceImplicit(coefficients, description='surface') self.surface.rotation.phi_rad = radians(180) self.surface.shift.z_m = -1e3 self.surface._index = 0 def tearDown(self): TestCase.tearDown(self) def testskeleton(self): self.assertEqual('surface', self.surface.description) self.assertAlmostEqual(radians(180), self.surface.rotation.phi_rad, 4) self.assertAlmostEqual(-1e3, self.surface.shift.z_m, 4) self.assertAlmostEqual(1e3, self.surface.coefficients['xx'], 4) self.assertAlmostEqual(0.0, self.surface.coefficients['xy'], 4) self.assertAlmostEqual(0.0, self.surface.coefficients['xz'], 4) self.assertAlmostEqual(0.0, self.surface.coefficients['yy'], 4) self.assertAlmostEqual(0.0, self.surface.coefficients['yz'], 4) self.assertAlmostEqual(0.0, self.surface.coefficients['zz'], 4) self.assertAlmostEqual(0.0, self.surface.coefficients['x'], 4) self.assertAlmostEqual(1e9, self.surface.coefficients['y'], 4) self.assertAlmostEqual(0.0, self.surface.coefficients['z'], 4) self.assertAlmostEqual(0.0, self.surface.coefficients['0'], 4) def testto_geo(self): lines = self.surface.to_geo() self.assertEqual(19, len(lines)) self.assertEqual(self.GEOFILE, lines)