Pressure Coefficient#
The Pressure Coefficient, \(c_p\), is a dimensionless quantity that provides a generalized representation of the pressure distribution on a surface, or body, exposed to a fluid flow. It allows us to assess how the local pressure at a specific point differs from the surrounding free-stream pressure, accounting for the dynamic pressure of the fluid flow.
Definition#
The pressure coefficient is a dimensionless form of the pressure signal. It is obtained by the following expression:
By definition, the pressure coefficient is a local property for each triangle of the mesh.
Use Case#
It is used primarily for analysis and interpretation of the measured data.
It should always be generated, since it is the first analysis step. It is a fundamental property of the pressure normalization, and it is used to calculate the other coefficients. However, it is not the final result to be delivered to clients.
Artifacts#
In order to use the pressure normalization module, the user has to provide a set of artifacts:
A lnas file: It contains the information about the mesh.
HDF time series: It contains the pressure signals indexed by each of the mesh triangles.
Parameters file: It contains the values for adimensionalization as well as other configs parameters.
Static reference pressure time series: It contains the pressure signals for probes far away from the building.
Which outputs the following data:
Dimensionless time series: pressure coefficient time series for each triangle.
Statistical results: statistical values for the pressure coefficient time series, for each triangle.
VTK File: contains the statistical values inside a mesh representation (VTK).
An illustration of the pressure coefficient module pipeline can be seen below:
Usage#
The parameter file for converting the pressure data into pressure coefficient looks as follows:
pressure_coefficient:
default:
# Define how many chunks the output time series will be split into. Optional, defaults to 1
number_of_chunks: 10
# Select the time interval to filter the signal and calculate statistics
timestep_range: [10000, 20000]
# Velocity at the building interest height
simul_U_H: 0.05
# Simulation characteristic length scale for time scale conversion
simul_characteristic_length: 0.8445
# Define which statistics will be calculated
statistics:
- stats: "mean"
- stats: "rms"
- stats: "skewness"
- stats: "kurtosis"
- stats: "mean_eq"
params:
scale_factor: 0.61
- stats: "min"
params:
method_type: "Absolute"
- stats: "max"
params:
method_type: "Gumbel"
peak_duration: 3 # in seconds
event_duration: 600 # in seconds. Period of extreme event
n_subdivisions: 10 # Number of subdivisions
non_exceedance_probability: 0.78 # Confidence parameter in %
full_scale_U_H: 40
full_scale_characteristic_length: 22.4
- stats: "max"
params:
method_type: "Peak"
peak_factor: 3 # xtr = avg +- factor * rms
- stats: "max"
params:
method_type: "Moving Average"
window_size_interval: 3 # s
full_scale_U_H: 40
full_scale_characteristic_length: 22.4
To invoke and run the conversion, the following command can be used:
uv run python -m cfdmod.use_cases.pressure \
--output {OUTPUT_PATH} \
--p {PRESS_SERIES_PATH} \
--s {STATIC_PRESS_PATH} \
--mesh {LNAS_PATH} \
--config {CONFIG_PATH}
Another way to run the pressure coefficient conversion, is through the notebook
Data format#
Note
For more information about the normalized time scale (\(t^*\)), check the Normalization section
time_idx/point_idx |
Normalized time (\(t^*\)) |
0 |
1 |
2 |
|---|---|---|---|---|
0 |
0.0 |
1.25 |
1.15 |
1.32 |
0 |
1.0 |
1.1 |
1.5 |
1.13 |
scalar |
0 |
1 |
2 |
3 |
|---|---|---|---|---|
min |
-1.25 |
-0.9 |
-1.1 |
-0.2 |
max |
1.15 |
0.95 |
1.13 |
0.19 |
mean |
0.83 |
0.9 |
0.5 |
0.13 |
rms |
0.26 |
0.25 |
0.13 |
0.19 |
skewness |
1.15 |
-0.95 |
1.13 |
0.19 |