{
  "visualization_id": "HX-CFD-QUAL-01-V7-FLOWLINES-V1",
  "source_case": "retained HX-CFD-QUAL-01 v7 OpenFOAM case (local path withheld)",
  "source_solver_fields": "retained OpenFOAM v7 U fields, exported at 0, 200, 400, 600, 800 s",
  "regions": [
    "shell",
    "tube"
  ],
  "times_s": [
    0,
    200,
    400,
    600,
    800
  ],
  "artifacts": {
    "time_collection": "hx_cfd_qual_01_v7_flowlines.pvd",
    "frames": [
      "hx_cfd_qual_01_v7_flowlines_0.png",
      "hx_cfd_qual_01_v7_flowlines_200.png",
      "hx_cfd_qual_01_v7_flowlines_400.png",
      "hx_cfd_qual_01_v7_flowlines_600.png",
      "hx_cfd_qual_01_v7_flowlines_800.png"
    ],
    "streamline_files": [
      "shell_flowlines_0.vtp",
      "tube_flowlines_0.vtp",
      "shell_flowlines_200.vtp",
      "tube_flowlines_200.vtp",
      "shell_flowlines_400.vtp",
      "tube_flowlines_400.vtp",
      "shell_flowlines_600.vtp",
      "tube_flowlines_600.vtp",
      "shell_flowlines_800.vtp",
      "tube_flowlines_800.vtp"
    ]
  },
  "amplified_diagnostic": {
    "reference_time_s": 0,
    "scalar": "delta_speed_pct = 100 * (|U(t)| - |U(0)|) / |U(0)|",
    "color_scale_pct": [
      -10.0,
      10.0
    ],
    "clip_is_visual_only": true,
    "time_collection": "hx_cfd_qual_01_v7_flowlines_amplified.pvd",
    "frames": [
      "hx_cfd_qual_01_v7_flowlines_amplified_0.png",
      "hx_cfd_qual_01_v7_flowlines_amplified_200.png",
      "hx_cfd_qual_01_v7_flowlines_amplified_400.png",
      "hx_cfd_qual_01_v7_flowlines_amplified_600.png",
      "hx_cfd_qual_01_v7_flowlines_amplified_800.png"
    ],
    "streamline_files": [
      "shell_flowlines_amplified_0.vtp",
      "tube_flowlines_amplified_0.vtp",
      "shell_flowlines_amplified_200.vtp",
      "tube_flowlines_amplified_200.vtp",
      "shell_flowlines_amplified_400.vtp",
      "tube_flowlines_amplified_400.vtp",
      "shell_flowlines_amplified_600.vtp",
      "tube_flowlines_amplified_600.vtp",
      "shell_flowlines_amplified_800.vtp",
      "tube_flowlines_amplified_800.vtp"
    ],
    "interpolated_recording": "hx_cfd_qual_01_v7_flowlines_amplified_interpolated.mp4",
    "interpolated_gif_fallback": "hx_cfd_qual_01_flowlines_amplified_interpolated.gif",
    "interpolation_note": "The five-second smooth recording interpolates rendered colors between retained snapshots for readability; intermediate frames are not solver time steps.",
    "interpretation": "Diagnostic color amplification; underlying U fields and geometry are unchanged."
  },
  "flow_entry_presentation": {
    "source_time_s": 800,
    "recording": "hx_cfd_qual_01_v7_flow_entry.mp4",
    "gif_fallback": "hx_cfd_qual_01_flow_entry.gif",
    "poster": "hx_cfd_qual_01_v7_flow_entry_800.png",
    "frames": 75,
    "frame_rate_fps": 15,
    "duration_s": 5.0,
    "interpretation": "The retained t=800 s streamlines are progressively revealed from the inlet to the outlet and colored by the retained T field on the fixed 435-600 K scale. This is a presentation aid, not a zero-initialized solver transient."
  },
  "thermal_gradient_presentation": {
    "source_field": "T",
    "times_s": [0, 200, 400, 600, 800],
    "color_scale_K": [435.0, 600.0],
    "recording_segment": "combined story recording, seconds 10-15",
    "interpretation": "Retained streamline temperatures rendered with a fixed, high-contrast Kelvin scale; the display contrast does not alter solver values."
  },
  "combined_story": {
    "recording": "hx_cfd_qual_01_v7_flow_story.mp4",
    "gif_fallback": "hx_cfd_qual_01_flow_story.gif",
    "poster": "hx_cfd_qual_01_v7_flow_story_poster.png",
    "duration_s": 15.0,
    "frame_rate_fps": 15,
    "segments": [
      "thermal-colored flow entry reveal from empty view",
      "retained solver-time streamlines colored by T",
      "enhanced retained thermal-gradient view"
    ],
    "interpretation": "One presentation recording composed from the three derived views; the same fixed 435-600 K streamline gradient is used during the first ten seconds, and it contains no new solver run or field data."
  },
  "interpretation": "Genuine post-processing of retained solver velocity fields. The MP4/GIF is a time animation over one unchanged v7 case, not a cross-run montage.",
  "limitations": [
    "This is a visualization of the retained U field, not evidence that the numerical qualification gates passed.",
    "The solid is shown as a translucent solver geometry surface; streamlines are generated separately for shell and tube fluids."
  ]
}
