Skip to content

Commit 83b687c

Browse files
committed
Address comments
1 parent ebecdff commit 83b687c

File tree

3 files changed

+95
-131
lines changed

3 files changed

+95
-131
lines changed

flow360/component/results/case_results.py

Lines changed: 9 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
import re
88
from enum import Enum
99
from pathlib import Path
10-
from typing import Callable, Dict, List, Optional
10+
from typing import Callable, Dict, List, Optional, get_args
1111

1212
import numpy as np
1313
import pydantic as pd
@@ -24,43 +24,22 @@
2424
ResultTarGZModel,
2525
)
2626
from flow360.component.results.results_utils import (
27-
_CD,
27+
BETDiskCSVHeaderOperation,
28+
DiskCoefficientsComputation,
29+
PorousMediumCoefficientsComputation,
30+
)
31+
from flow360.component.simulation.conversion import unit_converter as unit_converter_v2
32+
from flow360.component.simulation.outputs.output_fields import (
2833
_CD_PER_STRIP,
29-
_CD_PRESSURE,
30-
_CD_SKIN_FRICTION,
31-
_CL,
32-
_CL_PRESSURE,
33-
_CL_SKIN_FRICTION,
3434
_CUMULATIVE_CD_CURVE,
3535
_HEAT_FLUX,
3636
_X,
3737
_Y,
38-
BETDiskCSVHeaderOperation,
39-
DiskCoefficientsComputation,
40-
PorousMediumCoefficientsComputation,
41-
_CFx,
38+
ForceOutputCoefficientNames,
4239
_CFx_PER_SPAN,
43-
_CFx_PRESSURE,
44-
_CFx_SKIN_FRICTION,
45-
_CFy,
46-
_CFy_PRESSURE,
47-
_CFy_SKIN_FRICTION,
48-
_CFz,
4940
_CFz_PER_SPAN,
50-
_CFz_PRESSURE,
51-
_CFz_SKIN_FRICTION,
52-
_CMx,
53-
_CMx_PRESSURE,
54-
_CMx_SKIN_FRICTION,
55-
_CMy,
5641
_CMy_PER_SPAN,
57-
_CMy_PRESSURE,
58-
_CMy_SKIN_FRICTION,
59-
_CMz,
60-
_CMz_PRESSURE,
61-
_CMz_SKIN_FRICTION,
6242
)
63-
from flow360.component.simulation.conversion import unit_converter as unit_converter_v2
6443
from flow360.component.simulation.simulation_params import SimulationParams
6544
from flow360.component.simulation.unit_system import (
6645
Flow360UnitSystem,
@@ -186,32 +165,7 @@ class SurfaceForcesResultCSVModel(PerEntityResultCSVModel, TimeSeriesResultCSVMo
186165

187166
remote_file_name: str = pd.Field(CaseDownloadable.SURFACE_FORCES.value, frozen=True)
188167

189-
_variables: List[str] = [
190-
_CL,
191-
_CD,
192-
_CFx,
193-
_CFy,
194-
_CFz,
195-
_CMx,
196-
_CMy,
197-
_CMz,
198-
_CL_PRESSURE,
199-
_CD_PRESSURE,
200-
_CFx_PRESSURE,
201-
_CFy_PRESSURE,
202-
_CFz_PRESSURE,
203-
_CMx_PRESSURE,
204-
_CMy_PRESSURE,
205-
_CMz_PRESSURE,
206-
_CL_SKIN_FRICTION,
207-
_CD_SKIN_FRICTION,
208-
_CFx_SKIN_FRICTION,
209-
_CFy_SKIN_FRICTION,
210-
_CFz_SKIN_FRICTION,
211-
_CMx_SKIN_FRICTION,
212-
_CMy_SKIN_FRICTION,
213-
_CMz_SKIN_FRICTION,
214-
]
168+
_variables: List[str] = list(get_args(ForceOutputCoefficientNames))
215169

216170
def _preprocess(self, filter_physical_steps_only: bool = True, include_time: bool = True):
217171
"""

flow360/component/results/results_utils.py

Lines changed: 19 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -14,54 +14,20 @@
1414
ResultCSVModel,
1515
)
1616
from flow360.component.simulation.models.volume_models import BETDisk
17+
from flow360.component.simulation.outputs.output_fields import (
18+
_CD,
19+
_CL,
20+
_CFx,
21+
_CFy,
22+
_CFz,
23+
_CMx,
24+
_CMy,
25+
_CMz,
26+
)
1727
from flow360.component.simulation.simulation_params import SimulationParams
1828
from flow360.exceptions import Flow360ValueError
1929
from flow360.log import log
2030

21-
# pylint:disable=invalid-name
22-
_CL = "CL"
23-
_CD = "CD"
24-
_CFx = "CFx"
25-
_CFy = "CFy"
26-
_CFz = "CFz"
27-
_CMx = "CMx"
28-
_CMy = "CMy"
29-
_CMz = "CMz"
30-
_CL_PRESSURE = "CLPressure"
31-
_CD_PRESSURE = "CDPressure"
32-
_CFx_PRESSURE = "CFxPressure"
33-
_CFy_PRESSURE = "CFyPressure"
34-
_CFz_PRESSURE = "CFzPressure"
35-
_CMx_PRESSURE = "CMxPressure"
36-
_CMy_PRESSURE = "CMyPressure"
37-
_CMz_PRESSURE = "CMzPressure"
38-
_CL_SKIN_FRICTION = "CLSkinFriction"
39-
_CD_SKIN_FRICTION = "CDSkinFriction"
40-
_CFx_SKIN_FRICTION = "CFxSkinFriction"
41-
_CFy_SKIN_FRICTION = "CFySkinFriction"
42-
_CFz_SKIN_FRICTION = "CFzSkinFriction"
43-
_CMx_SKIN_FRICTION = "CMxSkinFriction"
44-
_CMy_SKIN_FRICTION = "CMySkinFriction"
45-
_CMz_SKIN_FRICTION = "CMzSkinFriction"
46-
_CL_VISCOUS = "CLViscous"
47-
_CD_VISCOUS = "CDViscous"
48-
_CFx_VISCOUS = "CFxViscous"
49-
_CFy_VISCOUS = "CFyViscous"
50-
_CFz_VISCOUS = "CFzViscous"
51-
_CMx_VISCOUS = "CMxViscous"
52-
_CMy_VISCOUS = "CMyViscous"
53-
_CMz_VISCOUS = "CMzViscous"
54-
_HEAT_TRANSFER = "HeatTransfer"
55-
_HEAT_FLUX = "HeatFlux"
56-
_X = "X"
57-
_Y = "Y"
58-
_CUMULATIVE_CD_CURVE = "Cumulative_CD_Curve"
59-
_CD_PER_STRIP = "CD_per_strip"
60-
_CFx_PER_SPAN = "CFx_per_span"
61-
_CFz_PER_SPAN = "CFz_per_span"
62-
_CMy_PER_SPAN = "CMy_per_span"
63-
64-
6531
# Static utilities for aerodynamic coefficient computations.
6632

6733
# Provides helper methods for computing aerodynamic coefficients using
@@ -153,7 +119,7 @@ def _get_lift_drag_direction(params: SimulationParams):
153119

154120

155121
def _get_dynamic_pressure_in_flow360_unit(params: SimulationParams):
156-
# pylint:disable=protected-access
122+
# pylint:disable=protected-access,invalid-name
157123
oc = params.operating_condition
158124
using_liquid_op = oc.type_name == "LiquidOperatingCondition"
159125

@@ -400,6 +366,7 @@ def compute_coefficients_static(
400366

401367
for zone_name in PorousMediumCoefficientsComputation._iter_zones(values):
402368
PorousMediumCoefficientsComputation._init_zone_output(out, zone_name)
369+
# pylint: disable=invalid-name
403370
for CF, CM, CL_val, CD_val in iterate_step_values_func(zone_name, {}, env, values):
404371
out[f"{zone_name}_{_CFx}"].append(CF[0])
405372
out[f"{zone_name}_{_CFy}"].append(CF[1])
@@ -424,7 +391,7 @@ class BETDiskCSVHeaderOperation:
424391

425392
@staticmethod
426393
def format_headers(
427-
BETCSVModel: ResultCSVModel,
394+
BETCSVModel: ResultCSVModel, # pylint: disable=invalid-name
428395
params: SimulationParams,
429396
pattern: str = "$BETName_$CylinderName",
430397
) -> LocalResultCSVModel:
@@ -460,15 +427,15 @@ def format_headers(
460427

461428
disk_rename_map = {}
462429

463-
diskCount = 0
430+
disk_count = 0
464431
for disk in bet_disks:
465432
for disk_local_index, cylinder in enumerate(disk.entities.stored_entities):
466433
new_name = pattern.replace("$BETName", disk.name)
467434
new_name = new_name.replace("$CylinderName", cylinder.name)
468435
new_name = new_name.replace("$DiskLocalIndex", str(disk_local_index))
469-
new_name = new_name.replace("$DiskGlobalIndex", str(diskCount))
470-
disk_rename_map[f"Disk{diskCount}"] = new_name
471-
diskCount = diskCount + 1
436+
new_name = new_name.replace("$DiskGlobalIndex", str(disk_count))
437+
disk_rename_map[f"Disk{disk_count}"] = new_name
438+
disk_count = disk_count + 1
472439

473440
for header, values in csv_data.items():
474441
matched = False
@@ -479,5 +446,5 @@ def format_headers(
479446
break
480447
if not matched:
481448
new_csv[header] = values
482-
newModel = LocalResultCSVModel().from_dict(new_csv)
483-
return newModel
449+
new_model = LocalResultCSVModel().from_dict(new_csv)
450+
return new_model

flow360/component/simulation/outputs/output_fields.py

Lines changed: 67 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,49 @@
3232
)
3333
from flow360.component.simulation.unit_system import u
3434

35+
# pylint:disable=invalid-name
36+
_CD = "CD"
37+
_CL = "CL"
38+
_CFx = "CFx"
39+
_CFy = "CFy"
40+
_CFz = "CFz"
41+
_CMx = "CMx"
42+
_CMy = "CMy"
43+
_CMz = "CMz"
44+
_CD_PRESSURE = "CDPressure"
45+
_CL_PRESSURE = "CLPressure"
46+
_CFx_PRESSURE = "CFxPressure"
47+
_CFy_PRESSURE = "CFyPressure"
48+
_CFz_PRESSURE = "CFzPressure"
49+
_CMx_PRESSURE = "CMxPressure"
50+
_CMy_PRESSURE = "CMyPressure"
51+
_CMz_PRESSURE = "CMzPressure"
52+
_CD_SKIN_FRICTION = "CDSkinFriction"
53+
_CL_SKIN_FRICTION = "CLSkinFriction"
54+
_CFx_SKIN_FRICTION = "CFxSkinFriction"
55+
_CFy_SKIN_FRICTION = "CFySkinFriction"
56+
_CFz_SKIN_FRICTION = "CFzSkinFriction"
57+
_CMx_SKIN_FRICTION = "CMxSkinFriction"
58+
_CMy_SKIN_FRICTION = "CMySkinFriction"
59+
_CMz_SKIN_FRICTION = "CMzSkinFriction"
60+
_CL_VISCOUS = "CLViscous"
61+
_CD_VISCOUS = "CDViscous"
62+
_CFx_VISCOUS = "CFxViscous"
63+
_CFy_VISCOUS = "CFyViscous"
64+
_CFz_VISCOUS = "CFzViscous"
65+
_CMx_VISCOUS = "CMxViscous"
66+
_CMy_VISCOUS = "CMyViscous"
67+
_CMz_VISCOUS = "CMzViscous"
68+
_HEAT_TRANSFER = "HeatTransfer"
69+
_HEAT_FLUX = "HeatFlux"
70+
_X = "X"
71+
_Y = "Y"
72+
_CUMULATIVE_CD_CURVE = "Cumulative_CD_Curve"
73+
_CD_PER_STRIP = "CD_per_strip"
74+
_CFx_PER_SPAN = "CFx_per_span"
75+
_CFz_PER_SPAN = "CFz_per_span"
76+
_CMy_PER_SPAN = "CMy_per_span"
77+
3578
# Coefficient of pressure
3679
# Coefficient of total pressure
3780
# Gradient of primitive solution
@@ -211,30 +254,30 @@
211254
]
212255

213256
ForceOutputCoefficientNames = Literal[
214-
"CD",
215-
"CL",
216-
"CFx",
217-
"CFy",
218-
"CFz",
219-
"CMx",
220-
"CMy",
221-
"CMz",
222-
"CDPressure",
223-
"CLPressure",
224-
"CFxPressure",
225-
"CFyPressure",
226-
"CFzPressure",
227-
"CMxPressure",
228-
"CMyPressure",
229-
"CMzPressure",
230-
"CDSkinFriction",
231-
"CLSkinFriction",
232-
"CFxSkinFriction",
233-
"CFySkinFriction",
234-
"CFzSkinFriction",
235-
"CMxSkinFriction",
236-
"CMySkinFriction",
237-
"CMzSkinFriction",
257+
_CL,
258+
_CD,
259+
_CFx,
260+
_CFy,
261+
_CFz,
262+
_CMx,
263+
_CMy,
264+
_CMz,
265+
_CL_PRESSURE,
266+
_CD_PRESSURE,
267+
_CFx_PRESSURE,
268+
_CFy_PRESSURE,
269+
_CFz_PRESSURE,
270+
_CMx_PRESSURE,
271+
_CMy_PRESSURE,
272+
_CMz_PRESSURE,
273+
_CL_SKIN_FRICTION,
274+
_CD_SKIN_FRICTION,
275+
_CFx_SKIN_FRICTION,
276+
_CFy_SKIN_FRICTION,
277+
_CFz_SKIN_FRICTION,
278+
_CMx_SKIN_FRICTION,
279+
_CMy_SKIN_FRICTION,
280+
_CMz_SKIN_FRICTION,
238281
]
239282
# pylint: disable=no-member
240283
_FIELD_UNIT_MAPPING = {

0 commit comments

Comments
 (0)