예제 #1
0
 def test_modelname(self):
     modelname = 'PM-45_56-B'
     model = femagtools.MachineModel({'name': modelname})
     self.assertEqual(modelname, model.name)
     modelname = 'PM-45/?@56-B'
     model = femagtools.MachineModel({'name': modelname})
     self.assertEqual('PM-4556-B', model.name)
예제 #2
0
    def test_magnet_material(self):
        m = dict(modelpars)
        m['magnet']['magnetSector'] = dict()
        m['magnet']['material'] = dict(name='MCV')
        model = femagtools.MachineModel(m)

        self.assertEqual(model.magnettype(), 'magnetSector')
        self.assertEqual(model.magnet['material'], {'name': 'MCV'})
예제 #3
0
 def test_unchanged(self):
     m = dict(modelpars)
     model = femagtools.MachineModel(m)
     decision_vars = [{
         'name': 'current',
         'steps': 2,
         'bounds': [50.0, 100.0]
     }, {
         'name': 'windings.num_wires',
         'steps': 3,
         'bounds': [10.0, 20.0]
     }]
     matched_attrs = [
         d for d in decision_vars if hasattr(model, d['name'].split('.')[0])
     ]
     self.assertTrue(matched_attrs)
예제 #4
0
 def test_getset(self):
     m = dict(modelpars)
     m['stator']['statorRotor3'] = dict(slot_h1=0.002,
                                        slot_h2=0.004,
                                        middle_line=0,
                                        tooth_width=0.009,
                                        wedge_width2=0.0,
                                        wedge_width1=0.0,
                                        slot_top_sh=0,
                                        slot_r2=0.002,
                                        slot_height=0.02,
                                        slot_r1=0.003,
                                        slot_width=0.003)
     model = femagtools.MachineModel(m)
     attr = 'stator.statorRotor3.slot_height'.split('.')
     self.assertEqual(model.get(attr), 20e-3)
     newvalue = 1
     model.set_value(attr, newvalue)
     self.assertEqual(model.get(attr), newvalue)