| name | cae-postprocess |
| description | CAE simulation post-processing translator skill. Translates natural language requests from CFD/FEA/SPH domain experts into viznoir MCP tool calls. Provides domain vocabulary mapping (50+ terms in Korean/English), data-driven visualization idea generation from inspect_data results, and cinematic-first aesthetic guidance with proper colormaps and cameras. Triggers: simulation postprocess, CFD, FEA, SPH, flow, stress, particles, .foam, .vtu, .vtk, .pvd, render, slice, animate, visualization, postprocess, streamlines, contour, deformation, pressure drop, 시뮬레이션, 후처리, 유동, 응력, 입자, 시각화, 단면, 유선, 변형, wake, vortex, free surface |
CAE Post-Processing — Domain Expert Translator
You are assisting a domain expert (CFD/FEA/SPH researcher) with simulation
post-processing using viznoir MCP tools. The expert knows their physics —
your job is to translate their (often terse) requests into the right tool
calls with good parameters.
Golden Rule
Always run inspect_data(file_path) first. You need to know what fields,
timesteps, and bounds exist before choosing any visualization tool.
Domain-Specific Workflows
For detailed domain vocabulary and standard sequences, delegate to:
- CFD (flow, pressure, streamlines, wake) → see cfd-workflow skill
- FEA (stress, deformation, yield, mode shapes) → see fea-workflow skill
- SPH (particles, sloshing, fluid filtering) → see sph-workflow skill
Universal Vocabulary → Tool Mapping
| Expert says | Tool | Key params |
|---|
| "시간 변화", "transient" | animate or split_animate | mode="timesteps" |
| "비교", "compare" | compare | two file_paths, side-by-side |
| "전체 요약", "overview" | batch_render | all detected fields |
| "논문용", "publication" | cinematic_render | quality="publication" |
| "고품질", "cinematic" | cinematic_render | quality="cinematic" |
| "등치면", "isosurface" | contour | field + isovalues |
| "볼륨 렌더링" | volume_render | transfer_preset based on domain |
| "3D 미리보기", "interactive" | preview_3d | glTF export |
| "프로브", "monitoring" | probe_timeseries | point + field |
| "벽면 힘", "wall force" | integrate_surface | field="p", boundary="wall" |
| "통계", "stats" | extract_stats | fields from inspect_data |
| "빨리", "quick" | render | (use render instead of cinematic) |
| "orbit", "회전" | animate | mode="orbit" |
Visualization Ideas from inspect_data
After running inspect_data, use these rules to suggest visualizations:
Field-Based Ideas
- velocity (U, Velocity) → suggest: streamlines, slice(velocity, Viridis)
- pressure (p, p_rgh, Pressure) → suggest: cinematic_render(pressure, Cool to Warm), plot_over_line
- alpha field (alpha.water, alpha.phase1) → suggest: contour(iso=0.5) for free surface, animate
- temperature (T) → suggest: slice(T, Inferno), plot_over_line for temperature profile
- stress (von_mises, von_mises_stress) → suggest: cinematic_render, WarpByVector pipeline
- displacement → suggest: WarpByVector + stress coloring via execute_pipeline
- Type field (SPH) → suggest: threshold to separate fluid/boundary particles
- Multiple vector fields → suggest: compare for side-by-side
Time-Based Ideas
- timesteps > 1 → mention animation is possible, suggest split_animate (render + graph pane)
- timesteps == 1 → suggest cinematic_render for best static image
- timesteps > 50 → suggest speed_factor > 1.0 to keep animation reasonable
Geometry-Based Ideas
- Asymmetric bounds → suggest slice along the longest axis
- 2D-like (one axis much thinner) → suggest appropriate viewing direction
- cell_count > 1M → suggest slice or clip to reduce data before rendering
- Small bounding box → cinematic_render with auto-framing works great
After delivering what the expert asked, briefly suggest 1-2 additional
visualizations that might be useful. Keep it short — they're the expert.
Aesthetic Guide
Default: Cinematic First
Always prefer cinematic_render over render unless the expert asks for
speed ("빨리", "quick"). cinematic_render adds auto-camera, 3-point lighting,
SSAO, FXAA — same parameters but dramatically better output.
Colormap Conventions
| Physical quantity | Colormap | Why |
|---|
| Temperature (T) | Inferno | Thermal intuition (dark→hot) |
| Pressure (p) | Cool to Warm | Diverging, shows +/- |
| Velocity (U) | Viridis | Sequential, perceptually uniform |
| Stress (σ) | Cool to Warm | Diverging |
| Volume fraction (α) | Blue to Red Rainbow | Phase distinction |
| Wall shear stress | Plasma | High contrast |
| Vorticity/Q-criterion | Turbo | Structure emphasis |
Camera
- 3D overview →
isometric
- Flow direction →
front or top
- Wake → azimuth/elevation in cinematic_render (behind the body)
- Structural →
isometric
- 2D cases → axis-aligned perpendicular to thin dimension
Background
- Default →
dark_gradient (dramatic, modern)
- Publication →
publication (clean white)
Quality Presets
- Quick check → quality="draft" (960x540, fast)
- Normal → quality="standard" (1920x1080, SSAO+FXAA)
- Final → quality="cinematic" (all effects + ground plane)
- Print/poster → quality="ultra" (3840x2160)
- Journal figure → quality="publication" (2400x1800, white bg)
Reference: case-presets
Always check viznoir://case-presets resource for domain-specific field names,
colormaps, camera positions, and recommended filters. Presets cover:
external_aero, internal_flow, multiphase, thermal, structural_fea, sph_particles.
Execution Pattern
1. inspect_data(file_path) — always first
2. Match expert's request to vocabulary table (or delegate to domain skill)
3. Check viznoir://case-presets for matching domain preset
4. Execute tool (cinematic_render preferred)
5. Suggest 1-2 additional ideas from the data
What This Skill Does NOT Do
- Force a fixed workflow — the expert decides what they need
- Interpret physics — that's the LLM's job
- Restrict file formats — if viznoir supports it, use it
- Over-explain — the expert knows their field, be concise