Difference between revisions of "External tools: Rosette computation"

From OROS Wiki
Jump to navigation Jump to search
 
(14 intermediate revisions by the same user not shown)
Line 1: Line 1:
Compute 2D main stress/strain values from rosette measurements
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.


Compatibility : BVGate V12 or upper
<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°) ====


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.
:<math>\text{Center} = \frac{\varepsilon_A + \varepsilon_B + \varepsilon_C}{3}</math>


<youtube>https://youtu.be/V7l0hIy9GuM </youtube>
:<math>\text{Radius} = \frac{\sqrt{2}}{3} \sqrt{(\varepsilon_A - \varepsilon_B)^2 + (\varepsilon_B - \varepsilon_C)^2 + (\varepsilon_A - \varepsilon_C)^2}</math>
== Downloading ==
 
[https://orossas.sharepoint.com/:u:/g/support/ERaOdKHhsYBNpB1cD43gF9QBZjxDkx-L8sL5rfPn1s4wyA?e=blbWDq Download here]<br>
:<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.


[https://orossas.sharepoint.com/:u:/g/support/EUkl9G7TJ8hHuK07QPWpom0BTq7YlxmyLAm98cvYldmoDg?e=3K6DeI NVGate:  Demo signal to test]
----


<font color="#34A9DC">'''Overview'''</font>
== Typical material properties ==


"Rosette" tool is an NVGate Add-on to perform calculation of the angle / magnitude of the main stress from the rosette<nowiki>’</nowiki>s micro Strain :
{| 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
|}


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 :
----
[[File:Sans titre.png]]


== Version history ==


<font color="#34A9DC">'''How to use'''</font>
{| 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)
|}


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.


[[Image:Manual_-_Rosette_04.gif|thumb|none|449px]]


[[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)

  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.

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)