<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: NovaSolver</title>
    <description>The latest articles on Forem by NovaSolver (@01888927bd0e8aa92caca).</description>
    <link>https://forem.com/01888927bd0e8aa92caca</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3944450%2F57accb63-609f-4326-9282-a4dc4c58d556.PNG</url>
      <title>Forem: NovaSolver</title>
      <link>https://forem.com/01888927bd0e8aa92caca</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/01888927bd0e8aa92caca"/>
    <language>en</language>
    <item>
      <title>Fatigue and Fracture Mechanics: Why Parts Break Below Their Yield Strength</title>
      <dc:creator>NovaSolver</dc:creator>
      <pubDate>Tue, 26 May 2026 00:17:03 +0000</pubDate>
      <link>https://forem.com/01888927bd0e8aa92caca/fatigue-and-fracture-mechanics-why-parts-break-below-their-yield-strength-ei2</link>
      <guid>https://forem.com/01888927bd0e8aa92caca/fatigue-and-fracture-mechanics-why-parts-break-below-their-yield-strength-ei2</guid>
      <description>&lt;p&gt;A static strength check asks one question: is the applied stress below the yield strength? Pass that check and a part will not break — under a single, steady load. Yet machine components fail constantly at stresses far below yield. Aircraft fittings, crankshafts, railway axles, bridge welds: they break after months or years of service, under loads they carried without complaint on day one. The reason is fatigue, and explaining it requires a different way of thinking about strength.&lt;/p&gt;

&lt;p&gt;This article covers the two pillars of durability analysis — the stress-life approach and fracture mechanics — and works the critical-crack-size calculation that ties them together.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why this calculation matters
&lt;/h2&gt;

&lt;p&gt;Most real loads are not static. They cycle: a rotating shaft sees alternating bending every revolution, a pressure vessel breathes with every duty cycle, a wing flexes with every gust. Repeated loading does something a single load never does — it grows microscopic flaws into cracks, cycle by cycle, until a crack reaches a size the part can no longer tolerate. Then it breaks suddenly, often with no visible warning.&lt;/p&gt;

&lt;p&gt;Because the stress is below yield the whole time, a yield-based check gives a false sense of safety. Fatigue is one of the most common causes of mechanical failure in service. Any rotating, vibrating, or pressure-cycling component needs a durability check, not just a strength check — and that means estimating either how many cycles it survives, or how large a crack it can tolerate.&lt;/p&gt;

&lt;h2&gt;
  
  
  The two approaches
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Stress-life (the S-N curve).&lt;/strong&gt; Test specimens are cycled at various stress amplitudes and the cycles-to-failure recorded. Plotting stress amplitude against cycles produces the S-N curve: higher stress, fewer cycles. For many steels the curve flattens into an &lt;strong&gt;endurance limit&lt;/strong&gt; — a stress below which the part survives essentially indefinitely. As a rough guide it sits near half the ultimate tensile strength. Real loads also carry a mean stress, and a tensile mean is damaging; the Goodman relation corrects the allowable amplitude for it. Stress-life is the right tool when no crack is assumed and you want a cycle count.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Fracture mechanics.&lt;/strong&gt; This approach assumes a crack already exists — because in welds, castings, and forgings, one effectively always does. The key quantity is the &lt;strong&gt;stress intensity factor K&lt;/strong&gt;, which measures how severely stress is concentrated at the crack tip:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;K = Y * sigma * sqrt(pi * a)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Here sigma is the applied stress, a is the crack length, and Y is a geometry factor near 1. Fast, unstable fracture occurs when K reaches the material's &lt;strong&gt;fracture toughness K_IC&lt;/strong&gt;. Rearranging gives the most useful result in the field — the largest crack a part can tolerate at a given stress:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;a_c = (1/pi) * ( K_IC / (Y * sigma) )^2
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Between a small initial flaw and that critical size, the crack grows a little each cycle. The Paris law, da/dN = C·(delta-K)^m, describes that growth rate and lets you integrate a remaining fatigue life.&lt;/p&gt;

&lt;h2&gt;
  
  
  A worked example
&lt;/h2&gt;

&lt;p&gt;A steel plate carries a cyclic tensile stress with a peak of sigma = 200 MPa. The steel has a fracture toughness K_IC = 50 MPa·sqrt(m). Inspection can reliably detect an edge crack; the geometry factor for a single-edge crack is Y = 1.12. What crack size triggers fast fracture?&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;a_c = (1/pi) * ( K_IC / (Y * sigma) )^2
a_c = (1/pi) * ( 50 / (1.12 x 200) )^2
a_c = (1/pi) * ( 0.223 )^2
a_c = (1/pi) * 0.0498 = 0.0159 m = 15.9 mm
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;So an edge crack of about &lt;strong&gt;16 mm&lt;/strong&gt; would cause this plate to fracture suddenly at 200 MPa. That single number drives real decisions. It sets the inspection interval: the technique used must reliably find cracks well below 16 mm, with margin. It sets the retirement rule: a crack approaching that size means the part comes out of service. And combined with the Paris law, the gap between the smallest detectable flaw and a_c becomes a predicted number of safe cycles between inspections. This is the backbone of the damage-tolerant design philosophy used throughout aerospace.&lt;/p&gt;

&lt;h2&gt;
  
  
  Common mistakes
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Trusting a yield check for cyclic loads.&lt;/strong&gt; Yield strength governs static failure. It says nothing about whether a part survives ten million cycles. Cyclic loading needs its own analysis.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ignoring stress concentrations.&lt;/strong&gt; Fatigue cracks start at geometric features — fillets, holes, keyways, weld toes. The nominal stress can be modest while the local stress at a sharp fillet is several times higher. The notch is where the crack begins.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Forgetting mean stress.&lt;/strong&gt; Two loadings with the same amplitude but different mean stress do not give the same life. A tensile mean shortens it. Use a Goodman-type correction rather than the amplitude alone.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Assuming a flawless part.&lt;/strong&gt; Welds, castings, and forgings contain defects from the moment they are made. Fracture mechanics starts from that honest assumption; a stress-life analysis that presumes a pristine part can be dangerously optimistic for those processes.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try the interactive NovaSolver calculator
&lt;/h2&gt;

&lt;p&gt;The relationship between stress, crack size, and toughness is best understood by moving the variables and watching the critical size respond. The &lt;a href="https://novasolver.jp/en/tools/fracture-mechanics.html?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm_campaign=en_devto_article" rel="noopener noreferrer"&gt;fracture mechanics calculator&lt;/a&gt; on NovaSolver computes the stress intensity factor and the critical crack size for common crack geometries, so you can see directly how a higher stress shrinks the tolerable flaw.&lt;/p&gt;

&lt;h2&gt;
  
  
  Related calculators
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://novasolver.jp/en/tools/paris-law.html?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm_campaign=en_devto_article" rel="noopener noreferrer"&gt;Paris law crack growth&lt;/a&gt; — to integrate how fast a crack grows and estimate remaining life.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://novasolver.jp/en/tools/sn-curve.html?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm_campaign=en_devto_article" rel="noopener noreferrer"&gt;S-N curve&lt;/a&gt; — the stress-life view, including the endurance limit.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://novasolver.jp/en/tools/fatigue-goodman.html?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm_campaign=en_devto_article" rel="noopener noreferrer"&gt;Goodman diagram&lt;/a&gt; — the mean-stress correction for cyclic loads with a non-zero average.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The full set is in the &lt;a href="https://novasolver.jp/en/tools/category/fracture.html?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm_campaign=en_devto_article" rel="noopener noreferrer"&gt;fatigue and fracture tools hub&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Closing note
&lt;/h2&gt;

&lt;p&gt;Fatigue and fracture mechanics explain the failures that a strength check never sees coming. The stress-life view answers "how many cycles" for a part assumed sound; fracture mechanics answers "how large a crack" for a part assumed flawed. Together they turn durability from a hope into a calculation: estimate the critical crack size, set inspections well inside it, account for stress concentrations and mean stress, and design so that a crack is found and managed long before it becomes sudden. That is why well-engineered structures last — not because they never crack, but because cracking was planned for.&lt;/p&gt;

</description>
      <category>engineering</category>
      <category>science</category>
      <category>fracture</category>
    </item>
    <item>
      <title>Buck Converter Ripple: Sizing the Inductor and Capacitor With Confidence</title>
      <dc:creator>NovaSolver</dc:creator>
      <pubDate>Mon, 25 May 2026 12:17:02 +0000</pubDate>
      <link>https://forem.com/01888927bd0e8aa92caca/buck-converter-ripple-sizing-the-inductor-and-capacitor-with-confidence-3l2g</link>
      <guid>https://forem.com/01888927bd0e8aa92caca/buck-converter-ripple-sizing-the-inductor-and-capacitor-with-confidence-3l2g</guid>
      <description>&lt;p&gt;A buck converter takes a higher DC voltage and steps it down efficiently by switching a transistor on and off very fast. On a datasheet it looks clean: 12 V in, 5 V out. On an oscilloscope the output is never a flat line — it carries a small, periodic wobble called ripple. Ripple is not a defect; it is an unavoidable consequence of switching. The engineer's job is not to eliminate it but to &lt;strong&gt;size the inductor and output capacitor so the ripple stays within budget&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;This article explains where buck-converter ripple comes from, works the numbers for a realistic design, and explains why the capacitor's parasitic resistance often matters more than its capacitance.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why this calculation matters
&lt;/h2&gt;

&lt;p&gt;Ripple is a specification, not an afterthought. Digital loads, sensitive analog circuits, and RF sections all have a maximum supply-ripple they tolerate. Exceed it and you get bit errors, elevated noise floors, or audible whine. The two components that set the ripple — the inductor and the output capacitor — are also among the largest and most expensive parts in the converter.&lt;/p&gt;

&lt;p&gt;Oversize them and you waste board area and cost. Undersize them and the converter fails its noise spec, or the inductor saturates and the design becomes unreliable. Calculating ripple up front is how you land in between: meeting the spec without paying for margin you do not need.&lt;/p&gt;

&lt;h2&gt;
  
  
  The core formulas
&lt;/h2&gt;

&lt;p&gt;Ripple analysis starts with the &lt;strong&gt;duty cycle&lt;/strong&gt;, the fraction of each switching period the transistor is on. For an ideal buck converter:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;D = Vout / Vin
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;While the switch is off, the output voltage drives current down through the inductor. That produces a triangular &lt;strong&gt;inductor ripple current&lt;/strong&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;delta_IL = Vout * (1 - D) / (L * fsw)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;where L is the inductance and fsw the switching frequency. A larger inductor or a higher switching frequency both shrink the current ripple.&lt;/p&gt;

&lt;p&gt;That triangular current flows into the output capacitor, and it produces output voltage ripple through two separate mechanisms.&lt;/p&gt;

&lt;p&gt;The first is the capacitance itself charging and discharging:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;delta_Vcap = delta_IL / (8 * C * fsw)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The second, often larger, is the ripple current flowing through the capacitor's &lt;strong&gt;equivalent series resistance (ESR)&lt;/strong&gt; — a real, parasitic resistance inside every capacitor:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;delta_Vesr = delta_IL * ESR
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The total output ripple is a combination of these two. Which one dominates is the central design insight.&lt;/p&gt;

&lt;h2&gt;
  
  
  A worked example
&lt;/h2&gt;

&lt;p&gt;Design point: Vin = 12 V, Vout = 5 V, switching frequency fsw = 500 kHz, inductor L = 10 µH, output capacitor C = 47 µF with an ESR of 20 mOhm.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 1 — duty cycle.&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;D = 5 / 12 = 0.417
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Step 2 — inductor ripple current.&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;delta_IL = 5 x (1 - 0.417) / (10e-6 x 500e3)
delta_IL = 5 x 0.583 / 5.0 = 0.583 A
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The inductor current swings about 0.58 A peak-to-peak around its DC average.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 3 — capacitive ripple component.&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;delta_Vcap = 0.583 / (8 x 47e-6 x 500e3) = 0.583 / 188 = 3.1 mV
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Step 4 — ESR ripple component.&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;delta_Vesr = 0.583 x 0.020 = 11.7 mV
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Here is the punchline. The capacitance contributes about 3 mV; the ESR contributes nearly 12 mV — almost four times as much. For this design — a 47 uF capacitor with 20 mOhm of ESR, typical of an electrolytic or polymer part — the output ripple is &lt;strong&gt;dominated by ESR, not by capacitance&lt;/strong&gt;. Adding more microfarads of the same capacitor type barely helps. To cut the ripple you need lower ESR: a better dielectric, or several capacitors in parallel so their ESRs divide. With a bank of low-ESR ceramics the balance can tip back, and the capacitive term sets the ripple instead.&lt;/p&gt;

&lt;h2&gt;
  
  
  Common mistakes
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Choosing a capacitor by capacitance alone.&lt;/strong&gt; As the example shows, ESR often sets the ripple. A 47 µF low-ESR ceramic can outperform a 470 µF electrolytic with high ESR. Read the ESR spec, not just the microfarad value.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ignoring inductor saturation.&lt;/strong&gt; The peak inductor current is the DC load current plus half the ripple. If that peak exceeds the inductor's saturation rating, the inductance collapses, ripple explodes, and the converter can fail. Always check the peak, not the average.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Forgetting the discontinuous-conduction mode.&lt;/strong&gt; The ripple formulas above assume continuous conduction — the inductor current never reaches zero. At light load the converter can enter discontinuous mode, where the behaviour and the equations change.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Assuming higher frequency is free.&lt;/strong&gt; Raising fsw shrinks ripple and shrinks the magnetics, which is tempting. But switching losses rise with frequency, hurting efficiency and adding heat. It is a genuine trade-off, not a free lunch.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try the interactive NovaSolver calculator
&lt;/h2&gt;

&lt;p&gt;Ripple design is a balancing act between L, C, ESR, and fsw, and it is far easier to feel when the numbers move together. The &lt;a href="https://novasolver.jp/en/tools/buck-converter-ripple.html?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm_campaign=en_devto_article" rel="noopener noreferrer"&gt;buck converter ripple calculator&lt;/a&gt; on NovaSolver computes duty cycle, inductor ripple current, and both ripple components — so you can see immediately whether your design is capacitance-limited or ESR-limited.&lt;/p&gt;

&lt;h2&gt;
  
  
  Related calculators
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://novasolver.jp/en/tools/boost-converter-duty-cycle.html?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm_campaign=en_devto_article" rel="noopener noreferrer"&gt;Boost converter duty cycle&lt;/a&gt; — the step-up sibling topology and its operating point.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://novasolver.jp/en/tools/pwm-control.html?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm_campaign=en_devto_article" rel="noopener noreferrer"&gt;PWM control&lt;/a&gt; — the pulse-width modulation that sets the duty cycle in the first place.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://novasolver.jp/en/tools/inductor-rl.html?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm_campaign=en_devto_article" rel="noopener noreferrer"&gt;Inductor RL behaviour&lt;/a&gt; — how current builds and decays in an inductor, the mechanism behind the ripple.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The full set is in the &lt;a href="https://novasolver.jp/en/tools/category/em-power-electronics.html?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm_campaign=en_devto_article" rel="noopener noreferrer"&gt;power electronics tools hub&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Closing note
&lt;/h2&gt;

&lt;p&gt;Buck-converter ripple is a small calculation that decides whether a power supply quietly does its job or pollutes everything downstream. The chain of logic is short: duty cycle sets the operating point, the inductor and switching frequency set the ripple current, and that current turns into output ripple through both capacitance and ESR. The lesson most beginners miss is to look past the microfarad rating: depending on the capacitor technology, ESR often sets the ripple. Size L for an acceptable ripple current, check the saturation peak, and choose the output capacitor for low ESR — and your output will look like the flat line the datasheet promised.&lt;/p&gt;

</description>
      <category>engineering</category>
      <category>science</category>
      <category>buck</category>
      <category>em</category>
    </item>
    <item>
      <title>Bearing Life (L10): What the Catalog Number Really Tells You</title>
      <dc:creator>NovaSolver</dc:creator>
      <pubDate>Mon, 25 May 2026 00:17:03 +0000</pubDate>
      <link>https://forem.com/01888927bd0e8aa92caca/bearing-life-l10-what-the-catalog-number-really-tells-you-p9o</link>
      <guid>https://forem.com/01888927bd0e8aa92caca/bearing-life-l10-what-the-catalog-number-really-tells-you-p9o</guid>
      <description>&lt;p&gt;Open any rolling-bearing catalog and you will find, next to each part, a number called the dynamic load rating, C. It is tempting to read it as "the load this bearing can carry." It is not. C is a reference figure tied to a specific, statistical definition of life — and once you understand that definition, the catalog stops being a mystery and becomes a design tool. Bearing life is fundamentally a fatigue and probability calculation, not a static strength check.&lt;/p&gt;

&lt;p&gt;This article explains what L10 life means, works the calculation from load rating to service hours, and connects it to the contact stress that ultimately sets the limit.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why this calculation matters
&lt;/h2&gt;

&lt;p&gt;A bearing rarely fails because it is overloaded in one moment. It fails because rolling contact, repeated millions of times, drives subsurface fatigue cracks until a piece of the raceway spalls. Because fatigue is inherently scattered, two identical bearings under identical loads will not fail at the same time. There is no single "the bearing lasts X hours."&lt;/p&gt;

&lt;p&gt;So bearing life is quoted as a statistic. &lt;strong&gt;L10 life&lt;/strong&gt; is the life that 90 % of a population of bearings will reach or exceed before the first sign of fatigue — equivalently, the life at which 10 % are expected to have failed. Designing to L10 is designing with a defined, 90 % reliability. Treat C as a maximum allowable load and you have no idea what reliability you are buying.&lt;/p&gt;

&lt;h2&gt;
  
  
  The core formula
&lt;/h2&gt;

&lt;p&gt;The basic rating life, in millions of revolutions, comes from the load rating and the actual load:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;L10 = (C / P) ^ p
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;C&lt;/strong&gt; is the dynamic load rating from the catalog — by definition, the load that gives an L10 of one million revolutions.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;P&lt;/strong&gt; is the equivalent dynamic load actually seen by the bearing.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;p&lt;/strong&gt; is the life exponent: &lt;strong&gt;3 for ball bearings&lt;/strong&gt;, &lt;strong&gt;10/3 for roller bearings&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Two consequences are worth absorbing. First, the exponent makes life ferociously sensitive to load. For a ball bearing, cutting the load in half multiplies life by 2^3 = &lt;strong&gt;eight&lt;/strong&gt;. Doubling the load divides life by eight. Load is by far the strongest lever you have.&lt;/p&gt;

&lt;p&gt;Second, P is rarely just the radial force. A bearing carrying both radial load Fr and axial load Fa uses an equivalent dynamic load:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;P = X * Fr + Y * Fa
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;where the factors X and Y come from the bearing type and the load ratio. Skipping this and using the raw radial force underestimates P and overestimates life.&lt;/p&gt;

&lt;p&gt;To convert revolutions into something a customer understands — hours of service at a rotational speed n in rpm:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;L10h = L10 * 1e6 / (60 * n)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  A worked example
&lt;/h2&gt;

&lt;p&gt;A deep-groove ball bearing has a catalog dynamic load rating C = 30 kN. In service the equivalent dynamic load works out to P = 3.0 kN, and the shaft turns at n = 1500 rpm.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 1 — basic rating life in revolutions.&lt;/strong&gt; Ball bearing, so p = 3:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;L10 = (C / P)^3 = (30 / 3.0)^3 = 10^3 = 1000 million revolutions
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Step 2 — convert to hours.&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;L10h = 1000e6 / (60 x 1500) = 1000e6 / 90000 = 11,100 hours
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;So 90 % of these bearings should run past about &lt;strong&gt;11,100 hours&lt;/strong&gt; before fatigue spalling — roughly 16 months of continuous duty. If that is not enough, the formula tells you exactly what to do: a 26 % increase in C, or a 21 % reduction in P, doubles the life. Because of the cube, small load reductions buy disproportionate life.&lt;/p&gt;

&lt;p&gt;The basic L10 is the starting point. A modified rating life multiplies it by factors for reliability other than 90 %, and for lubrication and contamination — the ISO 281 modified life. Clean lubrication and a thick oil film can extend life severalfold; contamination can slash it. The catalog number assumes good conditions.&lt;/p&gt;

&lt;h2&gt;
  
  
  Common mistakes
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Reading C as a load limit.&lt;/strong&gt; C is a statistical reference, not a capacity. Running a bearing near C gives an L10 of only one million revolutions — minutes of life at speed. Real designs operate well below C.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Using radial load when there is an axial component.&lt;/strong&gt; Most bearings see combined loading. The equivalent dynamic load P, with its X and Y factors, is the value the life formula needs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ignoring lubrication and contamination.&lt;/strong&gt; The basic L10 assumes adequate lubrication and clean operation. A starved or dirty bearing can fall far short. Use the modified life when conditions are not ideal.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Forgetting the speed.&lt;/strong&gt; L10 in revolutions says nothing about calendar time until you divide by speed. The same bearing and load give very different service hours at 300 rpm versus 3000 rpm.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try the interactive NovaSolver calculator
&lt;/h2&gt;

&lt;p&gt;The cube-law sensitivity is something you really feel by moving the inputs. The &lt;a href="https://novasolver.jp/en/tools/bearing-life.html?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm_campaign=en_devto_article" rel="noopener noreferrer"&gt;bearing life calculator&lt;/a&gt; on NovaSolver takes the load rating, equivalent load, bearing type, and speed, and returns L10 in revolutions and hours — so you can watch a small load change swing the life dramatically.&lt;/p&gt;

&lt;h2&gt;
  
  
  Related calculators
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://novasolver.jp/en/tools/rolling-bearing.html?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm_campaign=en_devto_article" rel="noopener noreferrer"&gt;Rolling bearing analysis&lt;/a&gt; — for equivalent load, speed limits, and bearing selection.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://novasolver.jp/en/tools/rolling-contact-fatigue.html?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm_campaign=en_devto_article" rel="noopener noreferrer"&gt;Rolling contact fatigue&lt;/a&gt; — the fatigue mechanism that L10 statistics actually describe.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://novasolver.jp/en/tools/ball-bearing-hertz-stress.html?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm_campaign=en_devto_article" rel="noopener noreferrer"&gt;Ball-bearing Hertz stress&lt;/a&gt; — the contact pressure on the raceway that drives the whole process.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The full set is in the &lt;a href="https://novasolver.jp/en/tools/category/mechanical.html?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm_campaign=en_devto_article" rel="noopener noreferrer"&gt;mechanical engineering tools hub&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Closing note
&lt;/h2&gt;

&lt;p&gt;The L10 number is more honest than it first looks. It admits openly that fatigue is statistical and tells you the life at a stated 90 % reliability rather than pretending failure is a single fixed event. Underneath it sits Hertzian contact stress and subsurface fatigue — the same physics that governs gears and cams. Respect the cube-law sensitivity to load, compute the equivalent load properly, account for lubrication and speed, and the catalog's C value turns into a service life you can actually design around.&lt;/p&gt;

</description>
      <category>engineering</category>
      <category>science</category>
      <category>mechanical</category>
    </item>
    <item>
      <title>The NTU Method: Sizing a Heat Exchanger When You Don't Know the Outlet Temperatures</title>
      <dc:creator>NovaSolver</dc:creator>
      <pubDate>Sun, 24 May 2026 12:17:02 +0000</pubDate>
      <link>https://forem.com/01888927bd0e8aa92caca/the-ntu-method-sizing-a-heat-exchanger-when-you-dont-know-the-outlet-temperatures-124b</link>
      <guid>https://forem.com/01888927bd0e8aa92caca/the-ntu-method-sizing-a-heat-exchanger-when-you-dont-know-the-outlet-temperatures-124b</guid>
      <description>&lt;p&gt;There are two ways to analyze a heat exchanger, and the choice between them comes down to one question: do you already know the outlet temperatures? The familiar log-mean-temperature-difference method assumes you do. But in the most common design situation — you have the inlet conditions, the flow rates, and a candidate exchanger, and you want to know what it will deliver — the outlets are exactly what you are trying to find. Use LMTD there and you are stuck iterating. The effectiveness-NTU method was built for precisely this case.&lt;/p&gt;

&lt;p&gt;This article explains the NTU method, works a counterflow example end to end, and flags the mistakes that quietly corrupt the result.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why this calculation matters
&lt;/h2&gt;

&lt;p&gt;A heat exchanger is rarely designed from a blank sheet. More often you are rating one: checking whether a particular unit, with a known surface area and overall heat transfer coefficient, can do the duty in front of it. The inlets and flow rates are fixed by the process. The outlets are unknown.&lt;/p&gt;

&lt;p&gt;The LMTD method needs the outlet temperatures to compute the mean temperature difference, so applying it to a rating problem forces a guess-and-correct loop. The NTU method removes the loop. It works directly from inlet conditions and exchanger properties to give the heat duty and both outlet temperatures in a single pass. For rating work — and for any design where the outlets are not pinned down — it is simply the better tool.&lt;/p&gt;

&lt;h2&gt;
  
  
  The core method
&lt;/h2&gt;

&lt;p&gt;The method rests on three quantities.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Heat capacity rates.&lt;/strong&gt; For each stream, the heat capacity rate is the mass flow times the specific heat:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;C = m_dot * cp        [W/K]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Identify the smaller of the two as C_min and the larger as C_max. Their ratio is Cr = C_min / C_max.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;NTU — the Number of Transfer Units&lt;/strong&gt; — is a dimensionless measure of the exchanger's thermal size:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;NTU = U A / C_min
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;A large NTU means a large surface area relative to the flow it must heat or cool — a thermally "big" exchanger.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Effectiveness&lt;/strong&gt; is the ratio of the heat actually transferred to the maximum that is thermodynamically possible:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;effectiveness = Q / Q_max,    Q_max = C_min * (T_hot_in - T_cold_in)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Effectiveness depends only on NTU, Cr, and the flow arrangement. For a counterflow exchanger:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;e = (1 - exp(-NTU (1 - Cr))) / (1 - Cr * exp(-NTU (1 - Cr)))
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Once you have the effectiveness, the heat duty is Q = effectiveness × Q_max, and the outlet temperatures follow directly from energy balances on each stream.&lt;/p&gt;

&lt;h2&gt;
  
  
  A worked example
&lt;/h2&gt;

&lt;p&gt;A counterflow heat exchanger cools hot water with cold water.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Hot stream: flow 1.0 kg/s, cp = 4180 J/kg·K, inlet 80 °C&lt;/li&gt;
&lt;li&gt;Cold stream: flow 2.0 kg/s, cp = 4180 J/kg·K, inlet 20 °C&lt;/li&gt;
&lt;li&gt;Overall conductance: UA = 8000 W/K&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Step 1 — heat capacity rates.&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;C_hot  = 1.0 x 4180 = 4180 W/K
C_cold = 2.0 x 4180 = 8360 W/K
C_min = 4180 (hot side),  C_max = 8360,  Cr = 0.50
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Step 2 — NTU.&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;NTU = UA / C_min = 8000 / 4180 = 1.91
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Step 3 — effectiveness&lt;/strong&gt; (counterflow, Cr = 0.50):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;exponent = -1.91 x (1 - 0.50) = -0.957
e = (1 - e^-0.957) / (1 - 0.50 x e^-0.957)
e = (1 - 0.384) / (1 - 0.192) = 0.616 / 0.808 = 0.762
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Step 4 — heat duty.&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Q_max = C_min x (80 - 20) = 4180 x 60 = 250,800 W
Q = 0.762 x 250,800 = 191,200 W = 191 kW
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Step 5 — outlet temperatures&lt;/strong&gt;, from an energy balance on each stream:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;T_hot_out  = 80 - Q / C_hot  = 80 - 191200/4180  = 34.3 C
T_cold_out = 20 + Q / C_cold = 20 + 191200/8360  = 42.9 C
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The exchanger transfers 191 kW and delivers the hot stream out at 34.3 °C and the cold stream out at 42.9 °C — all from inlet data alone, with no iteration. Note that the cold outlet (42.9 °C) ends up warmer than the hot outlet (34.3 °C). That temperature cross is perfectly normal for a counterflow exchanger and is one reason counterflow extracts more heat than the parallel-flow arrangement.&lt;/p&gt;

&lt;h2&gt;
  
  
  Common mistakes
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Picking the wrong stream as C_min.&lt;/strong&gt; NTU and Q_max are both defined on C_min. The smaller heat capacity rate is the one that limits the exchange — choose the wrong stream and every downstream number is off.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Using the wrong effectiveness relation.&lt;/strong&gt; Counterflow, parallel flow, crossflow, and shell-and-tube each have their own effectiveness-NTU equation. They can differ by tens of percent at the same NTU. Match the formula to the real flow arrangement.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Assuming constant properties.&lt;/strong&gt; Specific heat, viscosity, and U all drift with temperature. For a large temperature swing, evaluate properties at a representative mean rather than at one inlet.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Forgetting fouling.&lt;/strong&gt; UA in service is not UA when clean. Scale and deposits add thermal resistance over time, lowering U and effectiveness. A design that ignores a fouling allowance is optimistic from the first week of operation.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try the interactive NovaSolver calculator
&lt;/h2&gt;

&lt;p&gt;The effectiveness equations are compact but easy to slip up on, especially the exponentials. The &lt;a href="https://novasolver.jp/en/tools/heat-exchanger-ntu.html?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm_campaign=en_devto_article" rel="noopener noreferrer"&gt;heat exchanger effectiveness-NTU calculator&lt;/a&gt; on NovaSolver does that bookkeeping for the counter-, parallel-, and cross-flow arrangements: enter the two heat capacity rates C_h and C_c, the conductance UA, and the inlet temperature difference, and it returns NTU, the counter- and parallel-flow effectiveness, and the heat duty Q. From Q, the outlet temperatures follow directly from the energy balances shown above.&lt;/p&gt;

&lt;h2&gt;
  
  
  Related calculators
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://novasolver.jp/en/tools/lmtd.html?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm_campaign=en_devto_article" rel="noopener noreferrer"&gt;Log-mean temperature difference&lt;/a&gt; — the companion method for when the outlet temperatures are already known.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://novasolver.jp/en/tools/heat-exchanger-shell.html?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm_campaign=en_devto_article" rel="noopener noreferrer"&gt;Shell-and-tube heat exchanger&lt;/a&gt; — for the industrial multi-pass geometry and its correction factor.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://novasolver.jp/en/tools/heat-exchanger-double-pipe.html?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm_campaign=en_devto_article" rel="noopener noreferrer"&gt;Double-pipe heat exchanger&lt;/a&gt; — the simplest concentric-tube arrangement, ideal for learning the fundamentals.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The full set is in the &lt;a href="https://novasolver.jp/en/tools/category/thermal-heat-exchanger.html?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm_campaign=en_devto_article" rel="noopener noreferrer"&gt;heat exchanger tools hub&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Closing note
&lt;/h2&gt;

&lt;p&gt;The effectiveness-NTU method is the right tool whenever the outlet temperatures are unknown — which describes most real heat exchanger work. The mental model is clean: NTU measures how thermally large the exchanger is, effectiveness measures how close it gets to the thermodynamic ideal, and the two are linked by one equation per flow arrangement. Get C_min right, match the effectiveness relation to the geometry, and the duty and outlet temperatures fall out in a single calculation.&lt;/p&gt;

</description>
      <category>engineering</category>
      <category>science</category>
      <category>ntu</category>
      <category>thermal</category>
    </item>
    <item>
      <title>PID Tuning That Actually Converges: Ziegler-Nichols and the Root Locus View</title>
      <dc:creator>NovaSolver</dc:creator>
      <pubDate>Sun, 24 May 2026 00:17:02 +0000</pubDate>
      <link>https://forem.com/01888927bd0e8aa92caca/pid-tuning-that-actually-converges-ziegler-nichols-and-the-root-locus-view-206n</link>
      <guid>https://forem.com/01888927bd0e8aa92caca/pid-tuning-that-actually-converges-ziegler-nichols-and-the-root-locus-view-206n</guid>
      <description>&lt;p&gt;The PID controller is the workhorse of industrial control. It runs temperature loops, motor drives, flow valves, and flight surfaces. The algorithm itself is three terms and a line of arithmetic. The hard part has never been the controller — it is choosing the three gains. Set them too low and the system crawls toward its target. Set them too high and it oscillates, or worse, runs away. "Tuning" is the craft of finding the gains that land in between.&lt;/p&gt;

&lt;p&gt;This article covers two complementary ways to tune a PID loop: the empirical Ziegler-Nichols method and the graphical root locus view — and shows how they describe the same boundary from different sides.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why this calculation matters
&lt;/h2&gt;

&lt;p&gt;An untuned loop is not a minor inconvenience. A sluggish temperature controller wastes energy and product. An oscillating position loop hammers the mechanics and shortens equipment life. An unstable loop is a safety incident. Between those failure modes sits a band of gains that gives a fast, well-damped response — and tuning is how you find that band on purpose rather than by trial and error at the plant.&lt;/p&gt;

&lt;p&gt;The two methods matter because they suit different situations. Ziegler-Nichols needs only a simple experiment on the real system and no model. Root locus needs a model but, in return, shows you the whole stability picture at a glance. A capable engineer reaches for whichever the situation allows.&lt;/p&gt;

&lt;h2&gt;
  
  
  The two methods
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Ziegler-Nichols, ultimate-sensitivity form.&lt;/strong&gt; Disable the integral and derivative terms, leaving proportional control only. Raise the proportional gain until the loop sits in a steady, sustained oscillation — neither growing nor decaying. Record two numbers: the gain that produced it, the &lt;strong&gt;ultimate gain Ku&lt;/strong&gt;, and the period of the oscillation, the &lt;strong&gt;ultimate period Pu&lt;/strong&gt;. The classic PID settings then follow from a small table:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Kp = 0.6 * Ku
Ti = Pu / 2          (integral time)
Td = Pu / 8          (derivative time)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In the parallel form the integral and derivative gains are Ki = Kp/Ti and Kd = Kp·Td.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Root locus.&lt;/strong&gt; This is the model-based companion. The root locus is a plot of where the closed-loop poles travel in the complex plane as the proportional gain increases from zero. Poles in the left half-plane mean a stable, decaying response; poles crossing into the right half-plane mean instability. The exact gain at which the locus crosses the imaginary axis &lt;strong&gt;is&lt;/strong&gt; the ultimate gain Ku, and the frequency at that crossing gives the ultimate period through Pu = 2 pi / omega. The two methods are looking at the same stability boundary — Ziegler-Nichols finds it by experiment, root locus finds it by geometry.&lt;/p&gt;

&lt;h2&gt;
  
  
  A worked example
&lt;/h2&gt;

&lt;p&gt;Suppose the ultimate-sensitivity experiment on a process gives an ultimate gain Ku = 8 and an ultimate period Pu = 2 seconds. Apply the Ziegler-Nichols PID table:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Kp = 0.6 x 8   = 4.8
Ti = 2 / 2     = 1.0 s   -&amp;gt;  Ki = Kp / Ti = 4.8
Td = 2 / 8     = 0.25 s  -&amp;gt;  Kd = Kp x Td = 1.2
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;So a starting controller is Kp = 4.8, Ki = 4.8, Kd = 1.2. Note the word &lt;em&gt;starting&lt;/em&gt;. Classic Ziegler-Nichols deliberately targets a fairly aggressive response — roughly quarter-amplitude decay, meaning each overshoot is about a quarter of the one before. That is lively. For a loop that must not overshoot, back the proportional gain down by 20 to 40 % from the table value and re-check. Ziegler-Nichols gets you into the right neighbourhood fast; the final trim is yours.&lt;/p&gt;

&lt;p&gt;The root locus view of the same system would show the closed-loop poles starting on the open-loop poles, sweeping outward as gain rises, and crossing the imaginary axis exactly at gain 8 — confirming Ku — at a frequency of pi rad/s, which gives Pu = 2 pi / pi = 2 s. Same two numbers, reached without ever oscillating the real plant.&lt;/p&gt;

&lt;h2&gt;
  
  
  Common mistakes
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Running the Ku experiment on a fragile plant.&lt;/strong&gt; Driving a real system into sustained oscillation is not always safe — think of a large thermal mass or a machine with travel limits. When oscillating the plant is risky, use a model and root locus, or a relay-feedback test that bounds the swing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Leaving the gains at the textbook values.&lt;/strong&gt; The Ziegler-Nichols table is a first guess tuned for disturbance rejection, not for a smooth setpoint response. Treat its output as iteration zero.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Over-using the derivative term.&lt;/strong&gt; Derivative action amplifies measurement noise. On a noisy sensor a large Kd makes the actuator chatter. Filter the derivative, or reduce it, before blaming the loop.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Forgetting the sample rate on a digital controller.&lt;/strong&gt; A discrete PID is not the continuous one. If the loop runs too slowly relative to the process dynamics, the phase lag from sampling erodes the stability margin the tuning assumed.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try the interactive NovaSolver calculator
&lt;/h2&gt;

&lt;p&gt;Tuning is much easier to learn when you can see the step response change as you move the gains. The &lt;a href="https://novasolver.jp/en/tools/pid-tuning.html?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm_campaign=en_devto_article" rel="noopener noreferrer"&gt;PID tuning tool&lt;/a&gt; on NovaSolver lets you apply Ziegler-Nichols settings and then drag Kp, Ki, and Kd to watch overshoot, settling time, and steady-state error respond in real time.&lt;/p&gt;

&lt;h2&gt;
  
  
  Related calculators
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://novasolver.jp/en/tools/pid-controller.html?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm_campaign=en_devto_article" rel="noopener noreferrer"&gt;PID controller response&lt;/a&gt; — to see how each of the three terms shapes the output on its own.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://novasolver.jp/en/tools/root-locus.html?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm_campaign=en_devto_article" rel="noopener noreferrer"&gt;Root locus&lt;/a&gt; — the graphical stability picture, including the imaginary-axis crossing that defines Ku.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://novasolver.jp/en/tools/digital-pid-discretization.html?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm_campaign=en_devto_article" rel="noopener noreferrer"&gt;Digital PID discretization&lt;/a&gt; — how sample rate and discretization affect a controller running in software.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The full set is in the &lt;a href="https://novasolver.jp/en/tools/category/controls-pid.html?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm_campaign=en_devto_article" rel="noopener noreferrer"&gt;PID and controls tools hub&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Closing note
&lt;/h2&gt;

&lt;p&gt;PID tuning has a reputation as a black art, but the two methods here remove most of the mystery. Ziegler-Nichols gives you a fast, model-free starting point from one experiment. Root locus gives you the whole stability map if you have a model, and it pinpoints the exact boundary the experiment is feeling for. Use them together: locate the stability edge, back off to a sensible margin, and trim against the response you actually want. That is tuning done deliberately rather than by luck.&lt;/p&gt;

</description>
      <category>engineering</category>
      <category>science</category>
      <category>control</category>
      <category>controls</category>
    </item>
    <item>
      <title>Monte Carlo Simulation for Engineers: Turning Uncertainty Into Numbers</title>
      <dc:creator>NovaSolver</dc:creator>
      <pubDate>Sat, 23 May 2026 10:56:59 +0000</pubDate>
      <link>https://forem.com/01888927bd0e8aa92caca/monte-carlo-simulation-for-engineers-turning-uncertainty-into-numbers-234h</link>
      <guid>https://forem.com/01888927bd0e8aa92caca/monte-carlo-simulation-for-engineers-turning-uncertainty-into-numbers-234h</guid>
      <description>&lt;p&gt;Most engineering formulas assume the inputs are known exactly. Reality is not so tidy. A machined dimension is a nominal value plus a distribution. A material property is a mean with scatter. A load is a best estimate with a range. When several of those uncertain inputs feed into one output, the question stops being "what is the answer" and becomes "what is the &lt;em&gt;spread&lt;/em&gt; of answers, and how often does it cross a limit." Monte Carlo simulation is the most general tool for answering that question.&lt;/p&gt;

&lt;p&gt;This article explains the method as a practical recipe, works a tolerance stack-up example, and is honest about what controls the accuracy.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why this calculation matters
&lt;/h2&gt;

&lt;p&gt;Two classic methods exist for propagating uncertainty. Worst-case analysis adds up every tolerance at its extreme — it is safe but absurdly pessimistic, because all parts being at their worst limit at once is vanishingly unlikely. Linearized error propagation is fast but breaks down when the model is nonlinear or the inputs are not small.&lt;/p&gt;

&lt;p&gt;Monte Carlo sidesteps both problems. It makes no assumption that the model is linear or the distributions are well-behaved. You simply sample the inputs from their real distributions, run the model, and collect the outputs. With enough samples you get the full output distribution: its mean, its spread, and — crucially — the probability of exceeding any limit you care about. That last number is what reliability and quality work actually needs.&lt;/p&gt;

&lt;h2&gt;
  
  
  The method
&lt;/h2&gt;

&lt;p&gt;The recipe is short and the same every time:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Model the inputs as distributions.&lt;/strong&gt; Each uncertain input gets a distribution — normal for most manufacturing variation, uniform when you only know a range, or whatever fits the data.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Draw one random sample&lt;/strong&gt; from each input distribution.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Evaluate the model&lt;/strong&gt; with that set of inputs and record the output.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Repeat&lt;/strong&gt; for N trials.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Analyze the collected outputs&lt;/strong&gt; — histogram, mean, standard deviation, and the fraction of trials that violate a limit.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The one number to understand is how accuracy improves. The statistical error of a Monte Carlo estimate shrinks with the square root of the sample count:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;standard error  is proportional to  1 / sqrt(N)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That has a blunt consequence: to halve the error you need &lt;strong&gt;four times&lt;/strong&gt; the samples; to add one decimal digit of precision you need &lt;strong&gt;a hundred times&lt;/strong&gt; more. Monte Carlo is robust and general, but it is not cheap precision.&lt;/p&gt;

&lt;h2&gt;
  
  
  A worked example
&lt;/h2&gt;

&lt;p&gt;A simple assembly stacks three machined spacers end to end. Each spacer has a nominal length of 10.00 mm, and its manufacturing variation is well described by a normal distribution with a standard deviation of 0.02 mm. The assembled length is the sum of the three. Question: how often will the stack exceed 30.08 mm?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Analytic check first.&lt;/strong&gt; Because the lengths add and the variations are independent, the assembly mean is 30.00 mm and the standard deviations combine in quadrature:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sigma_assembly = sqrt(0.02^2 + 0.02^2 + 0.02^2) = 0.02 x sqrt(3) = 0.0346 mm
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The limit 30.08 mm sits this many standard deviations above the mean:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;z = (30.08 - 30.00) / 0.0346 = 2.31
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The upper-tail probability beyond z = 2.31 is about &lt;strong&gt;1.0 %&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Monte Carlo version.&lt;/strong&gt; Draw three normal samples, add them, check against 30.08 mm, repeat. With N = 100,000 trials the simulation returns roughly 1.0 % of assemblies over the limit — matching the analytic answer, with a statistical error of only a few hundredths of a percent.&lt;/p&gt;

&lt;p&gt;So why bother with Monte Carlo when the analytic answer was available? Because the analytic shortcut only worked here thanks to a linear model — a plain sum — and normal inputs. Make one spacer's tolerance asymmetric, or let the output depend on a product or a square root, and the closed form collapses. The Monte Carlo procedure does not change at all. That generality is the whole point.&lt;/p&gt;

&lt;h2&gt;
  
  
  Common mistakes
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Too few samples.&lt;/strong&gt; A run of 1,000 trials estimating a 1 % event sees only about 10 hits — far too few for a stable number. Rare events need large N. If you are estimating a one-in-a-thousand failure, plan for hundreds of thousands of trials.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Guessing the input distributions.&lt;/strong&gt; Monte Carlo is exact bookkeeping on the distributions you feed it. If those are wrong, the polished histogram is confidently wrong. The hard part is characterizing the inputs, not running the loop.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Assuming inputs are independent when they are not.&lt;/strong&gt; If two dimensions come from the same worn tool, they are correlated. Sampling them independently understates the real spread. Build the correlation into the sampling.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Reporting only the mean.&lt;/strong&gt; The mean is the least interesting output. The reason to run Monte Carlo is the tails — the spread and the probability of crossing a limit. Lead with those.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try the interactive NovaSolver calculator
&lt;/h2&gt;

&lt;p&gt;The fastest way to build intuition for sampling and square-root convergence is to watch it happen. The &lt;a href="https://novasolver.jp/en/tools/monte-carlo-stats.html?utm_source=medium&amp;amp;utm_medium=referral&amp;amp;utm_campaign=en_tool_article" rel="noopener noreferrer"&gt;Monte Carlo statistics simulator&lt;/a&gt; on NovaSolver runs four classic demonstrations — estimating pi by random dart throwing, the Central Limit Theorem, numerical integration, and random-walk diffusion — and you can watch each estimate steady as the sample count rises. The Central Limit Theorem tab is the one to study here: it shows why adding up several independent variations produces a normal distribution, which is exactly the principle behind the tolerance stack-up above.&lt;/p&gt;

&lt;h2&gt;
  
  
  Related calculators
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://novasolver.jp/en/tools/monte-carlo-pi.html?utm_source=medium&amp;amp;utm_medium=referral&amp;amp;utm_campaign=en_tool_article" rel="noopener noreferrer"&gt;Monte Carlo estimation of pi&lt;/a&gt; — the cleanest demonstration of random sampling and 1/sqrt(N) convergence.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://novasolver.jp/en/tools/importance-sampling.html?utm_source=medium&amp;amp;utm_medium=referral&amp;amp;utm_campaign=en_tool_article" rel="noopener noreferrer"&gt;Importance sampling&lt;/a&gt; — a variance-reduction technique for rare-event problems where plain sampling is too slow.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://novasolver.jp/en/tools/structural-reliability.html?utm_source=medium&amp;amp;utm_medium=referral&amp;amp;utm_campaign=en_tool_article" rel="noopener noreferrer"&gt;Structural reliability&lt;/a&gt; — applying probabilistic methods to a load-versus-strength failure question.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The full set is in the &lt;a href="https://novasolver.jp/en/tools/category/math-monte-carlo.html?utm_source=medium&amp;amp;utm_medium=referral&amp;amp;utm_campaign=en_tool_article" rel="noopener noreferrer"&gt;Monte Carlo and probability tools hub&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Closing note
&lt;/h2&gt;

&lt;p&gt;Monte Carlo simulation earns its place because it asks almost nothing of the model and gives back the one thing deterministic analysis cannot: a probability. It does not care whether your function is linear, smooth, or even written down as an equation. The discipline is all in the inputs — characterize the distributions honestly, capture the correlations, run enough samples for the tail you care about — and then read the answer off the histogram. Uncertainty stops being a hand-wave and becomes a number.&lt;/p&gt;

</description>
      <category>engineering</category>
      <category>science</category>
      <category>monte</category>
      <category>math</category>
    </item>
    <item>
      <title>Differential Pair Impedance: Why USB and HDMI Routing Is a Geometry Problem</title>
      <dc:creator>NovaSolver</dc:creator>
      <pubDate>Sat, 23 May 2026 00:17:01 +0000</pubDate>
      <link>https://forem.com/01888927bd0e8aa92caca/differential-pair-impedance-why-usb-and-hdmi-routing-is-a-geometry-problem-4nm9</link>
      <guid>https://forem.com/01888927bd0e8aa92caca/differential-pair-impedance-why-usb-and-hdmi-routing-is-a-geometry-problem-4nm9</guid>
      <description>&lt;p&gt;Every fast interface on a modern board — USB, HDMI, PCIe, Ethernet, SATA — sends its data as a differential pair: two traces carrying equal and opposite signals. The receiver listens to the &lt;em&gt;difference&lt;/em&gt; between them, which rejects noise beautifully. But it only works if the pair presents the right differential impedance to the signal. USB asks for 90 ohms, HDMI and most other high-speed standards for 100 ohms. Miss that target and the edges reflect, the eye diagram closes, and a link that looked fine in simulation fails on the bench.&lt;/p&gt;

&lt;p&gt;The catch for newcomers is that differential impedance is not a property of one trace. It emerges from how &lt;em&gt;two&lt;/em&gt; coupled traces sit in their geometry. This article explains where that number comes from and how to design for it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why this calculation matters
&lt;/h2&gt;

&lt;p&gt;A differential pair is a transmission line, and a transmission line only passes a signal cleanly when its impedance matches the source and load. For a pair, the relevant quantity is the differential impedance Z_diff — the impedance the line presents to the difference signal.&lt;/p&gt;

&lt;p&gt;Standards specify it tightly. USB 2.0 high-speed wants 90 ohms differential; HDMI, DisplayPort, PCIe, and SATA cluster around 100 ohms, typically held to plus or minus 10 to 15 percent. "Controlled impedance" means the fabricator builds the stack-up so the pair lands on target — and that only happens if the trace width and spacing were chosen against the real stack-up in the first place. Get it wrong and you are paying for a board respin.&lt;/p&gt;

&lt;h2&gt;
  
  
  The core method
&lt;/h2&gt;

&lt;p&gt;Start with a single trace. On an outer layer, a trace over a ground plane is a microstrip, and on its own it has a single-ended characteristic impedance Z_0 set by the trace width w, the dielectric height h, and the dielectric constant er. A widely used closed form (Hammerstad) for w/h greater than 1 is:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;e_eff = (er + 1)/2 + (er - 1)/2 * 1 / sqrt(1 + 12 h / w)

Z_0 = 120 pi / ( sqrt(e_eff) * [ w/h + 1.393 + 0.667 * ln(w/h + 1.444) ] )
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Z_0 falls as the trace gets wider and rises as the dielectric gets thicker. That single-trace number is the foundation.&lt;/p&gt;

&lt;p&gt;Now bring a second identical trace alongside it. The two traces couple — each one's field reaches the other — and that splits the behaviour into two modes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Odd mode&lt;/strong&gt;: the traces driven oppositely, which is the real differential signal. Its impedance is Z_odd.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Even mode&lt;/strong&gt;: the traces driven together, the common-mode case. Its impedance is Z_even.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The differential impedance is simply twice the odd-mode impedance:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Z_diff = 2 * Z_odd
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Here is the key effect of coupling: bringing the traces closer &lt;strong&gt;lowers&lt;/strong&gt; Z_odd below the isolated Z_0. Tighter spacing means stronger coupling means lower differential impedance. Spacing is a design knob, not an afterthought.&lt;/p&gt;

&lt;h2&gt;
  
  
  A worked example
&lt;/h2&gt;

&lt;p&gt;Take a microstrip pair on standard FR-4: er = 4.4, dielectric height h = 1.6 mm. First size a single trace, with width w = 3.0 mm:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;w/h   = 1.875
e_eff = 2.70 + 1.70 * 1/sqrt(1 + 12 x 1.6/3.0) = 3.33
Z_0   = 120 pi / ( sqrt(3.33) x 4.07 ) = 50.8 ohms
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;So one isolated trace is about 51 ohms. If the two traces of the pair were placed far apart — spacing several times the dielectric height — coupling would be negligible, Z_odd would stay close to Z_0, and:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Z_diff  ~  2 * Z_0  ~  102 ohms
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That is already close to the 100-ohm HDMI target. But pairs are rarely routed that loosely; they are kept close so they stay matched and reject noise together. As you tighten the spacing toward the dielectric height, coupling grows, Z_odd drops below 51 ohms, and Z_diff falls below 100 ohms. To pull it back up you narrow the traces. That trade — width down, or spacing up, to raise Z_diff — is the entire routing decision, and it depends on the exact dielectric height of the layer you are on.&lt;/p&gt;

&lt;h2&gt;
  
  
  Common mistakes
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Designing impedance without the stack-up.&lt;/strong&gt; The width and spacing that give 100 ohms depend on the dielectric thickness of the specific layer. Get the stack-up from the fabricator first, then size the pair. Doing it the other way around means a respin.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Treating spacing as cosmetic.&lt;/strong&gt; Intra-pair spacing directly sets the coupling, and therefore Z_diff. It is a controlled dimension, not a routing convenience.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Trusting the nominal dielectric constant.&lt;/strong&gt; FR-4's er is not a fixed 4.4 — it varies with the resin-to-glass ratio, with frequency, and between suppliers. For a tight tolerance, use the laminate datasheet value at your operating frequency.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Breaking the reference plane.&lt;/strong&gt; The impedance model assumes a continuous ground plane under the pair. Route over a plane split or gap and the return current has nowhere to go; the local impedance jumps and the calculation no longer applies.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ignoring intra-pair skew.&lt;/strong&gt; If the two traces differ in length, the signal arrives skewed and some differential energy converts to common mode — radiated noise. Length-match the pair.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try the interactive NovaSolver calculator
&lt;/h2&gt;

&lt;p&gt;Sizing a pair by hand means juggling width, spacing, height, and dielectric constant at once — easy to get wrong, tedious to iterate. The &lt;a href="https://novasolver.jp/en/tools/differential-pair-impedance.html?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm_campaign=en_devto_article" rel="noopener noreferrer"&gt;differential pair impedance calculator&lt;/a&gt; on NovaSolver computes the single-ended Z_0, the differential Z_diff, and the odd- and even-mode impedances of a surface microstrip pair directly from trace width, spacing, substrate height, and dielectric constant — and shows them against the USB 90-ohm and HDMI 100-ohm targets as you adjust the geometry.&lt;/p&gt;

&lt;h2&gt;
  
  
  Related calculators
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://novasolver.jp/en/tools/coplanar-waveguide.html?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm_campaign=en_devto_article" rel="noopener noreferrer"&gt;Coplanar waveguide&lt;/a&gt; — the grounded-coplanar variant, common when you need tighter field confinement.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://novasolver.jp/en/tools/microwave-stripline.html?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm_campaign=en_devto_article" rel="noopener noreferrer"&gt;Stripline&lt;/a&gt; — for buried inner-layer traces sandwiched between two planes.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://novasolver.jp/en/tools/transmission-line.html?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm_campaign=en_devto_article" rel="noopener noreferrer"&gt;Transmission line behaviour&lt;/a&gt; — to see how an impedance mismatch turns into reflections and standing waves.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Browse the full set in the &lt;a href="https://novasolver.jp/en/tools/category/em-rf-microwave.html?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm_campaign=en_devto_article" rel="noopener noreferrer"&gt;RF and microwave tools hub&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Closing note
&lt;/h2&gt;

&lt;p&gt;Differential pair impedance is a reminder that on a high-speed board, the geometry &lt;em&gt;is&lt;/em&gt; the circuit. A 100-ohm pair is not a property of the copper — it is the combined result of trace width, spacing, dielectric height, and material, all working over a solid reference plane. Size the pair against the real stack-up, treat spacing as the controlled dimension it is, respect the dielectric tolerance, and keep the ground intact beneath the route. Do that and USB, HDMI, and PCIe links stop being a gamble and become ordinary, repeatable engineering.&lt;/p&gt;

</description>
      <category>engineering</category>
      <category>science</category>
      <category>differential</category>
      <category>em</category>
    </item>
    <item>
      <title>Reading a Psychrometric Chart Without Getting Lost</title>
      <dc:creator>NovaSolver</dc:creator>
      <pubDate>Fri, 22 May 2026 12:17:02 +0000</pubDate>
      <link>https://forem.com/01888927bd0e8aa92caca/reading-a-psychrometric-chart-without-getting-lost-1k61</link>
      <guid>https://forem.com/01888927bd0e8aa92caca/reading-a-psychrometric-chart-without-getting-lost-1k61</guid>
      <description>&lt;p&gt;The psychrometric chart is one of the most information-dense diagrams in engineering. To a newcomer it looks like a tangle of curved and slanted lines. To an HVAC engineer it is a map: every point on it is a complete description of a sample of moist air, and every air-conditioning process is a path drawn across it. Once you can read the chart, sizing a cooling coil or diagnosing a condensation problem becomes a matter of plotting two points and reading off the distance between them.&lt;/p&gt;

&lt;p&gt;This article explains the handful of properties the chart actually tracks, works a numerical example, and clears up the confusion most people have about relative humidity.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why this calculation matters
&lt;/h2&gt;

&lt;p&gt;Moist air is a mixture of dry air and water vapour, and almost everything that matters in HVAC depends on how much water that air is carrying. Size a cooling coil using temperature alone and you will under-size it badly, because removing humidity — condensing water out of the air — takes far more energy than simply lowering the temperature.&lt;/p&gt;

&lt;p&gt;The chart also predicts condensation. If a surface in your system is colder than the air's dew point, water will form on it. That is how you get dripping ducts, mould behind walls, and fogged-up windows. None of that is visible if you only think in terms of dry-bulb temperature.&lt;/p&gt;

&lt;h2&gt;
  
  
  The core properties
&lt;/h2&gt;

&lt;p&gt;A psychrometric chart plots &lt;strong&gt;dry-bulb temperature&lt;/strong&gt; on the horizontal axis and &lt;strong&gt;humidity ratio&lt;/strong&gt; on the vertical axis. Every other line on the chart is derived from those two. The properties you need:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Humidity ratio (W)&lt;/strong&gt; — the mass of water vapour per mass of dry air, in kg/kg or g/kg. This is the honest measure of "how much water." It relates to the vapour partial pressure pv and total pressure P by:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;W  =  0.622 * pv / (P - pv)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Relative humidity (RH)&lt;/strong&gt; — the ratio of the actual vapour pressure to the saturation pressure at the same temperature:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;RH  =  pv / psat(T)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;RH is what thermostats display, but it is treacherous, because psat changes steeply with temperature. The same air can read 50 % RH in a warm room and 100 % RH after it cools — with no water added or removed.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Dew point&lt;/strong&gt; — the temperature at which the air becomes saturated if cooled at constant humidity ratio. It is the condensation threshold.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Enthalpy (h)&lt;/strong&gt; — the total heat content per kg of dry air, sensible plus latent:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;h  =  1.006 * T  +  W * (2501 + 1.86 * T)     [kJ/kg dry air]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Enthalpy is the property that tells you the true energy load, because it already includes the latent heat tied up in the water vapour.&lt;/p&gt;

&lt;h2&gt;
  
  
  A worked example
&lt;/h2&gt;

&lt;p&gt;Take a sample of room air at a dry-bulb temperature of 30 °C and 50 % relative humidity, at standard pressure P = 101.3 kPa. Find its humidity ratio, dew point, and enthalpy.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 1 — vapour pressure.&lt;/strong&gt; The saturation pressure of water at 30 °C is about 4.25 kPa. At 50 % RH:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;pv = 0.50 x 4.25 = 2.12 kPa
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Step 2 — humidity ratio.&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;W = 0.622 x 2.12 / (101.3 - 2.12) = 0.0133 kg/kg = 13.3 g/kg
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Step 3 — dew point.&lt;/strong&gt; The dew point is the temperature where psat equals 2.12 kPa. That occurs at about &lt;strong&gt;18.4 °C&lt;/strong&gt;. So if any surface in the room drops below 18.4 °C — a cold water pipe, a single-glazed window — condensation will form on it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 4 — enthalpy.&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;h = 1.006 x 30 + 0.0133 x (2501 + 1.86 x 30)
h = 30.2 + 34.0 = 64.2 kJ/kg dry air
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That single enthalpy number, 64.2 kJ/kg, is what you would compare against the supply-air enthalpy to size a cooling coil. The temperature drop alone would not tell you the latent share.&lt;/p&gt;

&lt;h2&gt;
  
  
  Common mistakes
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Treating relative humidity as an amount of water.&lt;/strong&gt; It is not. RH is a ratio that depends on temperature. Air at 30 °C and 50 % RH holds far more water than air at 15 °C and 50 % RH. Always convert to humidity ratio before comparing two air states.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Sizing coils on sensible heat only.&lt;/strong&gt; In humid climates the latent load — the energy to condense moisture — can equal or exceed the sensible load. Skip it and the coil runs but never controls humidity.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Confusing wet-bulb and dew-point temperatures.&lt;/strong&gt; They are different points on the chart. Wet-bulb relates to evaporative cooling; dew point is the saturation temperature at constant W. They only coincide when the air is already saturated.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Forgetting that the chart is pressure-specific.&lt;/strong&gt; A standard chart assumes sea-level pressure. At altitude the same dry-bulb and RH give a different humidity ratio, and a sea-level chart will mislead you.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try the interactive NovaSolver calculator
&lt;/h2&gt;

&lt;p&gt;A paper chart is excellent for intuition but slow for iteration. The &lt;a href="https://novasolver.jp/en/tools/psychrometrics.html?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm_campaign=en_devto_article" rel="noopener noreferrer"&gt;psychrometrics calculator&lt;/a&gt; on NovaSolver takes the dry-bulb temperature and relative humidity and returns the rest of the air state — humidity ratio, dew point, enthalpy, and specific volume — while plotting the state point on a live psychrometric chart. It removes the chart-reading error while keeping the chart's logic visible.&lt;/p&gt;

&lt;h2&gt;
  
  
  Related calculators
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://novasolver.jp/en/tools/dew-point-rh.html?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm_campaign=en_devto_article" rel="noopener noreferrer"&gt;Dew point and relative humidity&lt;/a&gt; — a focused tool for the condensation-risk question.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://novasolver.jp/en/tools/enthalpy-mixing-air.html?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm_campaign=en_devto_article" rel="noopener noreferrer"&gt;Mixing two air streams&lt;/a&gt; — for return-and-fresh-air mixing, a daily HVAC task.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://novasolver.jp/en/tools/hvac-load.html?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm_campaign=en_devto_article" rel="noopener noreferrer"&gt;HVAC cooling load&lt;/a&gt; — to translate the air states into an equipment size.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The complete set is in the &lt;a href="https://novasolver.jp/en/tools/category/thermal-hvac.html?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm_campaign=en_devto_article" rel="noopener noreferrer"&gt;HVAC tools hub&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Closing note
&lt;/h2&gt;

&lt;p&gt;The psychrometric chart looks intimidating because it carries so much information at once, but the underlying idea is simple: moist air has a temperature and a moisture content, and everything else follows. Learn to think in humidity ratio rather than relative humidity, always check the dew point against your coldest surface, and use enthalpy when energy is the question. Do that and the chart stops being a tangle of lines and becomes the most useful single page in the HVAC engineer's toolkit.&lt;/p&gt;

</description>
      <category>engineering</category>
      <category>science</category>
      <category>psychrometric</category>
      <category>thermal</category>
    </item>
    <item>
      <title>Hertz Contact Stress: How to Predict Pressure Where Two Surfaces Meet</title>
      <dc:creator>NovaSolver</dc:creator>
      <pubDate>Fri, 22 May 2026 00:17:02 +0000</pubDate>
      <link>https://forem.com/01888927bd0e8aa92caca/hertz-contact-stress-how-to-predict-pressure-where-two-surfaces-meet-3l81</link>
      <guid>https://forem.com/01888927bd0e8aa92caca/hertz-contact-stress-how-to-predict-pressure-where-two-surfaces-meet-3l81</guid>
      <description>&lt;p&gt;When a hardened steel ball rests on a flat plate, the entire load passes through a contact patch smaller than a pinhead. Intuitively you might expect the stress there to be enormous — and it is. A 100 N load, roughly the weight of a 10 kg mass, can generate more than 1 GPa of pressure inside that tiny spot. That is several times the yield strength of mild steel, yet well-designed parts survive millions of cycles. Understanding why is the entire point of Hertz contact theory.&lt;/p&gt;

&lt;p&gt;This article walks through how to estimate contact pressure and contact size for curved bodies, works a full numerical example, and explains the subsurface stress that engineers most often forget.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why this calculation matters
&lt;/h2&gt;

&lt;p&gt;Contact stress decides the fate of a surprising range of machine elements: ball and roller bearings, gear teeth, cam-and-follower pairs, wheel-rail interfaces, and press fits. None of these fail because the &lt;em&gt;average&lt;/em&gt; stress is high. They fail because a concentrated, repeated contact load drives fatigue cracks just below the surface.&lt;/p&gt;

&lt;p&gt;If you size these components using nominal stress — load divided by some projected area — you will be wildly optimistic. The real contact area is tiny and load-dependent: it grows only as the cube root of force. So the pressure does not scale the way bulk-stress intuition suggests. You need contact mechanics to get a number you can defend in a design review.&lt;/p&gt;

&lt;h2&gt;
  
  
  The core formula
&lt;/h2&gt;

&lt;p&gt;Heinrich Hertz solved the elastic contact problem in 1881 for smooth, frictionless, non-conforming bodies. For a sphere of radius R pressed onto a flat surface — a flat is just a sphere of infinite radius — three results matter.&lt;/p&gt;

&lt;p&gt;First, combine the two materials into an effective modulus E*:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;1 / E*  =  (1 - v1^2) / E1  +  (1 - v2^2) / E2
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then the contact radius a:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;a  =  ( 3 F R / (4 E*) ) ^ (1/3)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And the maximum contact pressure p0, which sits at the center of the patch:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;p0  =  3 F / (2 pi a^2)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Two features are worth internalizing. The contact radius grows with the &lt;strong&gt;cube root&lt;/strong&gt; of load, so doubling the force enlarges the patch by only about 26 %. And the peak pressure is exactly &lt;strong&gt;1.5 times&lt;/strong&gt; the mean pressure F/(pi a squared) — the pressure distribution is a hemisphere, not a flat block.&lt;/p&gt;

&lt;p&gt;There is a third result that experienced engineers care about most. The largest shear stress does not occur at the surface. It sits roughly 0.48a &lt;em&gt;below&lt;/em&gt; the surface and reaches about 0.31 p0. That buried shear peak is where rolling-contact fatigue cracks are born.&lt;/p&gt;

&lt;h2&gt;
  
  
  A worked example
&lt;/h2&gt;

&lt;p&gt;Take a steel ball of radius R = 10 mm pressed onto a flat steel plate with a force F = 100 N. Both bodies are steel: E = 210 GPa, Poisson's ratio v = 0.3.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 1 — effective modulus.&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;1/E* = 2 x (1 - 0.3^2) / 210e9 = 1.82 / 210e9
E*   = 115.4 GPa
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Step 2 — contact radius.&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;a = ( 3 x 100 x 0.010 / (4 x 115.4e9) ) ^ (1/3)
a = ( 6.50e-12 ) ^ (1/3) = 1.87e-4 m = 0.187 mm
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Step 3 — maximum contact pressure.&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;p0 = 3 x 100 / (2 pi x (1.87e-4)^2) = 1.37e9 Pa = 1371 MPa
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;So a modest 100 N load produces about &lt;strong&gt;1.37 GPa&lt;/strong&gt; of peak contact pressure inside a contact circle just 0.37 mm across. The maximum shear stress is roughly 0.31 x 1371 = &lt;strong&gt;425 MPa&lt;/strong&gt;, located about 0.09 mm beneath the surface. That subsurface number — not the surface pressure — is what you compare against the material's shear fatigue strength.&lt;/p&gt;

&lt;h2&gt;
  
  
  Common mistakes
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Treating contact pressure as linear in load.&lt;/strong&gt; It is not. Pressure scales with F to the power 1/3, because the patch grows as the load grows. Tripling the load raises peak pressure by only about 44 %.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Using yield strength as the limit.&lt;/strong&gt; Hertzian contact routinely runs above the uniaxial yield stress without permanent damage, because the material under the patch is in triaxial compression. The governing limit is usually subsurface shear fatigue, not first yield.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ignoring the second body's curvature.&lt;/strong&gt; For two curved bodies, R is an &lt;em&gt;effective&lt;/em&gt; radius combining both. Two convex surfaces give a smaller effective radius and a higher pressure; a ball in a conforming groove gives a larger one and a lower pressure.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Forgetting the smooth-surface assumption.&lt;/strong&gt; Hertz theory assumes ideal elastic, frictionless, smooth surfaces. Real roughness concentrates load on asperities, so local peaks can far exceed the Hertzian p0. Treat the Hertzian value as a clean baseline, not a ceiling.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try the interactive NovaSolver calculator
&lt;/h2&gt;

&lt;p&gt;Working the cube roots by hand is fine once, but for design iteration it helps to see the contact patch and pressure update live as you change load, radius, and material. The &lt;a href="https://novasolver.jp/en/tools/hertz-contact.html?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm_campaign=en_devto_article" rel="noopener noreferrer"&gt;Hertz contact stress calculator&lt;/a&gt; on NovaSolver does exactly that — enter the geometry and load, and it returns contact radius, peak and mean pressure, and the depth of maximum shear.&lt;/p&gt;

&lt;h2&gt;
  
  
  Related calculators
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://novasolver.jp/en/tools/hertz-line-contact.html?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm_campaign=en_devto_article" rel="noopener noreferrer"&gt;Line contact (cylinder on flat)&lt;/a&gt; — for rollers, pins, and cam followers, where the patch is a strip rather than a circle.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://novasolver.jp/en/tools/contact-ellipse-hertz.html?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm_campaign=en_devto_article" rel="noopener noreferrer"&gt;Elliptical contact&lt;/a&gt; — for general curved bodies such as crowned rollers and gear teeth.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://novasolver.jp/en/tools/subsurface-stress-hertz.html?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm_campaign=en_devto_article" rel="noopener noreferrer"&gt;Subsurface stress field&lt;/a&gt; — to see where the shear peak really sits beneath the surface.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You can browse the full set in the &lt;a href="https://novasolver.jp/en/tools/category/structural-contact.html?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm_campaign=en_devto_article" rel="noopener noreferrer"&gt;structural contact tools hub&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Closing note
&lt;/h2&gt;

&lt;p&gt;Hertz contact theory is one of those rare pieces of classical mechanics that is both elegant and immediately useful. The takeaways are simple: contact patches are tiny, contact pressures are high, pressure scales only with the cube root of load, and the damage usually starts below the surface. Get those four ideas right and most bearing, gear, and cam problems become tractable. Run your own numbers, check the subsurface shear, and let the surface pressure be the start of the analysis rather than the end of it.&lt;/p&gt;

</description>
      <category>engineering</category>
      <category>science</category>
      <category>mechanical</category>
      <category>structural</category>
    </item>
  </channel>
</rss>
