bedrock-checkpoints / README.md
hosseinbv's picture
Update model card with checkpoint metadata
67a81a5 verified
|
Raw
History Blame Contribute Delete
3.69 kB
---
library_name: pytorch
pipeline_tag: other
tags:
- physics-informed-neural-network
- pinn
- cfd
- computational-fluid-dynamics
- starccm
license: other
---
# bedrock-checkpoints
Physics-informed neural-network (PINN) surrogate trained on STAR-CCM+ RANS CFD
results (coolant flow). The model maps geometry/coordinate features to the steady
flow fields. Metadata below is auto-extracted from the checkpoint header.
## Checkpoint: `starccm_pinn_model_step_00390000.pt`
| | |
|---|---|
| Training step | 390000 |
| Feature schema | `canonical_local_chart_dim55_geometry_conditioned_v1` |
| **Input features (semantic)** | **55** |
| Encoded input dim (Fourier) | 935 = 55 raw + 55Γ—2Γ—8 freqs |
| **Output variables** | **7** |
| Hidden width | 384 |
| Linear layers | 7 |
| **Main network params** | **1,101,319** |
| Pressure-head params | 1,485 |
| **Total params** | **1,102,804** |
## Outputs (7)
Order: `u, v, w, p, k, epsilon, temperature`
Supervised labels: `n/a` (remaining fields are latent / physics-constrained).
## Architecture (main field MLP)
Inputs are Fourier-encoded (8 frequencies, sin+cos) before the MLP.
| layer | shape (in β†’ out) |
|---|---|
| `mlp.net.0.weight` | 935 β†’ 384 |
| `mlp.net.2.weight` | 384 β†’ 384 |
| `mlp.net.4.weight` | 384 β†’ 384 |
| `mlp.net.6.weight` | 384 β†’ 384 |
| `mlp.net.8.weight` | 384 β†’ 384 |
| `mlp.net.10.weight` | 384 β†’ 384 |
| `mlp.net.12.weight` | 384 β†’ 7 |
A separate **pressure head** regresses a scalar pressure-drop (Ξ”P) per geometry
from 11 geometry descriptors (`geometry_mlp: 11 β†’ 32 β†’ 32 β†’ 1`).
## STAR-CCM+ physics
| setting | value |
|---|---|
| turbulence_model | RkeTwoLayerTurbModel |
| wall_treatment | KeTwoLayerAllYplusWallTreatment |
| inlet_temperature_k | 298.15 |
| inlet_mass_flow_lpm | 25.0 |
| starccm_version | 2402.0001 / 19.02.013 |
## Input feature names (55)
```
0. x
1. y
2. z
3. distance_to_inlet
4. distance_to_outlet
5. distance_to_wall
6. axial_inlet_to_outlet
7. radial_to_inlet_outlet_axis
8. signed_distance_proxy
9. wall_proximity
10. source_x_norm
11. source_y_norm
12. source_z_norm
13. source_axis_axial
14. source_axis_lateral_1
15. source_axis_lateral_2
16. source_axis_radial
17. chart_center_x_norm
18. chart_center_y_norm
19. chart_center_z_norm
20. chart_center_axis_axial
21. chart_center_axis_lateral_1
22. chart_center_axis_lateral_2
23. chart_local_x
24. chart_local_y
25. chart_local_z
26. chart_local_axis_axial
27. chart_local_axis_lateral_1
28. chart_local_axis_lateral_2
29. chart_radius
30. chart_log_count
31. chart_wall_distance_mean
32. chart_wall_distance_std
33. chart_cov_eig_1
34. chart_cov_eig_2
35. chart_cov_eig_3
36. chart_anisotropy
37. chart_planarity
38. wall_distance_x_minus
39. wall_distance_x_plus
40. wall_distance_y_minus
41. wall_distance_y_plus
42. wall_distance_z_minus
43. wall_distance_z_plus
44. surface_area
45. fluid_volume
46. surface_area_to_volume_ratio
47. equivalent_hydraulic_diameter
48. surface_genus
49. cross_section_area_min
50. cross_section_area_mean
51. cross_section_area_std
52. cross_section_area_min_ratio
53. number_of_strong_constrictions
54. high_curvature_surface_fraction
```
## Loading
```python
import torch
ckpt = torch.load("starccm_pinn_model_step_00390000.pt", map_location="cpu", weights_only=False)
model_state = ckpt["model"] # field-network weights
feature_names = ckpt["feature_names"] # 55 inputs
output_order = ckpt["output_order"] # 7 outputs
# input standardization: ckpt["feature_mean"], ckpt["feature_scale"]
# label standardization: ckpt["label_mean"], ckpt["label_scale"]
```
_Card generated from `hosseinbv/bedrock-checkpoints` checkpoint metadata._