{"state_type":"pith_open_graph_state","state_version":"1.0","pith_number":"pith:2021:JTBPQ565ZGD6UMEKNMBEVNWNNV","merge_version":"pith-open-graph-merge-v1","event_count":2,"valid_event_count":2,"invalid_event_count":0,"equivocation_count":0,"current":{"canonical_record":{"metadata":{"abstract_canon_sha256":"5ab25906ab223a0494a2853b2f6d5eb62ee9ba603b39743d4fda2811b4cff5a3","cross_cats_sorted":["cs.DC","physics.flu-dyn"],"license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","primary_cat":"physics.comp-ph","submitted_at":"2021-03-17T01:34:41Z","title_canon_sha256":"6dd20e5ad3b18a12d3b982d9a087a5635b4f8f536c35e695bea19204d733c720"},"schema_version":"1.0","source":{"id":"2103.09389","kind":"arxiv","version":2}},"source_aliases":[{"alias_kind":"arxiv","alias_value":"2103.09389","created_at":"2026-07-05T03:05:22Z"},{"alias_kind":"arxiv_version","alias_value":"2103.09389v2","created_at":"2026-07-05T03:05:22Z"},{"alias_kind":"doi","alias_value":"10.48550/arxiv.2103.09389","created_at":"2026-07-05T03:05:22Z"},{"alias_kind":"pith_short_12","alias_value":"JTBPQ565ZGD6","created_at":"2026-07-05T03:05:22Z"},{"alias_kind":"pith_short_16","alias_value":"JTBPQ565ZGD6UMEK","created_at":"2026-07-05T03:05:22Z"},{"alias_kind":"pith_short_8","alias_value":"JTBPQ565","created_at":"2026-07-05T03:05:22Z"}],"graph_snapshots":[{"event_id":"sha256:d3c8154d79a031e9858f62ae2252a78cfded3f5aaf39a271cb50d7b05357c493","target":"graph","created_at":"2026-07-05T03:05:22Z","signer":{"key_id":"pith-v1-2026-05","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54","signer_id":"pith.science","signer_type":"pith_registry"},"payload":{"graph_snapshot":{"author_claims":{"count":0,"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57","strong_count":0},"builder_version":"pith-number-builder-2026-05-17-v1","claims":{"count":0,"items":[],"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57"},"formal_canon":{"evidence_count":0,"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57"},"integrity":{"available":true,"clean":true,"detectors_run":[],"endpoint":"/pith/2103.09389/integrity.json","findings":[],"snapshot_sha256":"c28c3603d3b5d939e8dc4c7e95fa8dfce3d595e45f758748cecf8e644a296938","summary":{"advisory":0,"by_detector":{},"critical":0,"informational":0}},"paper":{"abstract_excerpt":"We outline the development of a general-purpose Python-based data analysis tool for OpenFOAM. Our implementation relies on the construction of OpenFOAM applications that have bindings to data analysis libraries in Python. Double precision data in OpenFOAM is cast to a NumPy array using the NumPy C-API and Python modules may then be used for arbitrary data analysis and manipulation on flow-field information. We highlight how the proposed wrapper may be used for an in-situ online singular value decomposition (SVD) implemented in Python and accessed from the OpenFOAM solver PimpleFOAM. Here, `in-","authors_text":"Bethany Lusch, Dimitrios Fytanidis, Romit Maulik, Saumil Patel, Venkatram Vishwanath","cross_cats":["cs.DC","physics.flu-dyn"],"headline":"","license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","primary_cat":"physics.comp-ph","submitted_at":"2021-03-17T01:34:41Z","title":"PythonFOAM: In-situ data analyses with OpenFOAM and Python"},"references":{"count":0,"internal_anchors":0,"resolved_work":0,"sample":[],"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57"},"source":{"id":"2103.09389","kind":"arxiv","version":2},"verdict":{"created_at":null,"id":null,"model_set":{},"one_line_summary":"","pipeline_version":null,"pith_extraction_headline":"","strongest_claim":"","weakest_assumption":""}},"verdict_id":null}}],"author_attestations":[],"timestamp_anchors":[],"storage_attestations":[],"citation_signatures":[],"replication_records":[],"corrections":[],"mirror_hints":[],"record_created":{"event_id":"sha256:e18eb5e2d9e961f71cd85b3c5a274006cb43c314833e230fe69f8aa3596c1b76","target":"record","created_at":"2026-07-05T03:05:22Z","signer":{"key_id":"pith-v1-2026-05","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54","signer_id":"pith.science","signer_type":"pith_registry"},"payload":{"attestation_state":"computed","canonical_record":{"metadata":{"abstract_canon_sha256":"5ab25906ab223a0494a2853b2f6d5eb62ee9ba603b39743d4fda2811b4cff5a3","cross_cats_sorted":["cs.DC","physics.flu-dyn"],"license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","primary_cat":"physics.comp-ph","submitted_at":"2021-03-17T01:34:41Z","title_canon_sha256":"6dd20e5ad3b18a12d3b982d9a087a5635b4f8f536c35e695bea19204d733c720"},"schema_version":"1.0","source":{"id":"2103.09389","kind":"arxiv","version":2}},"canonical_sha256":"4cc2f877ddc987ea308a6b024ab6cd6d6c72b383684a420172e099923293b77a","receipt":{"algorithm":"ed25519","builder_version":"pith-number-builder-2026-05-17-v1","canonical_sha256":"4cc2f877ddc987ea308a6b024ab6cd6d6c72b383684a420172e099923293b77a","first_computed_at":"2026-07-05T03:05:22.963174Z","key_id":"pith-v1-2026-05","kind":"pith_receipt","last_reissued_at":"2026-07-05T03:05:22.963174Z","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54","receipt_version":"0.3","signature_b64":"i3nzYynOw5yAaw5QpEsq16mgGtR5iSSqNsDud/arTEREYkXUW/+vjspWMGWNgQ2aSm/m9jO8fgk2TCrlL5GiBQ==","signature_status":"signed_v1","signed_at":"2026-07-05T03:05:22.963628Z","signed_message":"canonical_sha256_bytes"},"source_id":"2103.09389","source_kind":"arxiv","source_version":2}}},"equivocations":[],"invalid_events":[],"applied_event_ids":["sha256:e18eb5e2d9e961f71cd85b3c5a274006cb43c314833e230fe69f8aa3596c1b76","sha256:d3c8154d79a031e9858f62ae2252a78cfded3f5aaf39a271cb50d7b05357c493"],"state_sha256":"8bde1b47cbfe5457403d4dfedfc063a886c2498e7bcb160488ae716e86daaa94"}