Skip to main content

HullProd logo

HullProd

CI Python 3.10–3.12 License: BSD-3-Clause

Geometry-based producibility screening for ship hull surfaces.

HullProd computes a compact signature of double-curvature intensity, sign, and areal composition directly from native IGES/STEP BRep geometry or triangulated STL/OBJ/PLY surfaces. It also exports distributed fields, plots, validity, and representation provenance.

Installation

HullProd requires Python 3.10–3.12. The intended public installation command is:

pip install hullprod

One installation includes both the native OpenCascade and triangle-mesh backends; no separate CAD extra or system OpenCascade installation is required.

Quick start

Assess native CAD directly:

hullprod myvessel.iges

The same command works for a triangulated surface:

hullprod myvessel.stl

HullProd selects the backend from the file extension and writes a predictable myvessel_hullprod/ result directory.

To supply the normalization length explicitly:

hullprod myvessel.iges --lref 200000

--lref uses the working length unit of the input geometry. For CAD imported in millimetres, 200000 means 200000 mm, or 200 m. HullProd prints the source unit, working unit, and interpreted value before integration and warns about a large discrepancy from the automatic geometric span without changing the supplied value.

See Getting started for output-directory controls and other normal options.

Recommended signature

HullProd 1.0 reports exactly:

[I_D, I_D_plus, I_D_minus,
 a_C_flat, a_C_single, a_C_elliptic, a_C_saddle]
  • I_D measures total normalized double-curvature intensity.
  • I_D_plus and I_D_minus separate elliptic/synclastic and saddle/reverse/anticlastic intensity.
  • The four a_C values are represented-valid-area fractions for flat, singly curved, elliptic, and saddle/reverse regions.

Together they describe intensity, sign, and areal extent. HullProd does not combine them into a universal scalar producibility score. The default quasi-zero factors are h_f = k_f = 1e-4; these are numerical classification thresholds, not manufacturing limits. See Metrics for the equations and interpretation.

What HullProd produces

A normal result directory contains:

  • signature.json and signature.csv for the recommended global signature;
  • report.html for a compact, static user report;
  • validity.json and provenance.json for scientific interpretation and audit;
  • plots/ with developability-density and curvature-class maps; and
  • fields/ with ParaView-readable VTP and portable CSV surface fields.

The complete output contract and file roles are documented in Outputs.

Supported geometry

Representation Formats Backend
Native BRep .iges, .igs, .step, .stp Direct CAD derivatives and trimmed-domain quadrature
Triangle mesh .stl, .obj, .ply Discrete curvature reconstruction on the supplied mesh

Unsupported formats fail with an actionable error; HullProd does not silently convert a BRep to a mesh for canonical global evaluation or fit CAD to a mesh.

BRep and mesh realizations

Native BRep evaluation is the canonical realization when source CAD is available. Its global metrics come from direct surface derivatives and trimmed-domain integration, not from the display/export tessellation.

Mesh evaluation is supported when triangulated geometry is the available representation. Its derivative-based values are explicitly representation-sensitive and should be interpreted with the recorded mesh quality and refinement provenance. This distinction does not make mesh results invalid; it makes their represented geometry part of the result.

Without --lref, both backends use the same conceptual automatic convention: a rigid-motion-invariant principal-axis projected span, with a deterministic centroid-radial fallback for isotropic samples. It is recorded as auto_principal_span and is never described as L_pp.

Python API

The Python API uses the same assessment pipeline as the CLI:

from hullprod import assess

result = assess("myvessel.iges")
print(result.signature)

See the Python API guide.

Documentation

README plus versioned Markdown under docs/ are the complete v1 documentation system; no hosted documentation site is required.

Scientific scope and limitations

HullProd is a geometry-based early-design screening tool, not a fabrication-cost predictor. It does not directly predict labor, forming route, production schedule, or shipyard-specific performance. It does not perform panelization, seam placement, forming simulation, optimization, or geometry repair.

Auxiliary, mesh-diagnostic, and experimental quantities are kept separate from the recommended signature. Their status is explained in Experimental quantities.

Funding

Development of HullProd was supported by the U.S. Office of Naval Research (ONR) through the Naval International Cooperative Opportunities in Science and Technology (NICOP) program, under Grant No. N00014-26-1-2164, as part of the BEAM project (Bayesian Exploration and Optimization for Hull-form Architecture and Producibility Modeling).

The views and conclusions expressed in this software and its documentation are those of the authors and do not necessarily reflect the views of the Office of Naval Research.

Citation

Please cite the software using CITATION.cff. Cite the associated manuscript once final publication metadata are available; no DOI or journal record is claimed here before publication.

Contributing

Bug reports, documentation corrections, reproducible analytical tests, and carefully scoped numerical improvements are welcome. See CONTRIBUTING.md before proposing changes to scientific definitions.

License

HullProd is distributed under the BSD-3-Clause license. The bundled analytical sphere fixtures are project-owned; restricted benchmark geometry is not redistributed.

Release files for hullprod 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for hullprod 1.0.0
File Size Uploaded
hullprod-1.0.0.tar.gz 126.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for hullprod 1.0.0
File Interpreter ABI Platform
hullprod-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 230.4 kB

Release files / hullprod-1.0.0.tar.gz

Download URL hullprod-1.0.0.tar.gz
Size 126.8 kB
Tags Source
SHA-256 checksum
How to use checksums
079dba663b94d3b4913194517207000ad0e0827a8e3812a3743aea49e70bacba
BLAKE2b-256 checksum
How to use checksums
761bfbc6911872cc714a6709b303e568d40a0d52655f80f9d1df01ec3c12c3da
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 3, 2026.

Transparency log

Release files / hullprod-1.0.0-py3-none-any.whl

Download URL hullprod-1.0.0-py3-none-any.whl
Size 103.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
13d717b51de6e01b7c501287304e91c5c30d07ac916a9effc0997daa9eed3c6f
BLAKE2b-256 checksum
How to use checksums
fd41c83f7b81b326dd3d39b694b7a88c74821c162d78e7f13115a7f12d7d1188
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 3, 2026.

Transparency log

Release history Release notifications | RSS feed

1.0.1

2 release files

This release

1.0.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page