{"claim":{"id":"1345a3fb-2633-4d50-924a-0850d4a0143a","submission_id":"b6e05331-07cc-4ccb-b849-879cd6157b93","submission_revision_id":"8cf1d970-f4c1-4277-ad85-266fd022caca","builder":"builder-01","status":"active","claimed_at":"2026-10-15T15:25:16.514815Z","delivered_at":null,"ended_at":null,"delivery_note":null,"end_reason":null},"task":{"submission_id":"b6e05331-07cc-4ccb-b849-879cd6157b93","submission_revision_id":"8cf1d970-f4c1-4277-ad85-266fd022caca","revision_version":3,"submission_status":"under_review","submitted_at":"2026-09-10T13:37:19.611377Z","submitter_name":"Haitz Sáez de Ocáriz Borde","submitter_email":"haitzsaezdeocariz@gmail.com","task":{"status":"submitted","version":3,"extra_fields":{},"submitted_at":"2026-09-10T13:37:19.611377+00:00","industry_domain":"Computational Fluid Dynamics / Aerospace Engineering","task_short_name":"cfd_naca4512_grid_independence_1","operating_system":"Linux","task_description":"# Engineering brief\n\nDeliver a defensible mesh-independence assessment for an inverted NACA 4512\nairfoil in OpenFOAM v2406. The profile has a sharp trailing edge. Model the flow\nas steady, incompressible RANS with the k-omega SST closure at Reynolds number\n4.66 million and Mach 0.2. The operating points are -9, -4, and -1 degrees.\n\nThe supplied material consists of a configured OpenFOAM base case and\n`study.json`. The JSON file is the controlling specification for the geometry,\ndomain, physical properties, mesh sequence, convergence tests, wall treatment,\noutput formats, and numerical limits. It does not contain a finished mesh,\n`blockMeshDict`, mesh template, solved flow field, selected production level,\nor target aerodynamic result.\n\n## Coordinate and reporting convention\n\nThe chord lies along global +x, and global +y points upward. Angle of attack is\npositive counterclockwise from +x. Drag follows the freestream; lift follows\nthe in-plane direction obtained by rotating the freestream 90 degrees\ncounterclockwise. Consequently, downforce has negative Cl. Pitching moment is\nthe right-handed global-z component about `(0.25, 0, 0) m`.\n\n## Work to be completed\n\nDerive the inverted NACA 4512 coordinates from the standard four-digit\ndefinition, using its sharp-trailing-edge form, and report the requested\nanalytic surface points.\n\nDevelop the prescribed structured four-region C-grid and its five refinement\nlevels. The domain, logical-region divisions, span, boundary meanings,\nwall-normal refinement rule, total cell counts, and wall-face counts are fixed\nby `study.json`. Mesh construction remains part of the assignment: determine\nthe numbering, connectivity, interfaces, curved edges, patch faces, and\nchordwise and wake grading. The required cell totals are 11,040, 44,160,\n99,360, 176,640, and 276,000 for Levels 1 through 5, respectively. Each level\nmust satisfy all geometry and quality limits in the specification.\n\nSolve every mesh at every operating point, giving 15 steady-RANS cases. For\neach case, retain a terminal sequence of at least 100 consecutive iterations\nthat satisfies the residual, coefficient-scatter, and half-window-drift tests.\nFrom that qualified window, report Cl, Cd, Cm, lift-to-drag ratio, and the\narea-weighted y+ statistics.\n\nAssess each adjacent refinement using all three angles. Independence must\npersist to the finest grid: a candidate level is acceptable only if its next\ncomparison and all remaining comparisons through Level 5 pass. The production\nmesh is one level finer than the first such candidate. When no candidate\nqualifies, use Level 5 and report the study as unresolved. A failure of the\nproduction-level wall-function coverage at any operating point also makes the\nstudy unresolved.\n\nFor the three production cases, export one record for every airfoil-wall face.\nEach record must include its centroid, oriented area vector, pressure\ncoefficient, dimensional viscous traction, and y+. Independently integrate\nthese face data to recover lift, drag, and the stated pitching moment.\n\nArea vectors in the export point out of the fluid and into the solid. Viscous\ntraction is the dimensional force per unit area exerted by the fluid on the\nairfoil. OpenFOAM pressure is kinematic; calculate Cp relative to zero\nfreestream pressure with the speed specified in `study.json`. Use the supplied\ndensity, reference area, and chord for coefficient normalization.\n\n## Deliverables\n\nPlace exactly the following files in `/app/results`:\n\n- `airfoil_geometry.csv`\n- `mesh_manifest.csv`\n- `case_history.csv`\n- `mesh_study.csv`\n- `study_summary.json`\n- `production_surface_loads.csv`\n\nTheir schemas and coverage rules are defined in `study.json`. Every reported\nquantity must be traceable to the geometry, meshes, and CFD solutions produced\nduring the work. Hardcoded targets or synthetic artifacts without supporting\nCFD calculations are not acceptable.\n","software_licensing":"Free/Open Source","evaluation_criteria":null,"verification_method":"# Evaluation procedure\n\nEvaluate the submitted artifacts with the hidden programmatic checker. The\ndecision must come from the files, histories, and wall data, not from the\nagent's narrative or an asserted production-mesh choice. Missing deliverables\nor any failed required check receive a score of zero rather than causing an\nevaluation-system error.\n\n## Submission contract\n\nAccept exactly these six nonempty regular files:\n`airfoil_geometry.csv`, `mesh_manifest.csv`, `case_history.csv`,\n`mesh_study.csv`, `study_summary.json`, and\n`production_surface_loads.csv`. No file may exceed 20,000,000 bytes. Validate\nthe CSV headers, JSON keys, ordering and coverage requirements, finite numeric\nvalues, and semantic constraints declared by the public `study.json`.\nSerialization differences in recomputed derived values may be at most `1e-6`.\n\n## Geometry and meshes\n\n1. Regenerate the standard inverted NACA 4512 analytically using the\n   sharp-trailing-edge polynomial. `airfoil_geometry.csv` must contain 50\n   cosine-spaced points on each surface, upper surface first, with consecutive\n   zero-based indices and leading-edge-to-trailing-edge ordering. The absolute\n   coordinate error limit is `1e-8`.\n\n2. Require the following `(cells, wall faces)` pairs: Level 1\n   `(11040, 82)`, Level 2 `(44160, 164)`, Level 3 `(99360, 246)`, Level 4\n   `(176640, 328)`, and Level 5 `(276000, 410)`. Every row must report a valid\n   mesh, maximum aspect ratio no greater than 100, non-orthogonality strictly\n   below 70 degrees, and skewness strictly below 4. Do not grade vertex\n   numbering, block connectivity, or chordwise/wake grading against the hidden\n   reference implementation.\n\n## Case qualification and reduced results\n\n3. Require all 15 level/angle combinations for angles -9, -4, and -1 degrees.\n   Each history must end with at least 100 consecutive qualified iterations.\n   Throughout its final 100 rows, final linear-solver residuals may not exceed\n   `1e-6` for pressure or `1e-8` for Ux, Uy, k, and omega.\n\n4. Test aerodynamic stationarity on those same 100 iterations. Population\n   standard deviation limits are `0.001` for Cl and `0.0002` for both Cd and\n   Cm. Compare the means of iterations 1-50 and 51-100 within the window; their\n   absolute differences may not exceed `0.001` for Cl, `0.00015` for Cd, or\n   `0.0001` for Cm.\n\n5. Independently average Cl, Cd, and Cm over each qualified window and compare\n   the results with all 15 rows of `mesh_study.csv`. Recalculate lift-to-drag\n   as `Cl/Cd`. Derive the area-weighted y+ statistics from the wall records\n   rather than accepting their submitted summaries. The recalculated\n   production mean and area fraction must agree with the study rows within\n   `1e-6`.\n\n## Refinement decision\n\n6. For every adjacent pair `i -> i+1`, take the largest normalized change over\n   the three operating points. Use\n   `abs(Cl_i - Cl_(i+1)) / max(abs(Cl_(i+1)), 0.1)` for lift and\n   `abs(Cd_i - Cd_(i+1)) / max(abs(Cd_(i+1)), 0.01)` for drag. The pair passes\n   only when its maximum lift value is at most `0.005` and its maximum drag\n   value is at most `0.02`.\n\n7. A level is independent only when its adjacent comparison and every later\n   comparison through `4 -> 5` pass. Recompute the first qualifying level and\n   select the following level for production. If none qualifies, require Level\n   5, a null independent level, and unresolved status. Never force the\n   submission to reproduce a production-level choice made by the expert\n   reference run.\n\n8. At each production angle, calculate the fraction of wall area for which\n   `30 < y+ < 200`. It must be at least 0.80 in every case. Any failure changes\n   the final state to unresolved even if the coefficient-convergence test\n   passed.\n\n## Hidden aerodynamic comparison\n\n9. Apply coefficient-reference checks only to the independently selected\n   production rows. The absolute `(Cl, Cd, Cm)` allowances are\n   `(0.075, 0.0075, 0.009)` for Level 2,\n   `(0.045, 0.0045, 0.006)` for Level 3,\n   `(0.0225, 0.00225, 0.003)` for Level 4, and\n   `(0.015, 0.0015, 0.0015)` for Level 5. At -9 degrees, use floors of `0.03`\n   for Cl and `0.004` for Cm. Cd and the other two angles retain the selected\n   level's allowances. Do not subject non-production levels to pointwise\n   agreement with a single reference mesh family.\n\n10. Require three production surface groups and the exact wall-face count for\n    the selected level. Row order is irrelevant. Centroids must be unique,\n    face areas positive, and centroid z coordinates within `2e-4 m` of the\n    one-cell span midpoint. Geometrically match each centroid to the analytic\n    airfoil: its profile distance may not exceed `2e-4 m`, and the normalized\n    area-vector dot product with the analytic inward-to-airfoil normal must be\n    at least `0.5`. Half of the faces must lie on each analytic surface. Both\n    curvilinear endpoints must be covered within normalized gap `0.02`, and\n    each extruded surface area must agree with the analytic value within\n    relative error `0.005`.\n\n11. Compare Cp independently for every angle and analytic surface. Project\n    both the submitted centroids and the hidden converged Level-5 reference\n    centroids onto the analytic profile, parameterize them by normalized\n    curvilinear position, and interpolate the reference Cp to the submitted\n    locations. Combining both surfaces, the relative L2 error must not exceed\n    `0.045`. This comparison must not depend on a matching mesh identifier,\n    face index, or wall-face count.\n\n12. Reconstruct the aerodynamic loads from every production face. Obtain\n    pressure force from Cp, freestream dynamic pressure, and the oriented area\n    vector; obtain viscous force from dimensional traction and face area. Sum\n    the forces, project them onto the angle-dependent lift and drag directions,\n    and calculate the right-handed global-z moment about `(0.25, 0, 0) m`.\n    Normalize with the public area and chord. Agreement with the reported\n    production coefficients must be within `0.002` for Cl, `0.0003` for Cd,\n    and `0.0001` for Cm.\n\n## Final consistency checks\n\nValidate the exact summary schema and its fixed airfoil, Reynolds number, Mach\nnumber, angles, levels, convergence rule, and wall-function rule. Independently\nrecreate all four adjacent comparisons, their pass flags, the first persistent\nlevel, the production level, and the resolved/unresolved result. Before grading\na submission, also validate the dimensions and calibration metadata of the\nhidden reference bundle. Hidden coefficient tables, Cp profiles, calibration\nevidence, and expert-solution code must remain unavailable during the agent\nphase.\n\nSuccess requires the entire chain to agree: analytic geometry, all five valid\nmeshes, 15 converged and stationary histories, persistent self-convergence,\nindependent production selection, adequate wall-function coverage, calibrated\nproduction aerodynamics, consistent surface geometry and Cp, and independent\npressure-plus-viscous load closure. Credible scalar coefficients without that\nsupporting evidence are insufficient.\n","software_and_version":"OpenFOAM v2406","specific_requirements":null,"expected_completion_time":null},"files":[{"file_id":"bf53dc2b-d8d6-4a9d-aa02-dcd7b00e3ee8","filename":"naca4512_ale_input_materials.zip","category":"input_materials","content_type":"application/zip","size_bytes":13032},{"file_id":"d9425802-d34a-4734-9592-0f510e5c1943","filename":"naca4512_ale_reference_and_evaluation.zip","category":"reference_output","content_type":"application/zip","size_bytes":265579}],"deep_review":{"overall_verdict":"Strong Accept","review_text":"**Overall Verdict:** Strong Accept — The submission is complete, internally coherent, computationally feasible, and supported by strong reference, provenance, and offline evaluation evidence.\n\n**Completeness Check:**\n- Instruction: Complete — The engineering objective, physical conventions, mesh study, convergence logic, production selection, and six-artifact end state are precise.\n- Inputs: Complete — `study.json` provides the controlling specification, and the OpenFOAM base case supplies consistent flow, turbulence, boundary, solver, and decomposition settings while appropriately leaving mesh construction to the contributor.\n- Toolchain: Complete — OpenFOAM v2406, Linux, a pinned container recipe, initialization script, resource envelope, and required staging locations are supplied; the recorded 44-minute reference execution establishes single-machine feasibility.\n- Reference output: Complete — All six expected artifacts are present and internally checksummed, including 100 analytic geometry rows, five mesh records, 1,500 qualified history rows, 15 study rows, and 1,230 production wall-face records.\n- Rubric: Complete — The evaluator enforces exact artifacts and schemas, analytic geometry, mesh counts and quality, residuals and stationarity, persistent refinement selection, production coefficient envelopes, wall coverage, surface geometry and Cp, and independent force and moment closure.\n\n**File and Task Reachability:**\nThe attachment classification is `reachable`, and the end-to-end task classification is `reachable`. Both `naca4512_ale_input_materials.zip` and `naca4512_ale_reference_and_evaluation.zip` were inspected. Their declared byte counts matched, both were valid unencrypted ZIP containers with modest expansion, and their internal checksum manifests verified every member. No traversal paths, links, device entries, encryption barriers, or unsafe archive structure were found.\n\nThe inspection covered `study.json`, the OpenFOAM initial fields and dictionaries, `Dockerfile`, `openfoam.sh`, environment and licensing documentation, all six reference outputs, `calibration.json`, `test_outputs.py`, `test.sh`, the hidden reference CSVs, provenance records, oracle implementation source, and authoring-control evidence. Executable-marked files were inspected only as text and were not run. No material content was left unreviewed. The hidden coefficient and surface reference CSVs are byte-identical to their corresponding expert outputs.\n\nIndependent parsing confirmed finite values, exact schemas and coverage, analytic geometry accuracy within floating-point noise, required mesh counts and quality margins, 15 consecutive stationary histories satisfying all residual limits, correct adjacent-grid calculations and Level-5 production selection, adequate y+ coverage, unique and correctly oriented surface geometry, and load-closure errors inside every tolerance. Protected reference and evaluator material is separated from the contributor-visible input bundle. External registry availability was not queried under the evidence-only review boundary, but the declared open-source toolchain presents no evidenced access barrier.\n\nLicense keys, accounts, tokens, and other credentials are not required from the contributor. Confidential, proprietary, or internal material may be evaluated as submitted evidence without requiring additional disclosure.\n\n**Special Screening:**\nNone\n\n**Recommended Changes:**\nThe submission already provides unusually strong specification, calibration, provenance, negative-control, and reproducibility evidence. No changes are required.","reviewed_at":"2026-09-10T13:53:21.050480Z"},"claim":{"id":"1345a3fb-2633-4d50-924a-0850d4a0143a","submission_id":"b6e05331-07cc-4ccb-b849-879cd6157b93","submission_revision_id":"8cf1d970-f4c1-4277-ad85-266fd022caca","builder":"builder-01","status":"active","claimed_at":"2026-10-15T15:25:16.514815Z","delivered_at":null,"ended_at":null,"delivery_note":null,"end_reason":null}},"revision_is_current":true}