Skip to content

Commit 6c5e9c5

Browse files
feat: Extend use of VariableCatalog (#4033)
Extend use of VariableCatalog to include: - additional pathline field for field data - off line data files #4032 --------- Co-authored-by: pyansys-ci-bot <[email protected]>
1 parent 2d4d5bb commit 6c5e9c5

File tree

7 files changed

+393
-275
lines changed

7 files changed

+393
-275
lines changed

doc/changelog.d/4033.added.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Extend use of VariableCatalog

src/ansys/fluent/core/file_session.py

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,11 @@
4343
_ReturnFieldData,
4444
)
4545
from ansys.fluent.core.filereader.case_file import CaseFile
46-
from ansys.fluent.core.filereader.data_file import DataFile
46+
from ansys.fluent.core.filereader.data_file import (
47+
DataFile,
48+
_to_scalar_field_name,
49+
_to_vector_field_name,
50+
)
4751
from ansys.fluent.core.utils.deprecate import all_deprecators
4852

4953

@@ -113,7 +117,7 @@ def _get_scalar_field_data(
113117
)
114118
]
115119
return self._returned_data._scalar_data(
116-
kwargs.get("field_name"),
120+
_to_scalar_field_name(kwargs.get("field_name")),
117121
kwargs.get("surfaces"),
118122
self.get_surface_ids(kwargs.get("surfaces")),
119123
scalar_field_data,
@@ -137,7 +141,7 @@ def _get_vector_field_data(
137141
) -> Dict[int | str, np.array]:
138142
vector_field_data = self.data[(("type", "vector-field"),)]
139143
return self._returned_data._vector_data(
140-
kwargs.get("field_name"),
144+
_to_vector_field_name(kwargs.get("field_name")),
141145
kwargs.get("surfaces"),
142146
self.get_surface_ids(kwargs.get("surfaces")),
143147
vector_field_data,
@@ -151,10 +155,16 @@ def _get_pathlines_field_data(
151155
zones = []
152156
del zones
153157
pathlines_data = self.data[
154-
(("type", "pathlines-field"), ("field", kwargs.get("field_name")))
158+
(
159+
("type", "pathlines-field"),
160+
(
161+
"field",
162+
_to_scalar_field_name(kwargs.get("field_name")),
163+
),
164+
)
155165
]
156166
return self._returned_data._pathlines_data(
157-
kwargs.get("field_name"),
167+
_to_scalar_field_name(kwargs.get("field_name")),
158168
kwargs.get("surfaces"),
159169
self.get_surface_ids(kwargs.get("surfaces")),
160170
pathlines_data,
@@ -848,6 +858,7 @@ def _get_vector_field_data(
848858
field_name: str,
849859
surfaces: List[int | str],
850860
):
861+
field_name = _to_vector_field_name(field_name)
851862
surface_ids = self.get_surface_ids(surfaces=surfaces)
852863
if (
853864
field_name.lower() != "velocity"

src/ansys/fluent/core/filereader/data_file.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,16 @@
5252
"Missing dependencies, use 'pip install ansys-fluent-core[reader]' to install them."
5353
) from exc
5454

55+
from ansys.fluent.core.variable_strategies import (
56+
FluentFieldDataNamingStrategy as vector_naming,
57+
)
58+
from ansys.fluent.core.variable_strategies import (
59+
FluentSVarNamingStrategy as scalar_naming,
60+
)
61+
62+
_to_scalar_field_name = scalar_naming().to_string if scalar_naming else lambda s: s
63+
_to_vector_field_name = vector_naming().to_string if vector_naming else lambda s: s
64+
5565

5666
class DataFile:
5767
"""Class to read a Fluent case file.
@@ -186,6 +196,7 @@ def get_face_scalar_field_data(
186196
-------
187197
Numpy array containing scalar field data for a particular phase, field and surface.
188198
"""
199+
field_name = _to_scalar_field_name(field_name)
189200
if ":" in field_name:
190201
field_name = field_name.split(":")[1]
191202
min_id, max_id = self._case_file_handle.get_mesh().get_surface_locs(surface_id)

src/ansys/fluent/core/services/field_data.py

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -637,11 +637,16 @@ def _add_pathlines_fields_request(
637637
raise ValueError("For 'path-lines' `field_name` should be unique.")
638638
else:
639639
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+
)
640645
self._fields_request.pathlinesFieldRequest.extend(
641646
self._fetched_data._pathlines_data(
642647
field_name,
643648
kwargs.get("surfaces"),
644-
additionalField=kwargs.get("additional_field_name"),
649+
additionalField=additional_field_name,
645650
provideParticleTimeField=kwargs.get("provide_particle_time_field"),
646651
dataLocation=(
647652
FieldDataProtoModule.DataLocation.Nodes
@@ -1424,13 +1429,16 @@ def _get_pathlines_field_data(
14241429
kwargs.get("field_name")
14251430
)
14261431
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+
)
14271437
fields_request.pathlinesFieldRequest.extend(
14281438
self._fetched_data._pathlines_data(
14291439
field_name,
14301440
surface_ids,
1431-
additionalField=kwargs.get(
1432-
"additional_field_name"
1433-
), # TODO an additional field name
1441+
additionalField=kwargs.get(additional_field_name),
14341442
provideParticleTimeField=kwargs.get("provide_particle_time_field"),
14351443
dataLocation=(
14361444
FieldDataProtoModule.DataLocation.Nodes

src/ansys/fluent/core/variable_strategies/svar.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ class FluentSVarNamingStrategy(MappingConversionStrategy):
4848
_c.STATIC_PRESSURE: "SV_P",
4949
# velocity
5050
_c.VELOCITY_X: "SV_U",
51-
_c.VELOCITY_Y: "SV_U",
51+
_c.VELOCITY_Y: "SV_V",
5252
_c.VELOCITY_Z: "SV_W",
5353
# density
5454
_c.DENSITY: "SV_DENSITY",

0 commit comments

Comments
 (0)