ansys-fluent-core 0.31.dev1__py3-none-any.whl → 0.32.dev0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of ansys-fluent-core might be problematic. Click here for more details.

Files changed (57) hide show
  1. ansys/fluent/core/__init__.py +11 -3
  2. ansys/fluent/core/codegen/settingsgen.py +6 -0
  3. ansys/fluent/core/codegen/tuigen.py +1 -2
  4. ansys/fluent/core/docker/docker_compose.py +243 -0
  5. ansys/fluent/core/field_data_interfaces.py +6 -0
  6. ansys/fluent/core/file_session.py +158 -128
  7. ansys/fluent/core/filereader/data_file.py +11 -0
  8. ansys/fluent/core/filereader/pre_processor.py +22 -0
  9. ansys/fluent/core/fluent_connection.py +48 -20
  10. ansys/fluent/core/generated/api_tree/api_objects.json +1 -1
  11. ansys/fluent/core/generated/datamodel_231/flicing.py +20 -20
  12. ansys/fluent/core/generated/datamodel_231/meshing.py +228 -228
  13. ansys/fluent/core/generated/datamodel_232/flicing.py +40 -40
  14. ansys/fluent/core/generated/datamodel_232/meshing.py +203 -203
  15. ansys/fluent/core/generated/datamodel_241/flicing.py +20 -20
  16. ansys/fluent/core/generated/datamodel_241/meshing.py +303 -303
  17. ansys/fluent/core/generated/datamodel_242/flicing.py +35 -35
  18. ansys/fluent/core/generated/datamodel_242/meshing.py +334 -334
  19. ansys/fluent/core/generated/datamodel_242/part_management.py +6 -6
  20. ansys/fluent/core/generated/datamodel_251/flicing.py +40 -40
  21. ansys/fluent/core/generated/datamodel_251/meshing.py +366 -366
  22. ansys/fluent/core/generated/datamodel_251/part_management.py +6 -6
  23. ansys/fluent/core/generated/datamodel_252/flicing.py +30 -30
  24. ansys/fluent/core/generated/datamodel_252/meshing.py +816 -454
  25. ansys/fluent/core/generated/datamodel_252/part_management.py +10 -10
  26. ansys/fluent/core/generated/datamodel_252/preferences.py +1 -1
  27. ansys/fluent/core/generated/fluent_version_252.py +4 -4
  28. ansys/fluent/core/generated/solver/settings_252.py +2241 -1649
  29. ansys/fluent/core/generated/solver/settings_252.pyi +1785 -1430
  30. ansys/fluent/core/generated/solver/settings_builtin.pyi +104 -0
  31. ansys/fluent/core/generated/solver/tui_252.py +126 -2
  32. ansys/fluent/core/launcher/container_launcher.py +39 -8
  33. ansys/fluent/core/launcher/fluent_container.py +60 -22
  34. ansys/fluent/core/launcher/launcher.py +24 -13
  35. ansys/fluent/core/launcher/launcher_utils.py +8 -0
  36. ansys/fluent/core/launcher/process_launch_string.py +2 -6
  37. ansys/fluent/core/report.py +2 -0
  38. ansys/fluent/core/services/deprecated_field_data.py +74 -46
  39. ansys/fluent/core/services/field_data.py +104 -69
  40. ansys/fluent/core/services/reduction.py +55 -66
  41. ansys/fluent/core/services/solution_variables.py +9 -1
  42. ansys/fluent/core/session.py +15 -12
  43. ansys/fluent/core/session_meshing.py +3 -0
  44. ansys/fluent/core/session_solver.py +20 -43
  45. ansys/fluent/core/session_utilities.py +429 -0
  46. ansys/fluent/core/solver/flobject.py +28 -0
  47. ansys/fluent/core/utils/deprecate.py +46 -0
  48. ansys/fluent/core/utils/file_transfer_service.py +19 -3
  49. ansys/fluent/core/utils/fluent_version.py +42 -11
  50. ansys/fluent/core/variable_strategies/__init__.py +29 -0
  51. ansys/fluent/core/variable_strategies/expr.py +186 -0
  52. ansys/fluent/core/variable_strategies/field.py +186 -0
  53. ansys/fluent/core/variable_strategies/svar.py +61 -0
  54. {ansys_fluent_core-0.31.dev1.dist-info → ansys_fluent_core-0.32.dev0.dist-info}/METADATA +7 -5
  55. {ansys_fluent_core-0.31.dev1.dist-info → ansys_fluent_core-0.32.dev0.dist-info}/RECORD +57 -51
  56. {ansys_fluent_core-0.31.dev1.dist-info → ansys_fluent_core-0.32.dev0.dist-info}/LICENSE +0 -0
  57. {ansys_fluent_core-0.31.dev1.dist-info → ansys_fluent_core-0.32.dev0.dist-info}/WHEEL +0 -0
@@ -42,7 +42,7 @@ from ansys.fluent.core.services.field_data import (
42
42
  get_fields_request,
43
43
  override_help_text,
44
44
  )
45
- from ansys.fluent.core.utils.deprecate import deprecate_argument
45
+ from ansys.fluent.core.utils.deprecate import all_deprecators
46
46
 
47
47
  DEPRECATION_MSG = "'field_data_old' is deprecated. Use 'field_data' instead."
48
48
 
@@ -297,15 +297,23 @@ class DeprecatedFieldData:
297
297
  self._allowed_vector_field_names,
298
298
  )
299
299
 
300
- @deprecate_argument(
301
- old_arg="surface_name",
302
- new_arg="surfaces",
303
- converter=lambda old_arg_val: [old_arg_val] if old_arg_val else [],
304
- )
305
- @deprecate_argument(
306
- old_arg="surface_ids",
307
- new_arg="surfaces",
308
- converter=lambda old_arg_val: old_arg_val or [],
300
+ @all_deprecators(
301
+ deprecate_arg_mappings=[
302
+ {
303
+ "old_arg": "surface_names",
304
+ "new_arg": "surfaces",
305
+ "converter": lambda old_arg_val: [old_arg_val] if old_arg_val else [],
306
+ },
307
+ {
308
+ "old_arg": "surface_ids",
309
+ "new_arg": "surfaces",
310
+ "converter": lambda old_arg_val: old_arg_val or [],
311
+ },
312
+ ],
313
+ data_type_converter=None,
314
+ deprecated_version="v0.27.0",
315
+ deprecated_reason="Old arguments 'surface_ids' and 'surface_names' are deprecated. Use 'surfaces' instead.",
316
+ warn_message=DEPRECATION_MSG,
309
317
  )
310
318
  def get_scalar_field_data(
311
319
  self,
@@ -336,7 +344,6 @@ class DeprecatedFieldData:
336
344
  IDs are provided as input, a dictionary containing a map of surface IDs to scalar
337
345
  field data.
338
346
  """
339
- warnings.warn(DEPRECATION_MSG, PyFluentDeprecationWarning)
340
347
  surface_ids = _get_surface_ids(
341
348
  field_info=self._field_info,
342
349
  allowed_surface_names=self._allowed_surface_names,
@@ -376,20 +383,28 @@ class DeprecatedFieldData:
376
383
  for surface_id in surface_ids
377
384
  }
378
385
 
379
- @deprecate_argument(
380
- old_arg="surface_name",
381
- new_arg="surfaces",
382
- converter=lambda old_arg_val: [old_arg_val] if old_arg_val else [],
383
- )
384
- @deprecate_argument(
385
- old_arg="surface_ids",
386
- new_arg="surfaces",
387
- converter=lambda old_arg_val: old_arg_val or [],
388
- )
389
- @deprecate_argument(
390
- old_arg="data_type",
391
- new_arg="data_types",
392
- converter=lambda old_arg_val: [old_arg_val] if old_arg_val else [],
386
+ @all_deprecators(
387
+ deprecate_arg_mappings=[
388
+ {
389
+ "old_arg": "surface_names",
390
+ "new_arg": "surfaces",
391
+ "converter": lambda old_arg_val: [old_arg_val] if old_arg_val else [],
392
+ },
393
+ {
394
+ "old_arg": "surface_ids",
395
+ "new_arg": "surfaces",
396
+ "converter": lambda old_arg_val: old_arg_val or [],
397
+ },
398
+ {
399
+ "old_arg": "data_type",
400
+ "new_arg": "data_types",
401
+ "converter": lambda old_arg_val: [old_arg_val] if old_arg_val else [],
402
+ },
403
+ ],
404
+ data_type_converter=None,
405
+ deprecated_version="v0.27.0",
406
+ deprecated_reason="Old arguments 'surface_names', 'surface_ids' and 'data_type' are deprecated. Use 'surfaces' and 'data_types' instead.",
407
+ warn_message=DEPRECATION_MSG,
393
408
  )
394
409
  def get_surface_data(
395
410
  self,
@@ -421,7 +436,6 @@ class DeprecatedFieldData:
421
436
  If surface IDs are provided as input, a dictionary containing a map of surface IDs to face
422
437
  vertices, connectivity data, and normal or centroid data is returned.
423
438
  """
424
- warnings.warn(DEPRECATION_MSG, PyFluentDeprecationWarning)
425
439
  surface_ids = _get_surface_ids(
426
440
  field_info=self._field_info,
427
441
  allowed_surface_names=self._allowed_surface_names,
@@ -509,15 +523,23 @@ class DeprecatedFieldData:
509
523
  for surface_id in surface_ids
510
524
  }
511
525
 
512
- @deprecate_argument(
513
- old_arg="surface_name",
514
- new_arg="surfaces",
515
- converter=lambda old_arg_val: [old_arg_val] if old_arg_val else [],
516
- )
517
- @deprecate_argument(
518
- old_arg="surface_ids",
519
- new_arg="surfaces",
520
- converter=lambda old_arg_val: old_arg_val or [],
526
+ @all_deprecators(
527
+ deprecate_arg_mappings=[
528
+ {
529
+ "old_arg": "surface_names",
530
+ "new_arg": "surfaces",
531
+ "converter": lambda old_arg_val: [old_arg_val] if old_arg_val else [],
532
+ },
533
+ {
534
+ "old_arg": "surface_ids",
535
+ "new_arg": "surfaces",
536
+ "converter": lambda old_arg_val: old_arg_val or [],
537
+ },
538
+ ],
539
+ data_type_converter=None,
540
+ deprecated_version="v0.27.0",
541
+ deprecated_reason="Old arguments 'surface_ids' and 'surface_names' are deprecated. Use 'surfaces' instead.",
542
+ warn_message=DEPRECATION_MSG,
521
543
  )
522
544
  def get_vector_field_data(
523
545
  self,
@@ -540,7 +562,6 @@ class DeprecatedFieldData:
540
562
  If surface IDs are provided as input, a dictionary containing a map of
541
563
  surface IDs to vector field data is returned.
542
564
  """
543
- warnings.warn(DEPRECATION_MSG, PyFluentDeprecationWarning)
544
565
  surface_ids = _get_surface_ids(
545
566
  field_info=self._field_info,
546
567
  allowed_surface_names=self._allowed_surface_names,
@@ -579,15 +600,23 @@ class DeprecatedFieldData:
579
600
  for surface_id in surface_ids
580
601
  }
581
602
 
582
- @deprecate_argument(
583
- old_arg="surface_name",
584
- new_arg="surfaces",
585
- converter=lambda old_arg_val: [old_arg_val] if old_arg_val else [],
586
- )
587
- @deprecate_argument(
588
- old_arg="surface_ids",
589
- new_arg="surfaces",
590
- converter=lambda old_arg_val: old_arg_val or [],
603
+ @all_deprecators(
604
+ deprecate_arg_mappings=[
605
+ {
606
+ "old_arg": "surface_names",
607
+ "new_arg": "surfaces",
608
+ "converter": lambda old_arg_val: [old_arg_val] if old_arg_val else [],
609
+ },
610
+ {
611
+ "old_arg": "surface_ids",
612
+ "new_arg": "surfaces",
613
+ "converter": lambda old_arg_val: old_arg_val or [],
614
+ },
615
+ ],
616
+ data_type_converter=None,
617
+ deprecated_version="v0.27.0",
618
+ deprecated_reason="Old arguments 'surface_ids' and 'surface_names' are deprecated. Use 'surfaces' instead.",
619
+ warn_message=DEPRECATION_MSG,
591
620
  )
592
621
  def get_pathlines_field_data(
593
622
  self,
@@ -648,7 +677,6 @@ class DeprecatedFieldData:
648
677
  """
649
678
  if zones is None:
650
679
  zones = []
651
- warnings.warn(DEPRECATION_MSG, PyFluentDeprecationWarning)
652
680
  surface_ids = _get_surface_ids(
653
681
  field_info=self._field_info,
654
682
  allowed_surface_names=self._allowed_surface_names,
@@ -51,6 +51,7 @@ from ansys.fluent.core.field_data_interfaces import (
51
51
  _AllowedSurfaceNames,
52
52
  _AllowedVectorFieldNames,
53
53
  _ReturnFieldData,
54
+ _to_field_name_str,
54
55
  )
55
56
  from ansys.fluent.core.pyfluent_warnings import PyFluentDeprecationWarning
56
57
  from ansys.fluent.core.services.interceptors import (
@@ -60,7 +61,7 @@ from ansys.fluent.core.services.interceptors import (
60
61
  TracingInterceptor,
61
62
  )
62
63
  from ansys.fluent.core.services.streaming import StreamingService
63
- from ansys.fluent.core.utils.deprecate import deprecate_argument, deprecate_arguments
64
+ from ansys.fluent.core.utils.deprecate import all_deprecators
64
65
 
65
66
  logger = logging.getLogger("pyfluent.field_data")
66
67
 
@@ -428,7 +429,7 @@ class BaseFieldData:
428
429
  )
429
430
  ]
430
431
  return self._returned_data._scalar_data(
431
- kwargs.get("field_name"),
432
+ _to_field_name_str(kwargs.get("field_name")),
432
433
  kwargs.get("surfaces"),
433
434
  self.get_surface_ids(kwargs.get("surfaces")),
434
435
  scalar_field_data,
@@ -452,7 +453,7 @@ class BaseFieldData:
452
453
  ) -> Dict[int | str, np.array]:
453
454
  vector_field_data = self.data[(("type", "vector-field"),)]
454
455
  return self._returned_data._vector_data(
455
- kwargs.get("field_name"),
456
+ _to_field_name_str(kwargs.get("field_name")),
456
457
  kwargs.get("surfaces"),
457
458
  self.get_surface_ids(kwargs.get("surfaces")),
458
459
  vector_field_data,
@@ -465,11 +466,10 @@ class BaseFieldData:
465
466
  if kwargs.get("zones") is None:
466
467
  zones = []
467
468
  del zones
468
- pathlines_data = self.data[
469
- (("type", "pathlines-field"), ("field", kwargs.get("field_name")))
470
- ]
469
+ field_name = _to_field_name_str(kwargs.get("field_name"))
470
+ pathlines_data = self.data[(("type", "pathlines-field"), ("field", field_name))]
471
471
  return self._returned_data._pathlines_data(
472
- kwargs.get("field_name"),
472
+ field_name,
473
473
  kwargs.get("surfaces"),
474
474
  self.get_surface_ids(kwargs.get("surfaces")),
475
475
  pathlines_data,
@@ -637,11 +637,16 @@ class Transaction(FieldTransaction):
637
637
  raise ValueError("For 'path-lines' `field_name` should be unique.")
638
638
  else:
639
639
  self._pathline_field_data.append(field_name)
640
+ additional_field_name = kwargs.get("additional_field_name")
641
+ if additional_field_name:
642
+ additional_field_name = self._allowed_scalar_field_names.valid_name(
643
+ additional_field_name
644
+ )
640
645
  self._fields_request.pathlinesFieldRequest.extend(
641
646
  self._fetched_data._pathlines_data(
642
647
  field_name,
643
648
  kwargs.get("surfaces"),
644
- additionalField=kwargs.get("additional_field_name"),
649
+ additionalField=additional_field_name,
645
650
  provideParticleTimeField=kwargs.get("provide_particle_time_field"),
646
651
  dataLocation=(
647
652
  FieldDataProtoModule.DataLocation.Nodes
@@ -660,17 +665,24 @@ class Transaction(FieldTransaction):
660
665
  )
661
666
  )
662
667
 
663
- @deprecate_argument(
664
- old_arg="surface_names",
665
- new_arg="surfaces",
666
- converter=lambda old_arg_val: old_arg_val or [],
667
- )
668
- @deprecate_argument(
669
- old_arg="surface_ids",
670
- new_arg="surfaces",
671
- converter=lambda old_arg_val: old_arg_val or [],
668
+ @all_deprecators(
669
+ deprecate_arg_mappings=[
670
+ {
671
+ "old_arg": "surface_names",
672
+ "new_arg": "surfaces",
673
+ "converter": lambda old_arg_val: old_arg_val or [],
674
+ },
675
+ {
676
+ "old_arg": "surface_ids",
677
+ "new_arg": "surfaces",
678
+ "converter": lambda old_arg_val: old_arg_val or [],
679
+ },
680
+ ],
681
+ data_type_converter=_data_type_convertor,
682
+ deprecated_version="v0.23.dev0",
683
+ deprecated_reason="Old arguments 'surface_ids' and 'surface_names' are deprecated. Use 'surfaces' instead.",
684
+ warn_message="'add_surfaces_request' is deprecated, use 'add_requests' instead",
672
685
  )
673
- @deprecate_arguments(converter=_data_type_convertor)
674
686
  def add_surfaces_request(
675
687
  self,
676
688
  data_types: List[SurfaceDataType] | List[str],
@@ -679,25 +691,29 @@ class Transaction(FieldTransaction):
679
691
  ) -> None:
680
692
  """Add request to get surface data (vertices, face connectivity, centroids, and
681
693
  normals)."""
682
- warnings.warn(
683
- "'add_surfaces_request' is deprecated, use 'add_requests' instead",
684
- PyFluentDeprecationWarning,
685
- )
686
694
  self._add_surfaces_request(
687
695
  data_types=data_types,
688
696
  surfaces=self.get_surface_ids(surfaces),
689
697
  overset_mesh=overset_mesh,
690
698
  )
691
699
 
692
- @deprecate_argument(
693
- old_arg="surface_names",
694
- new_arg="surfaces",
695
- converter=lambda old_arg_val: old_arg_val or [],
696
- )
697
- @deprecate_argument(
698
- old_arg="surface_ids",
699
- new_arg="surfaces",
700
- converter=lambda old_arg_val: old_arg_val or [],
700
+ @all_deprecators(
701
+ deprecate_arg_mappings=[
702
+ {
703
+ "old_arg": "surface_names",
704
+ "new_arg": "surfaces",
705
+ "converter": lambda old_arg_val: old_arg_val or [],
706
+ },
707
+ {
708
+ "old_arg": "surface_ids",
709
+ "new_arg": "surfaces",
710
+ "converter": lambda old_arg_val: old_arg_val or [],
711
+ },
712
+ ],
713
+ data_type_converter=None,
714
+ deprecated_version="v0.23.dev0",
715
+ deprecated_reason="Old arguments 'surface_ids' and 'surface_names' are deprecated. Use 'surfaces' instead.",
716
+ warn_message="'add_scalar_fields_request' is deprecated, use 'add_requests' instead",
701
717
  )
702
718
  def add_scalar_fields_request(
703
719
  self,
@@ -707,10 +723,6 @@ class Transaction(FieldTransaction):
707
723
  boundary_value: bool | None = True,
708
724
  ) -> None:
709
725
  """Add request to get scalar field data on surfaces."""
710
- warnings.warn(
711
- "'add_scalar_fields_request' is deprecated, use 'add_requests' instead",
712
- PyFluentDeprecationWarning,
713
- )
714
726
  self._add_scalar_fields_request(
715
727
  field_name=field_name,
716
728
  surfaces=self.get_surface_ids(surfaces),
@@ -718,15 +730,23 @@ class Transaction(FieldTransaction):
718
730
  boundary_value=boundary_value,
719
731
  )
720
732
 
721
- @deprecate_argument(
722
- old_arg="surface_names",
723
- new_arg="surfaces",
724
- converter=lambda old_arg_val: old_arg_val or [],
725
- )
726
- @deprecate_argument(
727
- old_arg="surface_ids",
728
- new_arg="surfaces",
729
- converter=lambda old_arg_val: old_arg_val or [],
733
+ @all_deprecators(
734
+ deprecate_arg_mappings=[
735
+ {
736
+ "old_arg": "surface_names",
737
+ "new_arg": "surfaces",
738
+ "converter": lambda old_arg_val: old_arg_val or [],
739
+ },
740
+ {
741
+ "old_arg": "surface_ids",
742
+ "new_arg": "surfaces",
743
+ "converter": lambda old_arg_val: old_arg_val or [],
744
+ },
745
+ ],
746
+ data_type_converter=None,
747
+ deprecated_version="v0.23.dev0",
748
+ deprecated_reason="Old arguments 'surface_ids' and 'surface_names' are deprecated. Use 'surfaces' instead.",
749
+ warn_message="'add_vector_fields_request' is deprecated, use 'add_requests' instead",
730
750
  )
731
751
  def add_vector_fields_request(
732
752
  self,
@@ -734,23 +754,27 @@ class Transaction(FieldTransaction):
734
754
  surfaces: List[int | str],
735
755
  ) -> None:
736
756
  """Add request to get vector field data on surfaces."""
737
- warnings.warn(
738
- "'add_vector_fields_request' is deprecated, use 'add_requests' instead",
739
- PyFluentDeprecationWarning,
740
- )
741
757
  self._add_vector_fields_request(
742
758
  field_name=field_name, surfaces=self.get_surface_ids(surfaces)
743
759
  )
744
760
 
745
- @deprecate_argument(
746
- old_arg="surface_names",
747
- new_arg="surfaces",
748
- converter=lambda old_arg_val: old_arg_val or [],
749
- )
750
- @deprecate_argument(
751
- old_arg="surface_ids",
752
- new_arg="surfaces",
753
- converter=lambda old_arg_val: old_arg_val or [],
761
+ @all_deprecators(
762
+ deprecate_arg_mappings=[
763
+ {
764
+ "old_arg": "surface_names",
765
+ "new_arg": "surfaces",
766
+ "converter": lambda old_arg_val: old_arg_val or [],
767
+ },
768
+ {
769
+ "old_arg": "surface_ids",
770
+ "new_arg": "surfaces",
771
+ "converter": lambda old_arg_val: old_arg_val or [],
772
+ },
773
+ ],
774
+ data_type_converter=None,
775
+ deprecated_version="v0.23.dev0",
776
+ deprecated_reason="Old arguments 'surface_ids' and 'surface_names' are deprecated. Use 'surfaces' instead.",
777
+ warn_message="'add_pathlines_fields_request' is deprecated, use 'add_requests' instead",
754
778
  )
755
779
  def add_pathlines_fields_request(
756
780
  self,
@@ -770,10 +794,6 @@ class Transaction(FieldTransaction):
770
794
  zones: list | None = None,
771
795
  ) -> None:
772
796
  """Add request to get path-lines field on surfaces."""
773
- warnings.warn(
774
- "'add_pathlines_fields_request' is deprecated, use 'add_requests' instead",
775
- PyFluentDeprecationWarning,
776
- )
777
797
  self._add_pathlines_fields_request(
778
798
  field_name=field_name,
779
799
  surfaces=self.get_surface_ids(surfaces),
@@ -1247,6 +1267,7 @@ class LiveFieldData(BaseFieldData, FieldDataSource):
1247
1267
  self._field_info = field_info
1248
1268
  self.is_data_valid = is_data_valid
1249
1269
  self.scheme_eval = scheme_eval
1270
+
1250
1271
  self.get_zones_info = lambda: get_zones_info()()
1251
1272
 
1252
1273
  self._allowed_surface_names = _AllowedSurfaceNames(field_info)
@@ -1324,9 +1345,12 @@ class LiveFieldData(BaseFieldData, FieldDataSource):
1324
1345
  surfaces = kwargs.get("surfaces")
1325
1346
  surface_ids = self.get_surface_ids(surfaces)
1326
1347
  fields_request = get_fields_request()
1348
+ field_name = self._allowed_scalar_field_names.valid_name(
1349
+ kwargs.get("field_name")
1350
+ )
1327
1351
  fields_request.scalarFieldRequest.extend(
1328
1352
  self._fetched_data._scalar_data(
1329
- self._allowed_scalar_field_names.valid_name(kwargs.get("field_name")),
1353
+ field_name,
1330
1354
  self.get_surface_ids(surfaces),
1331
1355
  kwargs.get("node_value"),
1332
1356
  kwargs.get("boundary_value"),
@@ -1335,7 +1359,7 @@ class LiveFieldData(BaseFieldData, FieldDataSource):
1335
1359
  fields = ChunkParser().extract_fields(self._service.get_fields(fields_request))
1336
1360
  scalar_field_data = next(iter(fields.values()))
1337
1361
  return self._returned_data._scalar_data(
1338
- kwargs.get("field_name"), surfaces, surface_ids, scalar_field_data
1362
+ field_name, surfaces, surface_ids, scalar_field_data
1339
1363
  )
1340
1364
 
1341
1365
  def _get_surface_data(
@@ -1372,12 +1396,15 @@ class LiveFieldData(BaseFieldData, FieldDataSource):
1372
1396
  **kwargs,
1373
1397
  ) -> Dict[int | str, np.array]:
1374
1398
  surface_ids = self.get_surface_ids(kwargs.get("surfaces"))
1399
+ field_name = self._allowed_vector_field_names.valid_name(
1400
+ kwargs.get("field_name")
1401
+ )
1375
1402
  for surface_id in surface_ids:
1376
1403
  self.scheme_eval.string_eval(f"(surface? {surface_id})")
1377
1404
  fields_request = get_fields_request()
1378
1405
  fields_request.vectorFieldRequest.extend(
1379
1406
  self._fetched_data._vector_data(
1380
- self._allowed_vector_field_names.valid_name(kwargs.get("field_name")),
1407
+ field_name,
1381
1408
  surface_ids,
1382
1409
  )
1383
1410
  )
@@ -1385,7 +1412,7 @@ class LiveFieldData(BaseFieldData, FieldDataSource):
1385
1412
  vector_field_data = next(iter(fields.values()))
1386
1413
 
1387
1414
  return self._returned_data._vector_data(
1388
- kwargs.get("field_name"),
1415
+ field_name,
1389
1416
  kwargs.get("surfaces"),
1390
1417
  surface_ids,
1391
1418
  vector_field_data,
@@ -1398,12 +1425,20 @@ class LiveFieldData(BaseFieldData, FieldDataSource):
1398
1425
  if kwargs.get("zones") is None:
1399
1426
  zones = []
1400
1427
  surface_ids = self.get_surface_ids(kwargs.get("surfaces"))
1428
+ field_name = self._allowed_scalar_field_names.valid_name(
1429
+ kwargs.get("field_name")
1430
+ )
1401
1431
  fields_request = get_fields_request()
1432
+ additional_field_name = kwargs.get("additional_field_name")
1433
+ if additional_field_name:
1434
+ additional_field_name = self._allowed_scalar_field_names.valid_name(
1435
+ additional_field_name
1436
+ )
1402
1437
  fields_request.pathlinesFieldRequest.extend(
1403
1438
  self._fetched_data._pathlines_data(
1404
- self._allowed_scalar_field_names.valid_name(kwargs.get("field_name")),
1439
+ field_name,
1405
1440
  surface_ids,
1406
- additionalField=kwargs.get("additional_field_name"),
1441
+ additionalField=kwargs.get(additional_field_name),
1407
1442
  provideParticleTimeField=kwargs.get("provide_particle_time_field"),
1408
1443
  dataLocation=(
1409
1444
  FieldDataProtoModule.DataLocation.Nodes
@@ -1427,7 +1462,7 @@ class LiveFieldData(BaseFieldData, FieldDataSource):
1427
1462
  if self._deprecated_flag:
1428
1463
  self._deprecated_flag = False
1429
1464
  return self._returned_data._pathlines_data(
1430
- kwargs.get("field_name"),
1465
+ field_name,
1431
1466
  kwargs.get("surfaces"),
1432
1467
  surface_ids,
1433
1468
  pathlines_data,
@@ -1435,7 +1470,7 @@ class LiveFieldData(BaseFieldData, FieldDataSource):
1435
1470
  )
1436
1471
 
1437
1472
  return self._returned_data._pathlines_data(
1438
- kwargs.get("field_name"),
1473
+ field_name,
1439
1474
  kwargs.get("surfaces"),
1440
1475
  surface_ids,
1441
1476
  pathlines_data,