/** * VTKExporter — Export simulation results in VTK Legacy ASCII format. * * Supported output types: * - Structured Points (RegularGrid3D scalar fields → thermal) * - Unstructured Grid (tetrahedral mesh → structural FEM) * - PolyData (line segments → hydraulic pipe networks) * * Output files can be opened directly in ParaView, VisIt, or any * VTK-compatible post-processing tool. * * Reference: VTK File Formats (Kitware), https://vtk.org/wp-content/uploads/2015/04/file-formats.pdf */ import type { RegularGrid3D } from '../RegularGrid3D'; export interface StructuredPointsOptions { /** Dataset title (appears in VTK header) */ title?: string; /** Scalar field name (e.g., "Temperature") */ fieldName?: string; /** Physical unit string for documentation (e.g., "K") */ unit?: string; } /** * Export a RegularGrid3D scalar field as VTK Structured Points. * Suitable for thermal temperature fields, saturation fields, etc. */ export declare function exportStructuredPoints(grid: RegularGrid3D, data: Float32Array, options?: StructuredPointsOptions): string; export interface UnstructuredGridOptions { title?: string; /** Names for point data arrays */ pointDataNames?: string[]; /** Names for cell data arrays */ cellDataNames?: string[]; } /** * Export a tetrahedral mesh with results as VTK Unstructured Grid. * Suitable for structural FEM results (displacements, Von Mises stress). * * @param nodes Node coordinates [x0,y0,z0, x1,y1,z1, ...] * @param elements Element connectivity [n0,n1,n2,n3, ...] (4 nodes per tet) * @param pointData Per-node scalar/vector arrays (e.g., displacements) * @param cellData Per-element scalar arrays (e.g., Von Mises stress) */ export declare function exportUnstructuredGrid(nodes: Float32Array | Float64Array, elements: Uint32Array | number[], pointData: { name: string; data: Float32Array | Float64Array; components: number; }[], cellData: { name: string; data: Float32Array | Float64Array; }[], options?: UnstructuredGridOptions): string; /** * Export a pipe network as VTK PolyData (lines with scalar data). * Suitable for hydraulic solver results (pressure, flow rate). * * @param nodePositions Node coordinates [x0,y0,z0, ...] * @param pipes Pipe connectivity [startNode, endNode] pairs * @param nodeData Per-node scalar arrays (e.g., pressure head) * @param pipeData Per-pipe scalar arrays (e.g., flow rate) */ export declare function exportPolyData(nodePositions: Float32Array | Float64Array | number[], pipes: [number, number][], nodeData: { name: string; data: Float32Array | Float64Array | number[]; }[], pipeData: { name: string; data: Float32Array | Float64Array | number[]; }[], options?: { title?: string; }): string; //# sourceMappingURL=VTKExporter.d.ts.map