Ejemplo n.º 1
0
 def test_TemporalController_CreateWithParameters(self):
     model_part = _SurrogateModelPart()
     io = file_io.Create(KratosMultiphysics.Parameters())
     controller_settings = KratosMultiphysics.Parameters()
     controller_settings.AddEmptyValue('controller_type').SetString(
         'temporal_controller')
     controller_settings.AddEmptyValue('time_frequency').SetDouble(2.0)
     controller_settings.AddEmptyValue('step_frequency').SetInt(3)
     controller = controllers.Create(model_part, io, controller_settings)
     self.assertEqual(controller.time_frequency, 2.0)
     self.assertEqual(controller.step_frequency, 3)
Ejemplo n.º 2
0
 def test_TemporalController_OperationCall(self):
     model_part = _SurrogateModelPart()
     controller_settings = KratosMultiphysics.Parameters()
     controller_settings.AddEmptyValue('controller_type').SetString(
         'temporal_controller')
     io = file_io.Create(KratosMultiphysics.Parameters())
     operation = MagicMock(spec=operations.ModelPartOutput)
     controller = controllers.Create(model_part, io, controller_settings)
     controller.Add(operation)
     with patch('core.file_io.KratosHDF5.HDF5FileSerial', autospec=True):
         for _ in range(10):
             controller()
         self.assertEqual(operation.call_count, 10)
Ejemplo n.º 3
0
 def test_TemporalController_CreateWithDefaults(self):
     model_part = _SurrogateModelPart()
     io = file_io.Create(KratosMultiphysics.Parameters())
     controller_settings = KratosMultiphysics.Parameters()
     controller_settings.AddEmptyValue('controller_type').SetString(
         'temporal_controller')
     controller = controllers.Create(model_part, io, controller_settings)
     self.assertEqual(controller.model_part, model_part)
     self.assertEqual(controller.io, io)
     self.assertEqual(controller.time_frequency, 1.0)
     self.assertEqual(controller.step_frequency, 1)
     self.assertEqual(controller.current_time, 0.0)
     self.assertEqual(controller.current_step, 0)
Ejemplo n.º 4
0
 def test_TemporalController_StepFrequency(self):
     model_part = _SurrogateModelPart()
     controller_settings = KratosMultiphysics.Parameters()
     controller_settings.AddEmptyValue('step_frequency').SetInt(2)
     controller_settings.AddEmptyValue('controller_type').SetString(
         'temporal_controller')
     with patch('core.file_io._HDF5SerialFileIO', autospec=True):
         io = file_io.Create(KratosMultiphysics.Parameters())
         controller = controllers.Create(model_part, io,
                                         controller_settings)
         for i in range(10):
             controller()
         io.Get.assert_called_with(model_part)
         self.assertEqual(io.Get.call_count, 5)
Ejemplo n.º 5
0
 def test_DefaultController(self):
     model_part = _SurrogateModelPart()
     io_settings = KratosMultiphysics.Parameters()
     controller_settings = KratosMultiphysics.Parameters()
     with patch('core.file_io.KratosHDF5.HDF5FileSerial', autospec=True):
         io = file_io.Create(io_settings)
         controller = controllers.Create(model_part, io,
                                         controller_settings)
         self.assertTrue(controller_settings.Has('controller_type'))
         self.assertEqual(
             controller_settings['controller_type'].GetString(),
             'default_controller')
         self.assertEqual(controller.model_part, model_part)
         self.assertEqual(controller.io, io)
         operation = MagicMock(spec=operations.ModelPartOutput)
         controller()
         controller.Add(operation)
         for i in range(10):
             controller()
         self.assertEqual(operation.call_count, 10)
Ejemplo n.º 6
0
 def test_CreateNonExistingController(self):
     settings = KratosMultiphysics.Parameters()
     settings.AddEmptyValue('controller_type').SetString('abcdefg')
     with self.assertRaisesRegex(
             ValueError, r'"controller_type" has invalid value "abcdefg"'):
         controllers.Create(MagicMock(), MagicMock(), settings)