# QCM Calculator

> Source page: https://openqcm.com/qcm-calculator
> Markdown version for AI agents and readers of plain text. Site guide: https://openqcm.com/llms.txt · Everything in one file: https://openqcm.com/llms-full.txt

## Turn Δf into Δm.

Four QCM models in one tool — the Sauerbrey equation for rigid films, Kanazawa-Gordon for Newtonian liquids, Voigt-Voinova for viscoelastic layers, and a multi-overtone Voigt inverse fit. Math runs locally in your browser; nothing is sent anywhere.

  Jump to calculator ↓[See the source ↗](https://github.com/openQCM)

    01 / Which model

### Match the model to your regime.

Each model assumes a different physical picture of what’s on the crystal. Pick by how your film behaves — rigid, liquid-loaded, or soft and solvated.

##### Sauerbrey — thin, rigid films

Thin (< 1% of f₀ shift), rigid coatings firmly coupled to the crystal: thin metals, evaporated films, dry polymers, monolayers. Δf maps straight to Δm; a single overtone is enough.

##### Kanazawa-Gordon — Newtonian liquid

A bare crystal in contact with a Newtonian liquid. The frequency shift comes from the liquid’s density-viscosity product (ρ·η), not adsorbed mass — the baseline for any in-liquid measurement.

##### Voigt-Voinova — soft, solvated layers

For swollen, soft, viscoelastic films where ΔD grows significant and different overtones give different Δm. Run the forward model to predict Δf and ΔD from a known layer (thickness, shear modulus, viscosity).

##### Voigt inverse — multi-harmonic fit

When one overtone can’t pin down a viscoelastic layer, feed Δf/n and ΔD measured at several harmonics (n = 1, 3, 5, 7, 9) into a least-squares fit that recovers film thickness, shear modulus and viscosity together.

   02 / Calculator

### Pick a model. Drop in your numbers.

### Researcher’s Guide & Quick Reference

 ▼

  Overview
 How to use this calculator

This calculator provides  **real-time analysis**  for Quartz Crystal Microbalance (QCM) experiments using four complementary physical models. All input fields update results  **instantly**  — no button click required. Hover over the  **?**  icons for contextual explanations of each parameter and result.

Choose the appropriate model tab based on your experimental conditions:  **Sauerbrey**  for rigid thin films in air,  **Kanazawa–Gordon**  for Newtonian liquid loading, and  **Voigt–Voinova**  for viscoelastic films with or without liquid contact; the  **Voigt Inverse**  tab fits the same model to multi-overtone data. All four models share the same AT-cut quartz constants (ρ_Q = 2.648 g/cm³, μ_Q = 2.947 × 10¹¹ g/(cm·s²), Z_Q ≈ 8.834 × 10⁵ g/(cm²·s)), displayed at the bottom of each panel for reference.

  1 — Sauerbrey Model
 Rigid thin film in air

Use this tab for  **rigid, acoustically thin films deposited in air (or vacuum)** . Enter the crystal’s resonant frequency f₀, active electrode diameter, observed frequency shift Δf, and film density ρ_f.

The calculator returns:

- **Mass sensitivity C_f**  — Sauerbrey constant [ng/(Hz·cm²)]
- **Mass per Hz**  — total mass per 1 Hz shift over the active area
- **Saturation mass**  — maximum mass at the 1% Δf/f₀ limit
- **Film thickness**  — in nm, μm and Å
- **Total mass change Δm**  and  **areal mass Δm/A**

**Validity criterion:**  `|Δf/f₀| < 1/1000` for reliable results; theoretical Sauerbrey limit ≈ 1/100. Beyond this, the acoustic impedance mismatch between film and quartz causes nonlinear deviations.

Switch between  **QCM Characterization**  (sensor properties at a given f₀ and electrode geometry) and  **Film Measurement**  (thickness and mass from a measured Δf).

  2 — Kanazawa–Gordon Model
 Newtonian liquid loading

Select this tab when the crystal contacts a  **semi-infinite Newtonian liquid**  with no adsorbed film. Two operating modes are available:

- **Forward:**  given liquid density ρ_L and viscosity η_L, predict Δf, ΔD, ΔΓ and the viscous penetration depth δ.
- **Inverse:**  given a measured Δf, extract the ρ_L·η_L product. If ρ_L is known, extract η_L individually.

The  **Kanazawa signature**  is `|Δf| = ΔΓ`, equivalently ΔD·f₀/(2·|Δf|) = 1. Significant deviation from this ratio indicates non-Newtonian behaviour, viscoelastic film presence, or interfacial slip.

**Penetration depth δ**  = √(η_L/(π·f₀·ρ_L)) defines the liquid layer thickness sensed by the shear wave. In water at 10 MHz, δ ≈ 178 nm.

  3 — Voigt–Voinova Model
 Viscoelastic film ± liquid

Use this tab for  **viscoelastic films**  — hydrogels, polymer brushes, protein adlayers, lipid bilayers, cell monolayers. Provide the film’s density ρ_f, thickness h_f, storage modulus G′, and a loss parameter (either film viscosity η_f or loss modulus G″). Choose between  **Air**  and  **Liquid**  contact medium.

The calculator predicts:

- **Δf**  — frequency shift (includes both mass and viscoelastic contributions)
- **ΔD**  — dissipation change (energy lost per oscillation cycle)
- **ΔD/|Δf| ratio**  — key diagnostic for regime classification
- **|G*|**  — magnitude of the complex shear modulus
- **tan δ**  — loss tangent (G″/G′), ratio of dissipated to stored energy
- **Δf_S**  — Sauerbrey rigid-film prediction for comparison

A  **regime assessment**  automatically classifies the film behaviour:

  Rigid
 Soft-Rigid
 Viscoelastic

  ΔD/|Δf| < 0.05 0.05 – 0.2 > 0.2

**Limiting cases:**  G′ → ∞ recovers the Sauerbrey equation; h_f → 0 with liquid contact recovers Kanazawa. Use this to verify continuity across models.

  4 — Voigt Inverse Fitting
 Multi-harmonic parameter extraction

This tab solves the  **inverse problem** : given experimental Δf/n and ΔD values measured at multiple overtones by a QCM-D instrument, it extracts the film’s physical properties by fitting the Voigt–Voinova model simultaneously to all harmonics.

**How to use it — step by step:**

1. **Enter your data.**  For each measured overtone, tick the checkbox and type Δf/n (Hz) and ΔD (× 10⁻⁶). If your instrument reports the half-bandwidth shift ΔΓ (Hz) instead of dissipation, use the  **ΔD / ΔΓ toggle**  above the table — the calculator converts automatically. You need  **at least 2 overtones**  (≥ 3 recommended for the 3 free parameters). Common sets: n = 3, 5, 7 or n = 3, 5, 7, 9, 11.
2. **Set fixed parameters.**  Enter the fundamental frequency f₀ (typically 5 MHz), the film density ρ_f (g/cm³), and select Air or Liquid medium. For liquid, provide ρ_L and η_L.
3. **Initial guesses (optional).**  Expand the section to provide starting values for h_f, G′, G″. If left at zero, the calculator auto-estimates h_f from the Sauerbrey equation and uses sensible defaults for the moduli.
4. **Click ▶ Run Fit.**  The Levenberg–Marquardt optimizer runs 4 restarts with different initial conditions and selects the best solution.

The optimizer extracts:

- **h_f**  — film thickness (nm), typically larger than the Sauerbrey estimate for viscoelastic films
- **G′**  — storage (elastic) modulus (Pa)
- **G″**  — loss (viscous) modulus (Pa)
- **η_f**  — film viscosity (Pa·s), computed as G″/(2πf₀)
- **|G*|**  — complex modulus magnitude,  **tan δ**  — loss tangent
- **χ²_r**  — reduced chi-squared, a goodness-of-fit metric (values near 1 = excellent)

The  **Measured vs. Fitted**  comparison table shows, for each overtone, the experimental and predicted Δf/n and ΔD with percentage error. An  **automatic interpretation**  classifies the film regime and comments on fit quality.

**When to use this:**  If your Sauerbrey thickness differs significantly across overtones (Δf/n is not constant), the film is viscoelastic and this inverse fitting gives you the correct thickness along with the mechanical properties of the film.

  Practical Tips
 For QCM-D and multi-harmonic users

- All calculations update automatically with a short debounce delay (280 ms) as you type.
- **Negative Δf**  means mass was added to the crystal; positive Δf means mass was removed or liquid was displaced.
- For  **QCM-D users:**  ΔD = 2ΔΓ / f₀, reported in units of 10⁻⁶.
- The Voigt panel includes a  **Sauerbrey rigid-film comparison**  (Δf_S), so you can quantify how much viscoelasticity shifts the result.
- Use the  **loss parameter toggle**  (η_f ↔ G″) in the Voigt panel for convenience. The calculator auto-converts between the two using G″ = ω·η_f at the fundamental frequency.
- For  **multi-harmonic analysis,**  use the  **Voigt Inverse**  tab: enter Δf/n and ΔD at each overtone (e.g. n = 3, 5, 7) and the optimizer will extract thickness, G′ and G″ simultaneously. Alternatively, run the forward Voigt model at each overtone frequency and compare Δf/n and ΔD_n manually to diagnose frequency-dependent viscoelastic behaviour.
- **Unit conventions:**  viscosity in mPa·s (= cP), density in g/cm³, frequency in Hz, moduli in Pa. The calculator uses CGS internally (standard for QCM literature) and converts for display.

  Measuring Film Swelling — Recommended Workflow
 Dry → Wet → Swell ratio for polymer, hydrogel and resist films

A swelling experiment is a  **differential measurement**  between two states of the  *same*  coated crystal: dry film in air (or pure solvent vapour) and the same film equilibrated in the chosen solvent. Each state needs the right model — there is no single tab that “gives swelling” because the dry and wet regimes obey different physics.

**Important conceptual point:**  the Kanazawa–Gordon model describes a  **bare crystal**  in a Newtonian liquid — there is no film in its physical picture, so it cannot return a film thickness by construction. Use it only as a  *baseline / setup-validation*  step before the coated measurement, not for the swollen-film analysis.

**Step-by-step:**

1. **Bare crystal in air**  — record f₀ on each overtone you intend to use (n = 3, 5, 7, …). This is the absolute reference.
2. **Bare crystal in pure solvent**  (cell-flow setup, fully thermalised — typically 30–60 min). Use the  **Kanazawa–Gordon**  tab in  *Forward*  mode with the solvent’s ρ_L and η_L at your working temperature. The measured Δf and ΔD must match the prediction within a few percent, and the diagnostic ratio ΔD·f₀/(2|Δf|) should sit close to 1. If it does, your setup, mounting and thermalisation are validated. If not, fix that before going further — do not proceed with a coated measurement on top of an uncalibrated baseline.
3. **Coated crystal, dry, in air**  — measure Δf and ΔD on each overtone. If ΔD/|Δf| is small (< 0.05) and Δf/n is constant across overtones, the dry film is rigid: use the  **Sauerbrey**  tab with the film density ρ_f to obtain h_dry. If Δf/n varies with n, the dry film is already viscoelastic — use the  **Voigt Inverse Fitting**  tab in  *Air*  mode instead.
4. **Coated crystal in solvent**  — flow the same solvent over the coated crystal and acquire Δf/n and ΔD on the same overtones until the signals stop drifting (swelling can take minutes to hours depending on T_g and solvent compatibility). Switch to the  **Voigt Inverse Fitting**  tab, set Medium =  *Liquid* , enter the solvent’s ρ_L and η_L (use the  *Solvent preset*  dropdown for common values), and run the fit. The output h_f is the swollen thickness h_wet.
5. **Compute swelling quantities**  — use the  *Swelling Analysis*  helper in the Voigt Inverse panel. With h_dry and h_wet it returns the swell ratio SR = h_wet/h_dry, the volume change ΔV/V = SR − 1, and the solvent volume fraction φ_s = 1 − h_dry/h_wet (assuming negligible lateral spreading).

**Why multiple overtones are non-negotiable in step 4:**  the Voigt model has three film unknowns (h_f, G′, G″) plus the fixed liquid loading. Fitting at the fundamental alone gives an under-determined system; at least three overtones (n = 3, 5, 7 minimum, and 9, 11 if signal quality allows) are needed for a well-posed inversion. Avoid the fundamental in liquid — edge effects and lower stability degrade the data.

**Diagnostic flag during swelling:**  when the solvent first contacts the film, watch ΔD/|Δf|. If it rises sharply, the film has crossed into the viscoelastic regime — confirmation that Sauerbrey is no longer applicable on the wet state and that the Voigt Inverse path is the correct one.

  Key References
 Foundational literature for the four models

- **Sauerbrey:**  G. Sauerbrey, “Verwendung von Schwingquarzen zur Wägung dünner Schichten und zur Mikrowägung”,  *Z. Phys.*  155, 206–222 (1959).
- **Kanazawa–Gordon:**  K.K. Kanazawa & J.G. Gordon II, “Frequency of a quartz microbalance in contact with liquid”,  *Anal. Chem.*  57, 1770–1771 (1985).
- **Voigt–Voinova:**  M.V. Voinova, M. Rodahl, M. Jonson, B. Kasemo, “Viscoelastic acoustic response of layered polymer films at fluid-solid interfaces: Continuum mechanics approach”,  *Phys. Scr.*  59, 391–396 (1999).
- **QCM-D instrument:**  M. Rodahl, F. Höök, A. Krozer, P. Brzezinski, B. Kasemo, “Quartz crystal microbalance setup for frequency and Q-factor measurements in gaseous and liquid environments”,  *Rev. Sci. Instrum.*  66, 3924 (1995).
- **QCM-D technique:**  M. Rodahl & B. Kasemo, “On the measurement of thin liquid overlayers with the quartz-crystal microbalance”,  *Sens. Actuators A*  54, 448–456 (1996).
- **Voigt Inverse Fitting:**  D. Johannsmann, “Viscoelastic, mechanical, and dielectric measurements on complex samples with the quartz crystal microbalance”,  *Phys. Chem. Chem. Phys.*  10, 4516–4534 (2008).
- **Polymer film swelling by QCM-D:**  B.D. Vogt, E.K. Lin, W.-l. Wu, C.C. White, “Effect of film thickness on the validity of the Sauerbrey equation for hydrated polyelectrolyte films”,  *J. Phys. Chem. B*  108, 12685–12690 (2004).
- **Levenberg–Marquardt:**  K. Levenberg, “A method for the solution of certain non-linear problems in least squares”,  *Q. Appl. Math.*  2, 164–168 (1944); D.W. Marquardt,  *J. Soc. Indust. Appl. Math.*  11, 431–441 (1963).

    Input Parameters A = 0.1963 cm²
   Resonant Frequency (f₀) Hz   Valid range: 1 kHz – 1 GHz

   Sensitive Area Diameter (d) cm   Valid range: 0.01 – 10 cm

   Frequency Change (Δf) Hz   Negative → mass deposition | Positive → mass removal

   Sample Density (ρ_f) g/cm³   Valid range: 0.01 – 30 g/cm³

   **Validity:**  Rigid, elastically uniform film in air. Keep |Δf/f₀| < 1/1000 for reliable results. Theoretical Sauerbrey limit ≈ 1/100.

   Results

   Mass Sensitivity C_f ?
 4.417 ng/(Hz·cm²)

  Mass per Hz over active area ?
 0.867 ng/Hz

  Mass Saturation (at Δf/f₀ = 1%) ?
 8.6726e-5 g

  Maximum Sample Thickness (at saturation) ?
 4417 nm

   Film Thickness ?
 4.42 nm

  Mass Change Δm ?
 8.6726e-8 g

  Thickness — alternate units
 0.0044 μm | 44.2 Å

  Mass per Unit Area Δm/A ?
 4.41692e-7 g/cm²

   Quartz Constants (AT-cut)
 Density ρ_Q2.648 g/cm³
 Shear modulus μ_Q2.947 × 10¹¹ g/(cm·s²)
 Acoustic impedance Z_Q8.834 × 10⁵ g/(cm²·s)

  Sauerbrey Equation
  \Delta m = -\,\Delta f \cdot A \cdot \dfrac{\sqrt{\rho_Q\,\mu_Q}}{2 f_0^{2}} C_f = \dfrac{\sqrt{\rho_Q\,\mu_Q}}{2 f_0^{2}} \quad [\mathrm{g/(Hz\cdot cm^2)}] t = -\,\Delta f \cdot \dfrac{C_f}{\rho_f}
   **Limits:**  For a 10 MHz crystal, Cᶠ ≈ 4.42 ng/(Hz·cm²). Mass resolution is sub-nanogram per cm². Deviations from linearity (Sauerbrey breakdown) begin when the film acoustic thickness approaches that of the quartz. Monitor ΔD to verify the rigid-film assumption holds.

    Input Parameters

   Resonant Frequency f₀ Hz
    Liquid Density ρ_L g/cm³
   Liquid Viscosity η_L mPa·s   Water 20°C ≈ 1.002 mPa·s | Glycerol ≈ 1412 mPa·s

    Measured Δf Hz   Enter the measured frequency shift (negative = liquid loading)

   Liquid Density ρ_L g/cm³ (optional)   Provide ρ_L to extract η_L individually

   **Kanazawa model:**  QCM in contact with a semi-infinite Newtonian liquid. Characteristic signature: |Δf| = ΔΓ, i.e. ΔD = 2|Δf|/f₀. Higher ΔD/Δf ratios indicate non-Newtonian behaviour.

   Results Forward
   Frequency Shift Δf ?
 -2021.67 Hz

  Dissipation Change ΔD (× 10⁻⁶) ?
 404.33

  Half-Bandwidth Change ΔΓ ?
 2021.67 Hz

  ρ_L · η_L product ?
 0.00100 (g/cm³)·(Pa·s)

  Viscous Penetration Depth δ ?
 178.6 nm

   Extracted ρ_L · η_L product ?
 —

  Extracted η_L (using given ρ_L) ?
 —

  Predicted ΔD (× 10⁻⁶)
 —

  Viscous Penetration Depth δ
 —

   Quartz Constants (AT-cut)
 ρ_Q2.648 g/cm³
 μ_Q2.947 × 10¹¹ g/(cm·s²)
 Z_Q = √(ρ_Q·μ_Q)8.834 × 10⁵ g/(cm²·s)

  Kanazawa – Gordon Equation
  \Delta f = -\,f_0^{3/2}\,\sqrt{\dfrac{\rho_L\,\eta_L}{\pi\,\rho_Q\,\mu_Q}} \Delta\Gamma = |\Delta f| \implies \Delta D = \dfrac{2|\Delta f|}{f_0} \delta = \sqrt{\dfrac{\eta_L}{\pi\,f_0\,\rho_L}}
   **Inverse:**  \rho_L\,\eta_L = \dfrac{\Delta f^{2}\,\pi\,\rho_Q\,\mu_Q}{f_0^{3}}

  **Validity:**  Semi-infinite, homogeneous Newtonian liquid, no-slip at interface, no film present. Combined ρ·η characterisation of a liquid from a single Δf measurement.

    Input Parameters
   Resonant Frequency f₀ Hz

---

 Film Properties
   Film Density ρ_f g/cm³   Polymer ~1.0–1.5 | Protein layer ~1.3–1.4

   Film Thickness h_f nm
   Storage Modulus G’ Pa   Soft gel ~10³–10⁴ Pa | Stiff polymer ~10⁶–10⁸ Pa

 Loss Parameter

   Film Viscosity η_f Pa·s   Soft gel ~ 0.001–0.1 Pa·s

---

 Contact Medium

  → Switch to  **Liquid**  for swelling, biosensing or any in-solvent measurement. ρ_L and η_L fields plus a solvent preset will appear below.
    Solvent preset 25 °C unless stated
   Liquid Density ρ_L g/cm³
   Liquid Viscosity η_L mPa·s

   Results In Air
  Frequency Shift Δf ?
 -2434.83 Hz

  Dissipation Change ΔD (× 10⁻⁶) ?
 29.81

  Half-Bandwidth Change ΔΓ
 149.04 Hz

---

  ΔD / |Δf| ratio (× 10⁻⁶ / Hz) ?
 0.0122

  Complex Modulus |G*| ?
 118100.981 Pa

  Loss Tangent tan δ = G” / G’ ?
 0.6283

  Sauerbrey rigid-film limit Δf_S ?
 -2716.83 Hz

 Rigid regime: Sauerbrey equation applicable. Very low viscoelastic losses.

   Quartz Constants (AT-cut)
 ρ_Q2.648 g/cm³
 μ_Q2.947 × 10¹¹ g/(cm·s²)
 Z_Q8.834 × 10⁵ g/(cm²·s)
 ReferenceVoinova et al., 1999

  Voigt – Voinova Model
  \widetilde{\Delta f} = \Delta f + i\,\Delta\Gamma = -\dfrac{f_0}{\pi Z_Q}\,\tilde{Z}_{\text{load}} \tilde{Z}_{\text{load}} = \tilde{Z}_f\,\dfrac{\tilde{Z}_L + \tilde{Z}_f\tanh\tilde{\xi}_f}{\tilde{Z}_f + \tilde{Z}_L\tanh\tilde{\xi}_f} \tilde{Z}_f = \sqrt{\rho_f\,\tilde{G}_f} \qquad \tilde{G}_f = G^{\prime} + iG^{\prime\prime} = G^{\prime} + i\omega\eta_f \tilde{Z}_L = \sqrt{i\omega\,\rho_L\,\eta_L} \quad [0\ \text{in air}] \tilde{\xi}_f = \omega\,h_f\,\sqrt{\dfrac{\rho_f}{\tilde{G}_f}}
   **Limits:**  G^{\prime}\!\to\!\infty \implies \text{Sauerbrey} | h_f\!\to\!0 \implies \text{Kanazawa}
 \Delta D = \dfrac{2\Delta\Gamma}{f_0}

 High ΔD/|Δf| ratio indicates strong viscoelastic losses. Typical threshold: ΔD/|Δf| > 0.2×10⁻⁶/Hz signals Sauerbrey breakdown.

    Experimental Data (multi-harmonic)
   Loss input:

| Use | n | Δf/n (Hz) | ΔD (× 10⁻⁶) |
| --- | --- | --- | --- |
|  | 1 |  |  |
|  | 3 |  |  |
|  | 5 |  |  |
|  | 7 |  |  |
|  | 9 |  |  |
|  | 11 |  |  |
|  | 13 |  |  |

   Fundamental Frequency f₀ Hz
  Film Density ρ_f g/cm³
  Medium
    Solvent preset 25 °C unless stated
   ρ_L g/cm³
  η_L mPa·s

    ▸ Initial Guesses (optional — auto-estimated if left at 0)    h_f initial nm
  G′ initial Pa
  G″ initial Pa

   Fitted Parameters
   Enter Δf/n and ΔD (or ΔΓ) data at ≥ 2 overtones, then click  **▶ Run Fit** .

 The optimizer will simultaneously fit the Voigt–Voinova model to all harmonics and extract h_f, G′, G″.

    Film Thickness h_f
 —nm

  Storage Modulus G′
 —Pa

  Loss Modulus G″
 —Pa

  Film Viscosity η_f
 —Pa·s

  |G*| Complex Modulus
 —Pa

  tan δ = G″/G′
 —

  Sauerbrey Thickness (rigid limit)
 —nm

  χ² (reduced)
 —

  Measured vs. Fitted

| n | Δf/n meas(Hz) | Δf/n fit(Hz) | ΔD meas(×10⁻⁶) | ΔD fit(×10⁻⁶) | Δf err(%) |
| --- | --- | --- | --- | --- | --- |

   **Interpretation:**  Results will appear here after fitting.

    Swelling Analysis — differential dry / wet metrics

Enter the  *dry*  film thickness (from a Sauerbrey or Voigt-in-air analysis on the same coated crystal before solvent contact) and the  *wet*  film thickness (from the Voigt Inverse fit above with the solvent in place). The helper computes the swelling metrics assuming negligible lateral spreading (1D thickness change only).

    h_dry nm
   h_wet nm

   Swell ratio SR = h_wet/h_dry ?
 —

  Volume change ΔV/V —

  Solvent volume fraction φ_s ?
 —

    Quartz Constants (AT-cut)
 ρ_Q2.648 g/cm³
 μ_Q2.947 × 10¹¹ g/(cm·s²)
 Z_Q8.834 × 10⁵ g/(cm²·s)
 ReferenceVoinova et al., 1999

  Voigt Inverse — Minimisation Problem
  \min_{\{h_f,\,G^{\prime},\,G^{\prime\prime}\}} \chi^{2} = \sum_n \dfrac{\big[(\Delta f/n)_{\text{calc}}-(\Delta f/n)_{\text{exp}}\big]^{2}}{\sigma_f^{2}} + \dfrac{\big[\Delta D_{\text{calc}}-\Delta D_{\text{exp}}\big]^{2}}{\sigma_D^{2}}
 where Δf_calc, ΔD_calc come from the full Voigt–Voinova forward model
 evaluated at each overtone frequency f_n = n\,f_0
   **Method:**  Levenberg–Marquardt with log-transformed parameters for guaranteed positivity and improved conditioning. 4 random restarts for robustness.
  **Requirements:**  ≥ 2 overtones (4 data points) for 3 free parameters. 3+ overtones (6 data points) recommended.

---

openQCM by Novaetech S.r.l., Pompeii, Italy · Buy: https://store.openqcm.com/ · Contact: info@openqcm.com · https://openqcm.com/contacts/
