Difference between revisions of "External tools: Rosette computation"
| (21 intermediate revisions by 2 users not shown) | |||
| Line 1: | Line 1: | ||
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. | |||
A strain gauge rosette is a | <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 == | |||
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: | |||
{| class="wikitable" style="width:70%" | |||
|- | |||
! 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: | |||
{| class="wikitable" style="width:90%" | |||
|- | |||
! 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: | |||
:<math>\text{Center} = \frac{\varepsilon_A + \varepsilon_C}{2}</math> | |||
:<math>\text{Radius} = \frac{1}{\sqrt{2}} \sqrt{(\varepsilon_A - \varepsilon_B)^2 + (\varepsilon_B - \varepsilon_C)^2}</math> | |||
:<math>\varepsilon_{max} = \text{Center} + \text{Radius} \qquad \varepsilon_{min} = \text{Center} - \text{Radius}</math> | |||
:<math>\sigma_1 = \frac{E}{1-\nu^2} \left( \varepsilon_{max} + \nu\,\varepsilon_{min} \right)</math> | |||
:<math>\theta = \frac{1}{2} \arctan2\!\left(2\varepsilon_B - \varepsilon_A - \varepsilon_C,\ \varepsilon_A - \varepsilon_C\right)</math> | |||
==== Delta rosette (0° / 60° / 120° and 0° / 120° / 240°) ==== | |||
:<math>\text{Center} = \frac{\varepsilon_A + \varepsilon_B + \varepsilon_C}{3}</math> | |||
:<math>\text{Radius} = \frac{\sqrt{2}}{3} \sqrt{(\varepsilon_A - \varepsilon_B)^2 + (\varepsilon_B - \varepsilon_C)^2 + (\varepsilon_A - \varepsilon_C)^2}</math> | |||
:<math>\varepsilon_{max} = \text{Center} + \text{Radius} \qquad \varepsilon_{min} = \text{Center} - \text{Radius}</math> | |||
:<math>\sigma_1 = \frac{E}{1-\nu^2} \left( \varepsilon_{max} + \nu\,\varepsilon_{min} \right)</math> | |||
:<math>\theta = \frac{1}{2} \arctan2\!\left(\sqrt{3}\,(\varepsilon_B - \varepsilon_C),\ 2\varepsilon_A - \varepsilon_B - \varepsilon_C\right)</math> | |||
'''Note:''' The atan2 function is used instead of atan to correctly handle all quadrants, including the case εA = εC (zero denominator). | |||
---- | |||
== Requirements == | |||
{| class="wikitable" | |||
|- | |||
! Item !! Requirement | |||
|- | |||
| NVGate version || V17 or higher | |||
|- | |||
| Signal format || OSFF measurement directory (NVGate V17+) or legacy .oxf | |||
|- | |||
| Signal type || Time-domain (static or dynamic channels) | |||
|- | |||
| Number of input channels || 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) === | |||
# Download '''RosetteAddon.exe''' (see [[#Downloads|Downloads]] below). | |||
# Copy the entire '''RosetteAddon/''' folder to the NVGate external tools directory: | |||
#: <code>C:\OROS\NVGate data\Links\</code> | |||
# 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 === | |||
# '''Open NVGate''' and load the measurement containing the rosette strain gauge channels in the '''Player'''. | |||
# '''Launch RosetteAddon.exe''' (from the Tools tab or directly). | |||
# 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°) | |||
# In the '''Material Properties''' card, enter the material constants: | |||
#* '''Young's modulus E''' — in Pa (e.g. <code>210000000000</code> for steel, <code>70000000000</code> for aluminium) | |||
#* '''Poisson's ratio ν''' — dimensionless (e.g. <code>0.3</code> for steel, <code>0.33</code> for aluminium) | |||
# Select the '''Rosette Type''' matching your sensor geometry. | |||
# Click '''COMPUTE'''. | |||
# The tool reads the signal, computes the rosette, and writes a new measurement named '''<original_name>_rosette''' in the same NVGate project. | |||
# NVGate's Project Manager is refreshed automatically — the new measurement appears immediately. | |||
== 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: | |||
<pre> | |||
C:\OROS\NVGate data\Projects\MyProject\ | |||
├── Measurement1\ ← original (3 strain gauge channels) | |||
└── Measurement1_rosette\ ← created by the tool (5 channels) | |||
</pre> | |||
The output measurement contains all the original channels '''plus''' the two computed channels: | |||
{| class="wikitable" style="width:95%" | |||
|- | |||
! Channel name !! Content !! Unit !! Physical quantity | |||
|- | |||
| (original channels) || Raw strain data, unchanged || µε || Strain | |||
|- | |||
| <code>Principal Stress Magnitude - A_B_C</code> || σ₁ time history || Pa || Pressure | |||
|- | |||
| <code>Principal Stress Angle - A_B_C</code> || θ 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 == | |||
" | {| class="wikitable" style="width:80%" | ||
|- | |||
! 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 | |||
|} | |||
---- | |||
== Version history == | |||
{| class="wikitable" | |||
|- | |||
! Version !! Date !! Changes | |||
|- | |||
| 1.000b || 2026-04 || 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) | |||
|} | |||
[[category:Manual - Rosette]] | [[category:Manual - Rosette]] | ||
Latest revision as of 11:01, 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:
Delta rosette (0° / 60° / 120° and 0° / 120° / 240°)
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 | V17 or higher |
| Signal format | OSFF measurement directory (NVGate V17+) or legacy .oxf |
| Signal type | Time-domain (static or dynamic channels) |
| Number of input channels | 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)
- Download RosetteAddon.exe (see Downloads below).
- Copy the entire RosetteAddon/ folder to the NVGate external tools directory:
C:\OROS\NVGate data\Links\
- 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
- Open NVGate and load the measurement containing the rosette strain gauge channels in the Player.
- Launch RosetteAddon.exe (from the Tools tab or directly).
- 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°)
- In the Material Properties card, enter the material constants:
- Young's modulus E — in Pa (e.g.
210000000000for steel,70000000000for aluminium) - Poisson's ratio ν — dimensionless (e.g.
0.3for steel,0.33for aluminium)
- Young's modulus E — in Pa (e.g.
- Select the Rosette Type matching your sensor geometry.
- Click COMPUTE.
- The tool reads the signal, computes the rosette, and writes a new measurement named <original_name>_rosette in the same NVGate project.
- NVGate's Project Manager is refreshed automatically — the new measurement appears immediately.
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 |
Version history
| Version | Date | Changes |
|---|---|---|
| 1.000b | 2026-04 | 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) |