Difference between revisions of "External tools: Rosette computation"

From OROS Wiki
Jump to navigation Jump to search
Line 2: Line 2:


<youtube>https://youtu.be/V7l0hIy9GuM </youtube>
<youtube>https://youtu.be/V7l0hIy9GuM </youtube>
== Downloads ==
{| class="wikitable"
|-
! File !! Description
|-
| [https://partnerzone.digigram.com/s/XWTNNdendMPAkz4 Download here] || Standalone executable + all dependencies. Unzip and copy to <code>C:\OROS\NVGate data\Links\</code>
|-
| [https://orossas.sharepoint.com/:u:/g/support/EUkl9G7TJ8hHuK07QPWpom0BTq7YlxmyLAm98cvYldmoDg?e=3K6DeI NVGate:  Demo signal to test] || Demo NVGate measurement with 3 rosette channels (rectangular, steel)
|}
----


== Principle ==
== Principle ==
Line 218: Line 231:
----
----


== Validation ==
The computation has been analytically verified against known closed-form test cases:
* '''Uniaxial traction along gauge A''': εA = ε₀, εB = −ν·ε₀/... (45° gauge), εC = −ν·ε₀ → σ₁ = E·ε₀, θ = 0 ✓
* '''Pure shear''': symmetric strain state → σ₁ = −σ₂, θ = ±45° ✓
* '''Hydrostatic''': εA = εB = εC → σ₁ = σ₂ = E·ε/(1−ν), θ = undefined (isotropic) ✓
* '''Real signal''' (steel structure, 12 800 Hz, 5 s): relative precision < 1.5 × 10⁻⁷ (float64 round-off only) ✓
----
== Downloads ==


{| class="wikitable"
|-
! File !! Description
|-
| [[Media:RosetteAddon.zip|RosetteAddon.zip]] || Standalone executable + all dependencies. Unzip and copy to <code>C:\OROS\NVGate data\Links\</code>
|-
| [[Media:RosetteAddon_demo_signal.zip|RosetteAddon_demo_signal.zip]] || Demo NVGate measurement with 3 rosette channels (rectangular, steel)
|}


----


== Version history ==
== Version history ==

Revision as of 10:58, 10 April 2026

The Rosette Computation tool is a standalone NVGate add-on that transforms raw strain gauge rosette signals into principal stress and principal stress angle time histories. It reads a time-domain measurement directly from the NVGate Player, performs the Mohr's circle computation sample by sample, and writes a new measurement back into the same NVGate project — ready to be analysed, displayed or exported like any other signal.

Downloads

File Description
Download here Standalone executable + all dependencies. Unzip and copy to C:\OROS\NVGate data\Links\
NVGate: Demo signal to test Demo NVGate measurement with 3 rosette channels (rectangular, steel)

Principle

A strain gauge rosette is a set of three strain gauges bonded close together on a surface and oriented at fixed angular offsets from each other. Because a single gauge only measures the normal strain in one direction, at least three gauges at known angles are needed to fully characterise the two-dimensional strain state at that point.

Once the three principal strains (ε₁, ε₂) and their orientation θ are known, the principal stresses (σ₁, σ₂) are derived using the plane-stress constitutive relations for a linear isotropic material.

The tool implements this calculation sample by sample over the full length of the signal, producing two additional time channels:

Output channel Physical quantity Unit
Principal Stress Magnitude Maximum principal stress σ₁ Pa
Principal Stress Angle Orientation of σ₁ w.r.t. gauge A rad

Supported Rosette Configurations

Three standard rosette layouts are supported:

Configuration Gauge angles Typical use
Rectangular / 45° 0° — 45° — 90° General-purpose; most common in industry
Delta / 60° 0° — 60° — 120° Equiangular rosette; more isotropic sensitivity
0° / 120° / 240° 0° — 120° — 240° Alternative delta layout; same calculation as 60°

Mathematical formulas

Rectangular rosette (0° / 45° / 90°)

With εA, εB, εC being the strains measured by gauges A, B, C respectively:

Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \text{Center} = \frac{\varepsilon_A + \varepsilon_C}{2}}
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \text{Radius} = \frac{1}{\sqrt{2}} \sqrt{(\varepsilon_A - \varepsilon_B)^2 + (\varepsilon_B - \varepsilon_C)^2}}
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \varepsilon_{max} = \text{Center} + \text{Radius} \qquad \varepsilon_{min} = \text{Center} - \text{Radius}}
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \sigma_1 = \frac{E}{1-\nu^2} \left( \varepsilon_{max} + \nu\,\varepsilon_{min} \right)}
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \theta = \frac{1}{2} \arctan2\!\left(2\varepsilon_B - \varepsilon_A - \varepsilon_C,\ \varepsilon_A - \varepsilon_C\right)}

Delta rosette (0° / 60° / 120° and 0° / 120° / 240°)

Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \text{Center} = \frac{\varepsilon_A + \varepsilon_B + \varepsilon_C}{3}}
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \text{Radius} = \frac{\sqrt{2}}{3} \sqrt{(\varepsilon_A - \varepsilon_B)^2 + (\varepsilon_B - \varepsilon_C)^2 + (\varepsilon_A - \varepsilon_C)^2}}
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \varepsilon_{max} = \text{Center} + \text{Radius} \qquad \varepsilon_{min} = \text{Center} - \text{Radius}}
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \sigma_1 = \frac{E}{1-\nu^2} \left( \varepsilon_{max} + \nu\,\varepsilon_{min} \right)}
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \theta = \frac{1}{2} \arctan2\!\left(\sqrt{3}\,(\varepsilon_B - \varepsilon_C),\ 2\varepsilon_A - \varepsilon_B - \varepsilon_C\right)}

Note: The atan2 function is used instead of atan to correctly handle all quadrants, including the case εA = εC (zero denominator).


Requirements

Item Requirement
NVGate version V12 or higher (V17+ recommended for OSFF format)
Signal format OSFF measurement directory (NVGate V17+) or legacy .oxf
Signal type Time-domain (static or dynamic channels)
Number of input channels Exactly 3 strain gauge channels (any sampling rate)
Operating system Windows 7 / 10 / 11 (32-bit Python runtime bundled)
NVGate running Yes — the tool connects to NVGate via NVDrive to read the active player path and refresh the Project Manager

Installation

Method 1: Copy the .exe to the NVGate Links folder (recommended)

  1. Download RosetteAddon.exe (see Downloads below).
  2. Copy the entire RosetteAddon/ folder to the NVGate external tools directory:
    C:\OROS\NVGate data\Links\
  3. The tool will appear automatically in NVGate's Tools tab at next startup.

Method 2: Run the .exe directly

Double-click RosetteAddon.exe from any location. NVGate must be open and a signal must be loaded in the Player.

Note: The executable is self-contained — no Python installation or additional libraries are required on the target PC.


Usage

Step-by-step

  1. Open NVGate and load the measurement containing the rosette strain gauge channels in the Player.
  2. Launch RosetteAddon.exe (from the Tools tab or directly).
  3. In the Signal Channels card, select which NVGate input corresponds to each gauge:
    • ε A → gauge oriented at 0°
    • ε B → gauge oriented at 45° (or 60°)
    • ε C → gauge oriented at 90° (or 120°)
  4. In the Material Properties card, enter the material constants:
    • Young's modulus E — in Pa (e.g. 210000000000 for steel, 70000000000 for aluminium)
    • Poisson's ratio ν — dimensionless (e.g. 0.3 for steel, 0.33 for aluminium)
  5. Select the Rosette Type matching your sensor geometry.
  6. Click COMPUTE.
  7. The tool reads the signal, computes the rosette, and writes a new measurement named <original_name>_rosette in the same NVGate project.
  8. NVGate's Project Manager is refreshed automatically — the new measurement appears immediately.

Status bar

The status bar at the bottom of the window reports progress in real time:

Colour Message Meaning
Amber Computing... / Step 1/3... Computation in progress
Green Done — <name> Computation completed successfully
Red Error — ... An error occurred (see details below)
Grey Ready Idle, waiting for user input

Output measurement

The output measurement is written in the same NVGate project directory as the input, with the suffix _rosette appended to the original measurement name.

Example:

C:\OROS\NVGate data\Projects\MyProject\
  ├── Measurement1\               ← original (3 strain gauge channels)
  └── Measurement1_rosette\       ← created by the tool (5 channels)

The output measurement contains all the original channels plus the two computed channels:

Channel name Content Unit Physical quantity
(original channels) Raw strain data, unchanged µε Strain
Principal Stress Magnitude - A_B_C σ₁ time history Pa Pressure
Principal Stress Angle - A_B_C θ time history (orientation of σ₁) rad Plane Angle

The sampling rate, duration, and all device metadata are preserved from the input channels.

If the output measurement already exists (from a previous computation), it is automatically deleted and recreated. If it cannot be deleted (e.g., currently open in NVGate), a timestamped name is used instead.


Typical material properties

Material Young's modulus E (Pa) Poisson's ratio ν
Steel (structural) 210 × 10⁹ 0.30
Stainless steel 193 × 10⁹ 0.28
Aluminium alloy 70 × 10⁹ 0.33
Titanium alloy 110 × 10⁹ 0.34
Cast iron 160 × 10⁹ 0.26
Copper 120 × 10⁹ 0.34

Troubleshooting

Symptom Likely cause Solution
Error — no signal loaded in NVGate player NVGate Player is empty or paused at the beginning Load and play a signal in NVGate before launching the computation
Error — duplicate channel selection The same channel is selected for two or more gauges Select a distinct channel for each of ε A, ε B, ε C
Error — Young modulus is not a valid number Non-numeric text in the E field Enter a numeric value, e.g. 210e9 or 210000000000
Channel dropdown is empty NVGate is not open, or measurement has no channels Ensure NVGate is running with a measurement loaded in the Player
Output measurement not visible in NVGate NVGate Project Manager not refreshed Click Refresh PM in NVGate, or close and reopen the project
Stress values seem too high Wrong unit for E (GPa entered instead of Pa) Enter E in Pascals: 210 GPa = 210000000000 Pa
Angle output is always near zero Gauges A and C have nearly identical strain This is physically correct — it means the principal axis is nearly aligned with gauge A



Version history

Version Date Changes
1.000b 2025-04 Initial public release. Supports rectangular (45°) and delta (60°/120°) rosettes. Compatible with NVGate V17 OSFF measurement format. Dark UI theme.
2024-11 Internal prototype (oxf format, NVGate V12–V16)

See also

Compute 2D main stress/strain values from rosette measurements

Compatibility : NVGate V12 or upper

A strain gauge rosette is a term for an arrangement of three strain gauges that are positioned closely together in order to measure strains along different directions in the component under test. Use of multiple strain gauges enables global stress amplitude and phase to be determined. The rosette add-on calculates this global stress from a rosette measurement.

Downloading

Download here april 2026 version

NVGate: Demo signal to test

Overview

"Rosette" tool is an NVGate Add-on to perform calculation of the angle / magnitude of the main stress from the rosette’s micro Strain :

It is advised to copy the application add-on "RosetteAddon.exe" within theNVGat "Link" directory "C: \ OROS \ NVGate data \ Links". Thus, it will be possible to access it via the "Tools" tab of NVGate : Sans titre.png


How to use

This plugin works only on a signal already recorded, you must first load this signal in the player, then you can launch the plugin. Then you just need to fill in the configuration of the rosette, the corresponding inputs, the modulus of Young, Poisson Coeff and then compute. This may take some time depending on the size of the signal, even if the program "does not respond", wait for confirmation "Done" validating the correct operation.

Manual - Rosette 04.gif