Skip to content

Commit 216e7fe

Browse files
Add private_attribute_id to output (#1420)
Co-authored-by: Ben <ben@flexcompute.com>
1 parent 2298f27 commit 216e7fe

File tree

4 files changed

+12
-2
lines changed

4 files changed

+12
-2
lines changed

flow360/component/simulation/outputs/outputs.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
Flow360BaseModel,
1515
RegistryLookup,
1616
)
17-
from flow360.component.simulation.framework.entity_base import EntityList
17+
from flow360.component.simulation.framework.entity_base import EntityList, generate_uuid
1818
from flow360.component.simulation.framework.expressions import StringExpression
1919
from flow360.component.simulation.framework.unique_list import UniqueItemList
2020
from flow360.component.simulation.models.surface_models import EntityListAllowingGhost
@@ -115,6 +115,7 @@ def _check_redefined_user_defined_fields(cls, value):
115115

116116
class _OutputBase(Flow360BaseModel):
117117
output_fields: UniqueItemList[str] = pd.Field()
118+
private_attribute_id: str = pd.Field(default_factory=generate_uuid, frozen=True)
118119

119120
@pd.field_validator("output_fields", mode="after")
120121
@classmethod
@@ -1000,6 +1001,7 @@ class AeroAcousticOutput(Flow360BaseModel):
10001001
+ "in addition to results for all wall surfaces combined.",
10011002
)
10021003
output_type: Literal["AeroAcousticOutput"] = pd.Field("AeroAcousticOutput", frozen=True)
1004+
private_attribute_id: str = pd.Field(default_factory=generate_uuid, frozen=True)
10031005

10041006
@pd.field_validator("observers", mode="after")
10051007
@classmethod
@@ -1105,6 +1107,7 @@ class StreamlineOutput(_OutputBase):
11051107
description="List of output variables. Vector-valued fields will be colored by their magnitude.",
11061108
)
11071109
output_type: Literal["StreamlineOutput"] = pd.Field("StreamlineOutput", frozen=True)
1110+
private_attribute_id: str = pd.Field(default_factory=generate_uuid, frozen=True)
11081111

11091112

11101113
class TimeAverageStreamlineOutput(StreamlineOutput):

tests/simulation/ref/simulation_with_project_variables.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -202,6 +202,7 @@
202202
}
203203
]
204204
},
205+
"private_attribute_id": "000",
205206
"frequency": -1,
206207
"frequency_offset": 0,
207208
"output_format": "paraview",
@@ -217,6 +218,7 @@
217218
}
218219
]
219220
},
221+
"private_attribute_id": "222",
220222
"name": "Probe output",
221223
"entities": {
222224
"stored_entities": [

tests/simulation/service/test_services_v2.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -706,6 +706,7 @@ def test_init():
706706
assert data["operating_condition"]["alpha"]["value"] == 0
707707
assert data["operating_condition"]["alpha"]["units"] == "degree"
708708
assert "velocity_magnitude" not in data["operating_condition"].keys()
709+
data["outputs"][0].pop("private_attribute_id", None)
709710
# to convert tuples to lists:
710711
data = json.loads(json.dumps(data))
711712
compare_dict_to_ref(data, "../../ref/simulation/service_init_geometry.json")
@@ -715,6 +716,7 @@ def test_init():
715716
unit_system_name="SI", length_unit="m", root_item_type="VolumeMesh"
716717
)
717718
assert "meshing" not in data
719+
data["outputs"][0].pop("private_attribute_id", None)
718720
# to convert tuples to lists:
719721
data = json.loads(json.dumps(data))
720722
compare_dict_to_ref(data, "../../ref/simulation/service_init_volume_mesh.json")
@@ -729,6 +731,7 @@ def test_init():
729731
assert data["private_attribute_asset_cache"]["project_length_unit"]["units"] == "cm"
730732

731733
assert data["models"][0]["roughness_height"]["units"] == "cm"
734+
data["outputs"][0].pop("private_attribute_id", None)
732735
# to convert tuples to lists:
733736
data = json.loads(json.dumps(data))
734737
compare_dict_to_ref(data, "../../ref/simulation/service_init_surface_mesh.json")

tests/simulation/test_expressions.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -861,13 +861,15 @@ def test_project_variables_serialization():
861861
VolumeOutput(
862862
output_fields=[
863863
bbb,
864-
]
864+
],
865+
private_attribute_id="000",
865866
),
866867
ProbeOutput(
867868
probe_points=[
868869
Point(name="pt1", location=(1, 2, 3), private_attribute_id="111")
869870
],
870871
output_fields=[bbb],
872+
private_attribute_id="222",
871873
),
872874
],
873875
)

0 commit comments

Comments
 (0)