/** * ReportGenerator — Produce markdown V&V summary reports. * * Generates a human-readable report of all verification benchmark results, * convergence orders, and pass/fail status. Suitable for inclusion in * publications or regulatory submissions. */ import type { ConvergenceStudyResult } from './ConvergenceAnalysis'; /** All solver types that can produce benchmark results */ export type SolverType = 'thermal' | 'structural' | 'hydraulic' | 'acoustic' | 'fdtd' | 'cfd' | 'molecular-dynamics'; /** A single data point in a convergence plot (log-log scale) */ export interface ConvergencePlotPoint { /** Characteristic mesh size h */ meshSize: number; /** log10(h) for direct plotting */ logMeshSize: number; /** L2 error at this mesh size */ errorL2: number; /** log10(L2 error) for direct plotting */ logErrorL2: number; /** L-infinity error at this mesh size */ errorLinf: number; /** log10(L-infinity error) for direct plotting */ logErrorLinf: number; } /** Convergence plot data suitable for rendering charts */ export interface ConvergencePlotData { /** Benchmark name this plot belongs to */ benchmarkName: string; /** Solver type */ solver: SolverType; /** Data points ordered by decreasing mesh size (coarse → fine) */ points: ConvergencePlotPoint[]; /** Observed L2 convergence order (slope of log-log fit) */ observedOrderL2: number; /** Observed L-inf convergence order */ observedOrderLinf: number; /** Theoretical order for reference line (if known) */ theoreticalOrder?: number; } export interface BenchmarkResult { /** Benchmark name (e.g., "1D Steady-State Conduction") */ name: string; /** Solver tested */ solver: SolverType; /** Description of the analytical solution */ analyticalSolution: string; /** Whether the benchmark passed */ passed: boolean; /** Error metric used */ errorMetric: string; /** Measured error value */ errorValue: number; /** Tolerance for passing */ tolerance: number; /** Optional convergence study results */ convergence?: ConvergenceStudyResult; /** Reference citation */ reference?: string; } export interface VerificationReport { /** Software version */ softwareVersion: string; /** Report generation timestamp */ timestamp: string; /** Individual benchmark results */ benchmarks: BenchmarkResult[]; /** Overall pass/fail */ allPassed: boolean; /** Summary statistics */ summary: { total: number; passed: number; failed: number; bySolver: Record; }; /** Convergence plot data for benchmarks that have convergence studies */ convergencePlots: ConvergencePlotData[]; } /** * Generate a verification report from benchmark results. */ export declare function createVerificationReport(benchmarks: BenchmarkResult[], softwareVersion: string): VerificationReport; /** * Render a verification report as markdown. */ export declare function renderReportMarkdown(report: VerificationReport): string; /** * Render a verification report as a LaTeX-compatible table. */ export declare function renderReportLatex(report: VerificationReport): string; //# sourceMappingURL=ReportGenerator.d.ts.map