{"id":3530,"date":"2023-08-31T11:12:58","date_gmt":"2023-08-31T11:12:58","guid":{"rendered":"https:\/\/neuraldesigner.com\/learning\/yacht-hydrodynamics-modeling\/"},"modified":"2026-08-25T14:03:38","modified_gmt":"2026-08-25T12:03:38","slug":"yacht-hydrodynamics-modeling","status":"publish","type":"learning","link":"https:\/\/www.neuraldesigner.com\/learning\/examples\/yacht-hydrodynamics-modeling\/","title":{"rendered":"Yacht hydrodynamics modeling using machine learning"},"content":{"rendered":"\n<style>\n.ndb{width:100vw;margin-left:calc(50% - 50vw);padding:22px 24px 14px;background:#eee;color:#1b2635;font-family:\"Outfit\",\"Roboto\",Arial,sans-serif}.ndb *{box-sizing:border-box}.ndb-wrap{width:min(100%,1200px);margin:0 auto}.ndb a{text-decoration:none;color:#2d799f;font-weight:600}\n.ndb-executive{margin:0 0 34px;padding:32px;border-radius:20px;background:linear-gradient(135deg,#12354b,#245e80);color:#fff;box-shadow:0 16px 36px rgba(0,18,51,.18)}.ndb-executive h2{margin:0 0 12px;padding:0;border:0;color:#fff;font-size:30px;line-height:1.2}.ndb-executive p{margin:0;color:#eaf5fb;font-size:18px;line-height:1.55}.ndb-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:22px}.ndb-kpi{padding:18px;border:1px solid rgba(255,255,255,.18);border-radius:14px;background:rgba(255,255,255,.1)}.ndb-kpi strong{display:block;color:#fff;font-size:25px;line-height:1.1}.ndb-kpi span{display:block;margin-top:6px;color:#d9edf7;font-size:13px}\n.ndb-actions,.ndb-audience,.ndb-downloads{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin:22px 0}.ndb-actions a,.ndb-downloads a{display:inline-flex;align-items:center;justify-content:center;padding:12px 20px;border-radius:24px;background:#245e80;color:#fff!important;font-weight:700}.ndb-executive .ndb-actions a{background:#fff;color:#12354b!important}.ndb-executive .ndb-actions a:last-child{background:transparent;color:#fff!important;border:1px solid rgba(255,255,255,.55)}\n.ndb-lead{margin:0 0 28px;color:#3a4a5a;font-size:18px;line-height:1.6}.ndb-toc{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:0 0 42px;padding:0;list-style:none}.ndb-toc a,.ndb-audience span{display:block;padding:9px 14px;border-radius:20px;background:#e9f2f8;color:#12354b;font-size:14px;font-weight:600}\n.ndb-card{margin:0 0 54px;scroll-margin-top:90px}.ndb-card h2{position:relative;margin:0 0 20px;padding-bottom:12px;border-bottom:1px solid #dbe5ec;color:#001233;font-size:24px}.ndb-card h2:after{content:\"\";position:absolute;bottom:-1px;left:0;width:62px;height:3px;border-radius:2px;background:#56a1c8}.ndb-card h3{margin:28px 0 12px;color:#12354b;font-size:20px}.ndb-card p{margin:0 0 14px;color:#33424f;font-size:16.5px;line-height:1.62}.ndb-card li{margin:5px 0;color:#33424f;font-size:16px;line-height:1.5}.ndb-card code{padding:2px 5px;border-radius:4px;background:#e8eef2;color:#12354b}\n.ndb-value-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:22px 0}.ndb-value{padding:20px;border:1px solid #dce8ef;border-radius:14px;background:#f8fbfd}.ndb-value strong{display:block;margin-bottom:6px;color:#12354b;font-size:17px}.ndb-value span{color:#4a5d6b;line-height:1.45}\n.ndb-note{margin:20px 0;padding:18px 20px;border-left:4px solid #56a1c8;border-radius:0 12px 12px 0;background:#f6fafc;color:#33424f;line-height:1.55}.ndb-note--warning{border-left-color:#e39b36;background:#fff9ef}\n.ndb-card img{display:block;width:auto;max-width:min(680px,100%);height:auto;margin:24px auto;border-radius:12px;box-shadow:0 12px 28px rgba(0,18,51,.12)}.ndb-card img.ndb-architecture{width:min(820px,100%);max-width:100%}.ndb-figure-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:24px 0}.ndb-figure-grid figure{margin:0;padding:16px;border:1px solid #dce8ef;border-radius:15px;background:#f8fbfd}.ndb-figure-grid img{width:100%;max-width:100%;margin:0 auto 12px;box-shadow:none}.ndb-figure-grid figcaption{color:#405361;font-size:14px;line-height:1.45}\n.ndb-card table{width:auto;max-width:100%;margin:24px auto;border-collapse:separate;border-spacing:0;overflow:hidden;border-radius:12px;background:#fff;box-shadow:0 10px 24px rgba(0,18,51,.08)}.ndb-card th,.ndb-card td{padding:11px 16px;border-bottom:1px solid #e2e9ee;text-align:left}.ndb-card thead th{background:#12354b!important;color:#fff!important}.ndb-card tbody th{background:#eaf2f6!important;color:#12354b!important;text-align:left}.ndb-card tbody tr:nth-child(even) th{background:#f4f8fa!important}.ndb-card tbody td{color:#33424f!important}.ndb-card td{color:#33424f}.ndb-card tbody tr:last-child td{border-bottom:0}\n.ndb-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:24px 0}.ndb-flow div{position:relative;padding:18px 16px;border-radius:13px;background:#12354b;color:#fff;text-align:center;font-weight:600}.ndb-flow div:not(:last-child):after{content:\"\u2192\";position:absolute;right:-17px;top:50%;z-index:2;transform:translateY(-50%);color:#56a1c8;font-size:22px}\n.ndb-calculator{margin:26px 0;padding:26px;border:1px solid #cfe0ea;border-radius:18px;background:#f8fbfd;box-shadow:0 12px 28px rgba(0,18,51,.08)}.ndb-calculator h3{margin-top:0}.ndb-calculator-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.ndb-field label{display:block;margin-bottom:6px;color:#33424f;font-size:13px;font-weight:700}.ndb-field input{width:100%;padding:10px 11px;border:1px solid #bdcfda;border-radius:8px;background:#fff;color:#1b2635;font:inherit}.ndb-field small{display:block;margin-top:4px;color:#71818d;font-size:11px}.ndb-calc-actions{display:flex;justify-content:center;gap:10px;margin:18px 0}.ndb-calc-actions button{padding:11px 18px;border:0;border-radius:22px;background:#245e80;color:#fff;font:inherit;font-weight:700;cursor:pointer}.ndb-calc-actions button[type=button]{background:#e4edf2;color:#12354b}.ndb-output{max-width:360px;margin:0 auto;padding:20px;border:1px solid #d8e4eb;border-radius:12px;background:#fff;text-align:center}.ndb-output span{display:block;color:#5e707d;font-size:13px}.ndb-output strong{display:block;margin-top:5px;color:#12354b;font-size:28px}.ndb-calc-status{text-align:center;color:#60727f!important;font-size:13px!important}\n.ndb-card details{margin:22px 0;padding:16px 18px;border:1px solid #dce8ef;border-radius:12px;background:#f8fbfd}.ndb-card summary{cursor:pointer;color:#12354b;font-weight:700}.ndb-card pre{overflow-x:auto;margin:15px 0 0;padding:18px;border-radius:10px;background:#edf2f5;color:#1b2635;font:12px\/1.5 Consolas,monospace;white-space:pre}\n@media(max-width:900px){.ndb-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.ndb-value-grid{grid-template-columns:1fr}.ndb-flow{grid-template-columns:1fr 1fr}.ndb-flow div:after{display:none}}\n@media(max-width:680px){.ndb{padding:12px 14px}.ndb-executive{padding:24px 20px}.ndb-executive h2{font-size:24px}.ndb-kpis,.ndb-figure-grid,.ndb-calculator-grid,.ndb-flow{grid-template-columns:1fr}.ndb-calculator{padding:20px 16px}.ndb-card table{font-size:13px}.ndb-card th,.ndb-card td{padding:9px 8px}}\n.ndb .ndb-card details pre{background:#eef3f6!important;color:#12354b!important;border:1px solid #d7e3ea!important;box-shadow:none!important;text-shadow:none!important;-webkit-text-fill-color:#12354b!important}.ndb .ndb-card details pre *{background:transparent!important;color:#12354b!important;-webkit-text-fill-color:#12354b!important}<\/style>\n\n<div class=\"ndb\">\n<div class=\"ndb-wrap\">\n<section class=\"ndb-executive\">\n<h2>Estimate yacht residuary resistance before committing to a hull design<\/h2>\n<p>This hydrodynamic surrogate predicts residuary resistance from five hull-form coefficients and the Froude number. It provides naval architects with a fast screening model for comparing candidate geometries and speeds during early-stage design.<\/p>\n<div class=\"ndb-kpis\"><div class=\"ndb-kpi\"><strong>22<\/strong><span>tested hull forms<\/span><\/div><div class=\"ndb-kpi\"><strong>308<\/strong><span>experimental cases<\/span><\/div><div class=\"ndb-kpi\"><strong>0.947<\/strong><span>recalculated testing R\u00b2<\/span><\/div><div class=\"ndb-kpi\"><strong>3.114<\/strong><span>recalculated testing RMSE<\/span><\/div><\/div>\n<div class=\"ndb-actions\"><a href=\"#7-model-deployment\">Try the model<\/a><a href=\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/10\/yachthydrodynamics.csv\">Download the data<\/a><\/div>\n<\/section>\n<div class=\"ndb-lead\"><p>Residuary resistance influences the power required to reach a target speed and is therefore an important quantity during preliminary hull design. Physical towing-tank campaigns and high-fidelity simulations are valuable but costly to repeat for every candidate. A trained surrogate can provide rapid estimates inside an experimentally represented design space and help engineers decide which alternatives deserve detailed analysis.<\/p><\/div>\n<ul class=\"ndb-toc\"><li><a href=\"#1-industrial-challenge\">Industrial challenge<\/a><\/li><li><a href=\"#2-data-set\">Data set<\/a><\/li><li><a href=\"#3-model\">Model<\/a><\/li><li><a href=\"#4-training\">Training<\/a><\/li><li><a href=\"#5-selection\">Model selection<\/a><\/li><li><a href=\"#6-testing\">Testing<\/a><\/li><li><a href=\"#7-model-deployment\">Deployment<\/a><\/li><li><a href=\"#8-limitations\">Limitations<\/a><\/li><li><a href=\"#references\">References<\/a><\/li><\/ul>\n\n<section id=\"1-industrial-challenge\" class=\"ndb-card\">\n<h2>1. Industrial challenge<\/h2>\n<p>This is an <a href=\"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/neural-networks-applications\/#Approximation\">approximation<\/a> problem: the model maps hull geometry and speed to the continuous response <code>resistance<\/code>, defined in the dataset as residuary resistance per unit weight of displacement.<\/p>\n<div class=\"ndb-value-grid\"><div class=\"ndb-value\"><strong>Screen hull alternatives<\/strong><span>Compare candidate forms before allocating towing-tank or CFD resources.<\/span><\/div><div class=\"ndb-value\"><strong>Explore speed sensitivity<\/strong><span>Quantify how resistance changes with Froude number for a defined hull geometry.<\/span><\/div><div class=\"ndb-value\"><strong>Support early powering studies<\/strong><span>Use rapid resistance estimates as one input to preliminary performance and propulsion decisions.<\/span><\/div><\/div>\n<p>Potential users include naval architects, hydrodynamicists, yacht designers, shipyards, marine engineering consultancies and research teams.<\/p>\n<div class=\"ndb-audience\"><span>Naval architecture<\/span><span>Hydrodynamics<\/span><span>Yacht design<\/span><span>Shipyards<\/span><span>Marine R&amp;D<\/span><\/div>\n<div class=\"ndb-note\"><strong>Model role.<\/strong> This is a data-driven hydrodynamic surrogate for early design-space exploration. It complements, rather than replaces, towing-tank measurements, CFD, powering analysis and class or safety assessment.<\/div>\n<\/section>\n\n<section id=\"2-data-set\" class=\"ndb-card\">\n<h2>2. Data set<\/h2>\n<p>The <a href=\"https:\/\/archive.ics.uci.edu\/dataset\/243\/yacht%2Bhydrodynamics\">Delft Yacht Hydrodynamics dataset<\/a> contains 308 experiments performed at the Delft Ship Hydromechanics Laboratory. It covers 22 hull forms derived from a parent form related to the Standfast 43, with 14 Froude numbers per hull form.<\/p>\n<div class=\"ndb-downloads\"><a href=\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/10\/yachthydrodynamics.csv\">Download dataset (CSV)<\/a><\/div>\n<table><thead><tr><th>Variable<\/th><th>Engineering meaning<\/th><th>Role<\/th><th>Range<\/th><\/tr><\/thead><tbody>\n<tr><td><code>center_of_buoyancy<\/code><\/td><td>Longitudinal centre of buoyancy<\/td><td>Input<\/td><td>-5.00 to 0.00<\/td><\/tr>\n<tr><td><code>prismatic_coefficient<\/code><\/td><td>Prismatic coefficient<\/td><td>Input<\/td><td>0.53 to 0.60<\/td><\/tr>\n<tr><td><code>length_displacement<\/code><\/td><td>Length\u2013displacement ratio<\/td><td>Input<\/td><td>4.34 to 5.14<\/td><\/tr>\n<tr><td><code>beam_draught_ratio<\/code><\/td><td>Beam\u2013draught ratio<\/td><td>Input<\/td><td>2.81 to 5.35<\/td><\/tr>\n<tr><td><code>length_beam_ratio<\/code><\/td><td>Length\u2013beam ratio<\/td><td>Input<\/td><td>2.73 to 3.64<\/td><\/tr>\n<tr><td><code>froude_number<\/code><\/td><td>Dimensionless speed parameter<\/td><td>Input<\/td><td>0.125 to 0.450<\/td><\/tr>\n<tr><td><code>resistance<\/code><\/td><td>Residuary resistance per unit weight of displacement<\/td><td>Target<\/td><td>0.01 to 62.42<\/td><\/tr>\n<\/tbody><\/table>\n<p>There are no missing values. The configured split uses 186 samples for training, 61 for selection and 61 for testing.<\/p>\n<div class=\"ndb-figure-grid\"><figure><img decoding=\"async\" src=\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2026\/07\/yacht-resistance-data-distribution-2026.png\" alt=\"Distribution of yacht residuary resistance\"><figcaption><strong>Target distribution.<\/strong> Most experiments lie in the lower resistance range, with a long upper tail.<\/figcaption><\/figure><figure><img decoding=\"async\" src=\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2026\/07\/yacht-resistance-input-target-correlations-2026.png\" alt=\"Correlations between yacht design inputs and residuary resistance\"><figcaption><strong>Input\u2013target relationships.<\/strong> Froude number is expected to be the dominant driver, while hull coefficients modify the response.<\/figcaption><\/figure><\/div>\n<div class=\"ndb-note ndb-note--warning\"><strong>Validation note.<\/strong> The example uses a random row split. Because every hull form is evaluated at several speeds, rows from the same hull may appear in both training and testing. For a stronger estimate of generalization to new designs, reserve complete hull forms for testing.<\/div>\n<\/section>\n\n\n<section id=\"3-model\" class=\"ndb-card\"><h2>3. Model<\/h2>\n<p>The exported neural network receives six dimensionless inputs and returns one continuous resistance estimate. Mean-and-standard-deviation scaling feeds three tanh hidden neurons; a linear output is then unscaled to the resistance units used by the dataset. The resulting 6\u20133\u20131 model contains 25 trainable parameters and applies no output bounding.<\/p>\n<img decoding=\"async\" class=\"ndb-architecture\" src=\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2026\/07\/yacht-resistance-network-architecture-2026.png\" alt=\"Exported yacht resistance neural network with six inputs, three hidden neurons and one output\"><\/section>\n\n\n<section id=\"4-training\" class=\"ndb-card\"><h2>4. Training strategy<\/h2>\n<p>The model minimizes normalized squared error with L2 regularization (weight 0.01) and the quasi-Newton method. Training stopped after 62 epochs because the loss improvement fell below the configured threshold. The final recorded training and selection errors are <strong>0.017 NSE<\/strong> and <strong>0.007 NSE<\/strong>.<\/p>\n<img decoding=\"async\" src=\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2026\/07\/yacht-resistance-training-history-2026.png\" alt=\"Updated quasi-Newton training and selection error history for the yacht resistance model\"><\/section>\n\n\n<section id=\"5-selection\" class=\"ndb-card\"><h2>5. Model selection<\/h2>\n<p>The current exported deployment model uses three hidden neurons. This is the same architecture described above, evaluated in the testing section and implemented in the browser calculator and downloadable Python model.<\/p>\n<p>For production use, architecture selection should be repeated with complete hull forms held out. A random row split can reward models that interpolate the speed curve of a hull geometry already represented during training.<\/p><\/section>\n\n\n<section id=\"6-testing\" class=\"ndb-card\"><h2>6. Testing analysis<\/h2>\n<p>The exported Python model was independently recalculated on the 61 observations marked as testing in the supplied Neural Designer project. R\u00b2 measures explained variation, while MAE and RMSE express error in the resistance units used by the dataset.<\/p>\n<table><thead><tr><th>Testing samples<\/th><th>R\u00b2<\/th><th>MAE<\/th><th>RMSE<\/th><th>Maximum absolute error<\/th><\/tr><\/thead><tbody><tr><td>61<\/td><td>0.9474<\/td><td>1.881<\/td><td>3.114<\/td><td>16.849<\/td><\/tr><\/tbody><\/table>\n<p>The model captures the dominant speed\u2013resistance trend, but the largest errors occur at the high-resistance end. This matters operationally because those cases can drive powering and feasibility decisions.<\/p>\n<img decoding=\"async\" src=\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2026\/07\/yacht-resistance-goodness-of-fit-2026.png\" alt=\"Updated predicted versus measured yacht residuary resistance chart\">\n<div class=\"ndb-note ndb-note--warning\"><strong>Validation boundary.<\/strong> These metrics describe a random row holdout from one related hull family. They are not evidence of equal accuracy for an unseen hull geometry.<\/div><\/section>\n\n\n<section id=\"7-model-deployment\" class=\"ndb-card\"><h2>7. Model deployment<\/h2>\n<p>The surrogate can be integrated into an early-stage design workflow to screen geometries, generate speed\u2013resistance curves and identify candidates for higher-fidelity analysis.<\/p>\n<div class=\"ndb-flow\"><div>Hull coefficients and target speed<\/div><div>Range and feasibility checks<\/div><div>Hydrodynamic surrogate<\/div><div>Resistance estimate and design decision<\/div><\/div>\n<div class=\"ndb-calculator\" id=\"yacht-calculator\">\n<h3>Try the hydrodynamic surrogate model<\/h3>\n<p>Enter a hull geometry and Froude number within the experimental ranges. The browser evaluates the compact analytical expression published with this example.<\/p>\n<form id=\"yacht-calculator-form\">\n<div class=\"ndb-calculator-grid\">\n<div class=\"ndb-field\"><label for=\"yh-cb\">Longitudinal centre of buoyancy<\/label><input id=\"yh-cb\" type=\"number\" min=\"-5\" max=\"0\" step=\"any\" value=\"-2.3\"><small>-5.00 to 0.00<\/small><\/div>\n<div class=\"ndb-field\"><label for=\"yh-pc\">Prismatic coefficient<\/label><input id=\"yh-pc\" type=\"number\" min=\"0.53\" max=\"0.60\" step=\"any\" value=\"0.60\"><small>0.53 to 0.60<\/small><\/div>\n<div class=\"ndb-field\"><label for=\"yh-ld\">Length\u2013displacement ratio<\/label><input id=\"yh-ld\" type=\"number\" min=\"4.34\" max=\"5.14\" step=\"any\" value=\"4.34\"><small>4.34 to 5.14<\/small><\/div>\n<div class=\"ndb-field\"><label for=\"yh-bd\">Beam\u2013draught ratio<\/label><input id=\"yh-bd\" type=\"number\" min=\"2.81\" max=\"5.35\" step=\"any\" value=\"4.23\"><small>2.81 to 5.35<\/small><\/div>\n<div class=\"ndb-field\"><label for=\"yh-lb\">Length\u2013beam ratio<\/label><input id=\"yh-lb\" type=\"number\" min=\"2.73\" max=\"3.64\" step=\"any\" value=\"2.73\"><small>2.73 to 3.64<\/small><\/div>\n<div class=\"ndb-field\"><label for=\"yh-fn\">Froude number<\/label><input id=\"yh-fn\" type=\"number\" min=\"0.125\" max=\"0.45\" step=\"any\" value=\"0.2875\"><small>0.125 to 0.450<\/small><\/div>\n<\/div>\n<div class=\"ndb-calc-actions\"><button type=\"submit\">Calculate resistance<\/button><button type=\"button\" id=\"yacht-reset\">Reset example<\/button><\/div>\n<\/form>\n<div class=\"ndb-output\" aria-live=\"polite\"><span>Predicted residuary resistance<\/span><strong id=\"yh-output\">\u2014<\/strong><\/div>\n<p class=\"ndb-calc-status\" id=\"yacht-status\">Demonstration surrogate \u2014 not a certified hull-design or powering tool.<\/p>\n<\/div>\n\n\n<h3>Response optimization<\/h3>\n<p>The updated run minimizes predicted resistance while constraining the longitudinal centre of buoyancy between -3 and -2. It returns the following feasible point inside the declared bounds:<\/p>\n<table><thead><tr><th>Quantity<\/th><th>Optimized value<\/th><\/tr><\/thead><tbody><tr><td>Centre of buoyancy<\/td><td>-2.341<\/td><\/tr><tr><td>Prismatic coefficient<\/td><td>0.564<\/td><\/tr><tr><td>Length\u2013displacement ratio<\/td><td>4.943<\/td><\/tr><tr><td>Beam\u2013draught ratio<\/td><td>4.902<\/td><\/tr><tr><td>Length\u2013beam ratio<\/td><td>2.898<\/td><\/tr><tr><td>Froude number<\/td><td>0.152<\/td><\/tr><tr><td>Predicted resistance<\/td><td>0.008<\/td><\/tr><\/tbody><\/table>\n<div class=\"ndb-note ndb-note--warning\"><strong>Engineering interpretation.<\/strong> Because speed and nearly every hull coefficient are free, minimizing resistance naturally selects a low Froude number. A decision-grade optimization should hold the required mission speed, displacement, stability, capacity and geometric feasibility as constraints.<\/div>\n<h3>Directional response<\/h3>\n<p>The updated directional output varies Froude number around a reference hull defined by centre of buoyancy -2.3, prismatic coefficient 0.53, length\u2013displacement ratio 4.76, beam\u2013draught ratio 3.68 and length\u2013beam ratio 3.16.<\/p>\n<img decoding=\"async\" src=\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2026\/07\/yacht-resistance-directional-output-2026.png\" alt=\"Updated predicted yacht resistance as a function of Froude number\">\n<h3>Download and reproduce<\/h3>\n<p>The deployment package contains the current Python and browser models. The project package contains the Neural Designer project and its CSV dataset.<\/p>\n<div class=\"ndb-downloads\"><a href=\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2026\/07\/yachthydrodynamics-deployment-2026.zip\">Download Python and HTML models (ZIP)<\/a><a href=\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2026\/07\/yachthydrodynamics-project-2026.zip\">Download Neural Designer project (ZIP)<\/a><\/div>\n<\/section>\n\n<section id=\"8-limitations\" class=\"ndb-card\">\n<h2>8. Scope and limitations<\/h2>\n<ul><li>The dataset represents 22 related hull forms derived from one parent family, not the full yacht design space.<\/li><li>The model is valid only inside the coefficient and Froude-number ranges shown above.<\/li><li>The response covers residuary resistance per unit weight of displacement; total powering also requires other resistance components and propulsion-system assumptions.<\/li><li>The random row split does not prove generalization to unseen hull forms.<\/li><li>Feasible design constraints, stability, seakeeping, structural requirements and regulatory criteria are outside this surrogate.<\/li><li>Final decisions should be confirmed with naval-architecture analysis, CFD, model testing or full-scale evidence as appropriate.<\/li><\/ul>\n<\/section>\n\n<section id=\"references\" class=\"ndb-card\"><h2>References<\/h2><ul><li>Gerritsma, J., Onnink, R., &amp; Versluis, A. (1981). <a href=\"https:\/\/doi.org\/10.24432\/C5XG7R\">Yacht Hydrodynamics dataset<\/a>, UCI Machine Learning Repository.<\/li><li>Ortigosa, I., L\u00f3pez, R., &amp; Garc\u00eda, J. (2007). A neural networks approach to residuary resistance of sailing yachts prediction. Proceedings of MARINE 2007.<\/li><\/ul><\/section>\n<script>\n(function(){\nconst form=document.getElementById(\"yacht-calculator-form\");if(!form)return;\nconst ids=[\"yh-cb\",\"yh-pc\",\"yh-ld\",\"yh-bd\",\"yh-lb\",\"yh-fn\"],defaults=[-2.3,.6,4.34,4.23,2.73,.2875];\nfunction calculate(){\nconst fields=ids.map(id=>document.getElementById(id)),x=fields.map(f=>Number(f.value));\nif(x.some(v=>!Number.isFinite(v))){document.getElementById(\"yacht-status\").textContent=\"Enter a valid number in every field.\";return}\nlet outside=false;fields.forEach((f,i)=>{const bad=x[i]<Number(f.min)||x[i]>Number(f.max);f.setAttribute(\"aria-invalid\",bad?\"true\":\"false\");outside=outside||bad});\nconst s=[(x[0]+2.332259893)\/1.557940006,(x[1]-.5643979907)\/.02413929999,(x[2]-4.807899952)\/.2543359995,(x[3]-3.940160036)\/.514253974,(x[4]-3.221669912)\/.2346200049,(x[5]-.2920700014)\/.1030329987];\nconst h0=Math.tanh(-1.624876022+.0473299697*s[0]-.0507151112*s[1]+.08398809284*s[2]-.08061503619*s[3]-.07257084548*s[4]+1.377196312*s[5]);\nconst h1=Math.tanh(-.2205873877+.03719035909*s[0]+.09285774827*s[1]+.1199649051*s[2]-.02929133549*s[3]-.08298594505*s[4]+.3838395476*s[5]);\nconst h2=Math.tanh(.2471629679-.01227199845*s[0]+.009985677898*s[1]+.01068630815*s[2]+.001322321361*s[3]-.01650547422*s[4]-.03361690044*s[5]);\nconst scaled=1.051168919+1.91547513*h0+.1570525169*h1+.7089652419*h2;\nconst resistance=scaled*15.48341465+11.24392509;\ndocument.getElementById(\"yh-output\").textContent=resistance.toFixed(3);\ndocument.getElementById(\"yacht-status\").textContent=outside?\"Warning: one or more inputs are outside the training range; this prediction should not be trusted.\":\"All inputs are within the ranges represented in the dataset.\";\n}\nform.addEventListener(\"submit\",e=>{e.preventDefault();calculate()});\ndocument.getElementById(\"yacht-reset\").addEventListener(\"click\",()=>{ids.forEach((id,i)=>document.getElementById(id).value=defaults[i]);calculate()});\ncalculate();\n})();\n<\/script>\n<\/div>\n<\/div>\n","protected":false},"author":13,"featured_media":1275,"template":"","categories":[29],"tags":[43],"class_list":["post-3530","learning","type-learning","status-publish","has-post-thumbnail","hentry","category-examples","tag-industry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Yacht hydrodynamics modeling using machine learning<\/title>\n<meta name=\"description\" content=\"Build a machine learning model to predict the hydrodynamics performance of sailing yachts from dimensions and velocity.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.neuraldesigner.com\/learning\/examples\/yacht-hydrodynamics-modeling\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Yacht hydrodynamics modeling using machine learning\" \/>\n<meta property=\"og:description\" content=\"In this example we predict the hydrodynamic performance of sailing yachts from dimensions and velocity using the machine learning.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.neuraldesigner.com\/learning\/examples\/yacht-hydrodynamics-modeling\/\" \/>\n<meta property=\"og:site_name\" content=\"Neural Designer\" \/>\n<meta property=\"article:modified_time\" content=\"2026-08-25T12:03:38+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/06\/yacht-resistance.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"800\" \/>\n\t<meta property=\"og:image:height\" content=\"419\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:title\" content=\"Yacht hydrodynamics modeling using machine learning\" \/>\n<meta name=\"twitter:description\" content=\"In this example we predict the hydrodynamic performance of sailing yachts from dimensions and velocity using the machine learning.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/06\/yacht-resistance.webp\" \/>\n<meta name=\"twitter:site\" content=\"@NeuralDesigner\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.neuraldesigner.com\/learning\/examples\/yacht-hydrodynamics-modeling\/\",\"url\":\"https:\/\/www.neuraldesigner.com\/learning\/examples\/yacht-hydrodynamics-modeling\/\",\"name\":\"Yacht hydrodynamics modeling using machine learning\",\"isPartOf\":{\"@id\":\"https:\/\/www.neuraldesigner.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.neuraldesigner.com\/learning\/examples\/yacht-hydrodynamics-modeling\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.neuraldesigner.com\/learning\/examples\/yacht-hydrodynamics-modeling\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/06\/yacht-resistance.webp\",\"datePublished\":\"2023-08-31T11:12:58+00:00\",\"dateModified\":\"2026-08-25T12:03:38+00:00\",\"description\":\"Build a machine learning model to predict the hydrodynamics performance of sailing yachts from dimensions and velocity.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.neuraldesigner.com\/learning\/examples\/yacht-hydrodynamics-modeling\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.neuraldesigner.com\/learning\/examples\/yacht-hydrodynamics-modeling\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.neuraldesigner.com\/learning\/examples\/yacht-hydrodynamics-modeling\/#primaryimage\",\"url\":\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/06\/yacht-resistance.webp\",\"contentUrl\":\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/06\/yacht-resistance.webp\",\"width\":800,\"height\":419,\"caption\":\"Yacht hydrodynamic resistance\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.neuraldesigner.com\/learning\/examples\/yacht-hydrodynamics-modeling\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.neuraldesigner.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Learning\",\"item\":\"https:\/\/www.neuraldesigner.com\/learning\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Yacht hydrodynamics modeling using machine learning\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.neuraldesigner.com\/#website\",\"url\":\"https:\/\/www.neuraldesigner.com\/\",\"name\":\"Neural Designer\",\"description\":\"Explainable AI Platform\",\"publisher\":{\"@id\":\"https:\/\/www.neuraldesigner.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.neuraldesigner.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.neuraldesigner.com\/#organization\",\"name\":\"Neural Designer\",\"url\":\"https:\/\/www.neuraldesigner.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.neuraldesigner.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/05\/logo-neural-1.png\",\"contentUrl\":\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/05\/logo-neural-1.png\",\"width\":1024,\"height\":223,\"caption\":\"Neural Designer\"},\"image\":{\"@id\":\"https:\/\/www.neuraldesigner.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/x.com\/NeuralDesigner\",\"https:\/\/es.linkedin.com\/showcase\/neuraldesigner\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Yacht hydrodynamics modeling using machine learning","description":"Build a machine learning model to predict the hydrodynamics performance of sailing yachts from dimensions and velocity.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.neuraldesigner.com\/learning\/examples\/yacht-hydrodynamics-modeling\/","og_locale":"en_US","og_type":"article","og_title":"Yacht hydrodynamics modeling using machine learning","og_description":"In this example we predict the hydrodynamic performance of sailing yachts from dimensions and velocity using the machine learning.","og_url":"https:\/\/www.neuraldesigner.com\/learning\/examples\/yacht-hydrodynamics-modeling\/","og_site_name":"Neural Designer","article_modified_time":"2026-08-25T12:03:38+00:00","og_image":[{"width":800,"height":419,"url":"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/06\/yacht-resistance.webp","type":"image\/webp"}],"twitter_card":"summary_large_image","twitter_title":"Yacht hydrodynamics modeling using machine learning","twitter_description":"In this example we predict the hydrodynamic performance of sailing yachts from dimensions and velocity using the machine learning.","twitter_image":"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/06\/yacht-resistance.webp","twitter_site":"@NeuralDesigner","twitter_misc":{"Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.neuraldesigner.com\/learning\/examples\/yacht-hydrodynamics-modeling\/","url":"https:\/\/www.neuraldesigner.com\/learning\/examples\/yacht-hydrodynamics-modeling\/","name":"Yacht hydrodynamics modeling using machine learning","isPartOf":{"@id":"https:\/\/www.neuraldesigner.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.neuraldesigner.com\/learning\/examples\/yacht-hydrodynamics-modeling\/#primaryimage"},"image":{"@id":"https:\/\/www.neuraldesigner.com\/learning\/examples\/yacht-hydrodynamics-modeling\/#primaryimage"},"thumbnailUrl":"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/06\/yacht-resistance.webp","datePublished":"2023-08-31T11:12:58+00:00","dateModified":"2026-08-25T12:03:38+00:00","description":"Build a machine learning model to predict the hydrodynamics performance of sailing yachts from dimensions and velocity.","breadcrumb":{"@id":"https:\/\/www.neuraldesigner.com\/learning\/examples\/yacht-hydrodynamics-modeling\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.neuraldesigner.com\/learning\/examples\/yacht-hydrodynamics-modeling\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.neuraldesigner.com\/learning\/examples\/yacht-hydrodynamics-modeling\/#primaryimage","url":"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/06\/yacht-resistance.webp","contentUrl":"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/06\/yacht-resistance.webp","width":800,"height":419,"caption":"Yacht hydrodynamic resistance"},{"@type":"BreadcrumbList","@id":"https:\/\/www.neuraldesigner.com\/learning\/examples\/yacht-hydrodynamics-modeling\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.neuraldesigner.com\/"},{"@type":"ListItem","position":2,"name":"Learning","item":"https:\/\/www.neuraldesigner.com\/learning\/"},{"@type":"ListItem","position":3,"name":"Yacht hydrodynamics modeling using machine learning"}]},{"@type":"WebSite","@id":"https:\/\/www.neuraldesigner.com\/#website","url":"https:\/\/www.neuraldesigner.com\/","name":"Neural Designer","description":"Explainable AI Platform","publisher":{"@id":"https:\/\/www.neuraldesigner.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.neuraldesigner.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.neuraldesigner.com\/#organization","name":"Neural Designer","url":"https:\/\/www.neuraldesigner.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.neuraldesigner.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/05\/logo-neural-1.png","contentUrl":"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/05\/logo-neural-1.png","width":1024,"height":223,"caption":"Neural Designer"},"image":{"@id":"https:\/\/www.neuraldesigner.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/NeuralDesigner","https:\/\/es.linkedin.com\/showcase\/neuraldesigner\/"]}]}},"_links":{"self":[{"href":"https:\/\/www.neuraldesigner.com\/api\/wp\/v2\/learning\/3530","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.neuraldesigner.com\/api\/wp\/v2\/learning"}],"about":[{"href":"https:\/\/www.neuraldesigner.com\/api\/wp\/v2\/types\/learning"}],"author":[{"embeddable":true,"href":"https:\/\/www.neuraldesigner.com\/api\/wp\/v2\/users\/13"}],"version-history":[{"count":15,"href":"https:\/\/www.neuraldesigner.com\/api\/wp\/v2\/learning\/3530\/revisions"}],"predecessor-version":[{"id":23688,"href":"https:\/\/www.neuraldesigner.com\/api\/wp\/v2\/learning\/3530\/revisions\/23688"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.neuraldesigner.com\/api\/wp\/v2\/media\/1275"}],"wp:attachment":[{"href":"https:\/\/www.neuraldesigner.com\/api\/wp\/v2\/media?parent=3530"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.neuraldesigner.com\/api\/wp\/v2\/categories?post=3530"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.neuraldesigner.com\/api\/wp\/v2\/tags?post=3530"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}