{"submission_id":"b26c8ec0-42f8-4880-9ef1-dc9a1217d4b4","submission_revision_id":"71f4d935-bf28-4361-ad40-c162e57a013f","revision_version":3,"submission_status":"under_review","submitted_at":"2026-10-09T01:51:36.174519Z","submitter_name":"Jixian Liu","submitter_email":"jliu376@jh.edu","task":{"status":"submitted","version":3,"extra_fields":{"difficulty_self_test":{"model":"Claude Opus 5.5","harness":"Claude Code","estimated_score":"20–40%"}},"submitted_at":"2026-10-09T01:51:36.174519+00:00","industry_domain":"Fluid Mechanics","task_short_name":"cfd_cylinder_wake_instance_1","operating_system":"Linux","task_description":"Objective: Starting from a partially completed OpenFOAM-12 setup of 2D incompressible flow past a circular cylinder, build a verified, reproducible CFD workflow and use it for (1) numerical verification, (2) identifying hidden flow parameters from sparse noisy sensor data, and (3) designing a rotating-cylinder feedback controller that stays effective on hidden operating conditions, all as fast as possible, because wall-clock time is scored.\n\nStarting State: input/ (cylinder_wake_inputs.zip): TASK.md (binding specification), RUBRIC.md (all scoring rules), docs/ (conventions, output schemas, measured run costs, interface verification), configs/benchmark.yaml (physics, mesh ladder L0-L4, sensors, stage protocols), src/cwbench (Python case generator / runner / post-processing with parts marked MISSING), src/foam/cwbControl (OpenFOAM library: rotating-wall boundary condition and synchronous controller interface), assets/minimal_case (runnable Re = 100 case), examples/ (zero and template controllers), public_data/stage2 (three synthetic virtual experiments: EXP0 with disclosed truth, EXPA and EXPB scored), tests/smoke_test.sh.\n\nInstructions & Rules:\n- Stage 1 (20 points): complete the missing mesh, boundary-condition, solver and post-processing code; run the steady Re = 20 and unsteady Re = 100 cases on at least three mesh levels including L1, a half-time-step case and two span cases; report C_D, C_L RMS, St, front-rear pressure difference and mass imbalance with the public stationarity criterion, observed order and GCI.\n- Stage 2 (30 points): implement the modulated inlet, estimate the hidden viscosity (Re in [70, 140]) and forcing amplitude of EXPA and EXPB from 4 noisy wake sensors and one pressure difference, revalidate each estimate with a CFD run, and predict held-out sensors and a 20 t* hold-out interval.\n- Stage 3 (50 points): design a controller (wall rotation only) that runs synchronously with icoFoam through the provided interface, under unknown Re, sensor noise and delay, actuator amplitude and rate limits and a mean-lift constraint; deliver it frozen with results for the public dev scenarios on two meshes.\n- Time counts: the run clock starts when the starter is handed over and stops when the session ends. Every full minute costs 1.5 points of 100, from the first minute (final = max(0, points earned - 1.5 x full minutes); only complete minutes count, so 0:59 counts as 0; a run of 67 minutes or longer scores 0). Solver time counts like any other time.\n- Everything must come from actually running OpenFOAM-12 icoFoam with the permitted numerics (docs/CONVENTIONS.md); no other solver, no change of inlet speed, viscosity (other than the requested Re), geometry or reference area. Offline, CPU only, 8 cores, 16 GB RAM. Deliverables go to output/ in the layout of TASK.md and docs/SCHEMAS.md.","software_licensing":"Free/Open Source","evaluation_criteria":null,"verification_method":"Automatic, independent grading: run the bundled evaluator (reference/evaluator, instructions in reference/README.md) on the agent's output/. It never trusts submitted metrics: every number is recomputed from raw OpenFOAM output and critical cases are re-run with a trusted solver (it rebuilds its own control library and checks the OpenFOAM installation against a checksum manifest). Plan points = Stage 1 (20) + Stage 2 (30) + Stage 3 (50). Partial credit is linear between a full-credit and a zero-credit tolerance for each item (RUBRIC.md):\n- Stage 1: inputs follow the protocol; a trusted re-run of re100_L1 and re020_L1 reproduces the submitted forces to 1e-6; metrics recomputed from the raw output; best estimates against a finer-mesh reference (e.g. St full credit within 0.5 %, zero at 2 %); stationarity window; mass conservation <= 1e-6; mesh, time-step and span studies.\n- Stage 2: files and >= 5 CFD evaluations per experiment; the revalidation case is re-run and must reproduce the fitted observations; nu within 1 % (zero at 4 %) and a within 3 % (zero at 12 %) of the hidden truth; held-out predictions scored on phase-invariant features against the noise-free truth.\n- Stage 3: the frozen controller is run by the evaluator on 4 hidden scenarios (L1), one hidden scenario on the finer mesh L2 with another wake phase, and the dev scenario D1 on L1 and L2; runs must complete, respect the actuator limits and keep |mean C_L| <= 0.05; worst and mean improvement over the hidden scenarios (full credit at I >= 0.169 / 0.201, credit from 0.02); finer-mesh robustness; reproducibility of the submitted D1 results.\nTime rule: final points = max(0, plan points - 1.5 x full minutes), final grade = final points / 100; only complete minutes count (0:59 counts as 0). Start the clock when the starter is handed out (python3 -m cwb_eval.clock start --private private --out <stamp>, kept on the grading side) and pass --clock <stamp> to the evaluator when the session ends; grading time is not counted and a missing or forged stamp scores 0. The expert reference output scores 100 / 100, final grade 1.0 (reference/evaluation_report.json).","software_and_version":"OpenFOAM-12 (openfoam.org, package openfoam12 20250206), solver icoFoam; Python 3.10-3.12 with numpy, scipy, PyYAML; g++/wmake (to build the bundled rotating-wall/controller library)","specific_requirements":null,"expected_completion_time":null},"files":[{"file_id":"865adb2a-0a4b-4f74-a2a6-d20f17c39a1f","filename":"cylinder_wake_inputs.zip","category":"input_materials","content_type":"application/x-zip-compressed","size_bytes":245406},{"file_id":"1f21b61d-4774-45da-91fa-93693600044f","filename":"cylinder_wake_calibration_evidence.zip","category":"difficulty_self_test_evidence","content_type":"application/x-zip-compressed","size_bytes":54071},{"file_id":"dbfa6a80-6f30-4dbf-a7a5-293358747b1e","filename":"cylinder_wake_reference.zip","category":"reference_output","content_type":"application/x-zip-compressed","size_bytes":97203617}],"deep_review":{"overall_verdict":"Strong Accept","review_text":"**Overall Verdict:** Strong Accept — The submission is complete, professionally constructed, objectively gradable, and end-to-end reachable on the declared single-machine environment.\n\n**Completeness Check:**\n- Instruction: Complete — Binding physics, protocols, constraints, timing rule, deliverables, and output schemas are explicitly defined.\n- Inputs: Complete — The starter includes source stubs, a runnable minimal case, configuration, public sensor data, examples, tests, and documented provenance.\n- Toolchain: Complete — OpenFOAM-12, compiler, Python dependencies, supported operating systems, hardware requirements, installation path, and offline execution requirements are specified.\n- Reference output: Complete — A full expert output, raw solver evidence, protected truth data, evaluator dependencies, and a valid 100/100 evaluation report are supplied.\n- Rubric: Complete — All 100 points have objective rules, tolerances, partial-credit behavior, failure flags, trusted reruns, and time-penalty handling.\n\n**File and Task Reachability:**\nAttachment classification: `reachable`. Task classification: `reachable`. I inspected `cylinder_wake_inputs.zip`, `cylinder_wake_calibration_evidence.zip`, and `cylinder_wake_reference.zip`. Their downloaded sizes matched the manifest; all were readable, CRC-clean, unencrypted ZIP containers with 81, 22, and 847 entries respectively, without traversal paths, links, device entries, or excessive expansion. Inspected content included the task and rubric, conventions and schemas, configuration, environment and provenance documentation, public experiment YAML/CSV schemas, source stubs, minimal OpenFOAM case, controller interface, calibration reports and logs, expert deliverables, raw solver records, evaluator source and protocol structure, private truth-record schemas, baseline-state inventory, and installation documentation. No manifest attachment was left unreviewed; large raw time series, binary OpenFOAM state fields, and every source file were inventoried but not examined line by line. Uploaded programs were not executed, and public package availability was not independently rechecked through external search; these are review-method limitations rather than submission defects. The documented path is complete: install the pinned open-source toolchain, complete the starter, run OpenFOAM, produce the specified output tree, then grade it using protected truth, trusted source, solver-integrity checks, and independent reruns. License 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 provides substantial reproducibility, security, calibration, and negative-control evidence. No material changes are required.","reviewed_at":"2026-10-09T02:05:26.612161Z"},"claim":null}