Motor NVH Samples
This showcase explains the stator modal and simplified motor NVH workflow in eMachineSim. The examples are intended to show the analysis flow, result files, and visualization workflow for electric-machine vibration studies. They are not calibrated acoustic prediction examples.
The public sample is located under:
Examples/structural/modal_stator/
Representative input files are:
input_modal_stator_sparse_modal.json
input_modal_stator_force_mapping.json
input_modal_stator_frequency_response.json
input_modal_stator_acoustic_radiation.json
Even when the input mesh uses first-order elements, setting "ELEMENT_ORDER": 2 in 6_Gaussian_Integral_Point converts the mesh to second-order elements during preprocessing. For the modal/NVH workflow, the stiffness and mass matrices assembled on the converted mesh are used for modal analysis, frequency response, outer-boundary velocity, circumferential-order analysis, and the simplified acoustic indicator.
Model Description
The sample uses a 2D stator structural mesh for a concentrated-winding motor. The mesh represents a rotational sector of the stator. It is useful for checking stator mode shapes, nodal-force mapping, modal frequency response, and simplified outer-surface velocity or acoustic indicators.
The figure below shows the input sector mesh used for the modal example.
Important modeling notes:
- The example is a sector model, not a full 360-degree mesh.
- The modal result files include sector-model output and cyclic full-circle visualization output.
- The cyclic full-circle visualization is intended for ParaView inspection of mode shapes. It is not a replacement for a true full-model eigenvalue solve.
Modal Analysis Conditions
The modal analysis case is:
input_modal_stator_sparse_modal.json
The main settings are:
| Item | Setting |
|---|---|
| Analysis type | Structural modal analysis |
| Structural assumption | 2D plane stress |
| Thickness | 0.05 m |
| Material Young's modulus | 2.1e11 Pa |
| Poisson's ratio | 0.3 |
| Density | 7800 kg/m3 |
| Number of modes | 8 |
| Solver | Sparse shift-invert generalized eigen solver |
| Mass matrix | Consistent mass |
| Normalization | Mass normalized |
| Rigid-body mode removal | Enabled |
Run the modal case from Python:
import eMachineSim
result = eMachineSim.structural.solve(
r"Examples\structural\modal_stator\input_modal_stator_sparse_modal.json",
r"Examples\structural\modal_stator",
)
print(result["success"])
Modal Frequencies
The natural frequencies are written to:
modal_frequencies.csv
Representative values from the current sample are:
| Mode | Frequency [Hz] | Cyclic expansion sign |
|---|---|---|
| 1 | 1695.55 | +1 |
| 2 | 4163.61 | -1 |
| 3 | 9242.54 | +1 |
| 4 | 13183.70 | -1 |
| 5 | 17671.47 | +1 |
| 6 | 21288.85 | -1 |
| 7 | 22904.83 | +1 |
| 8 | 26296.75 | +1 |
The cyclic expansion sign is also written to:
modal_cyclic_full_expansion.csv
This sign is selected mode-by-mode so the expanded sector is more consistent across the rotational sector boundary.
Mode Shape Visualization
The modal post-processing path writes VTK files that can be opened in ParaView:
| File | Purpose |
|---|---|
mesh.vtk | Sector mesh geometry and property IDs. |
modal_modes.vtk | Sector-model mode-shape vectors and magnitudes. |
modal_modes_cyclic_full.vtk | Cyclic full-circle mode-shape visualization. |
boundary_faces.vtk | Boundary face visualization. |
Use ParaView's Warp By Vector filter with a small scale factor to view the
deformation shape. The following figures were generated from
modal_modes_cyclic_full.vtk.
Mode 1
Mode 1 is the lowest extracted flexible mode in this sample. The full-circle view helps confirm the global deformation pattern around the stator.
Mode 2
Mode 2 uses an anti-periodic cyclic expansion sign in this sample. This avoids the large artificial separation that appears if the sector result is simply rotated and copied without considering the mode phase.
Mode 3
Mode 3 returns to a periodic expansion sign. The color distribution and warped shape provide a quick visual check of the circumferential deformation pattern.
Additional Modes
The public example also includes plots for modes 4 to 6:
![]() | ![]() |
| Mode 4 | Mode 5 |
![]() | |
| Mode 6 | |
Interpreting modal_modes_cyclic_full.vtk
modal_modes_cyclic_full.vtk is a visualization aid for sector models. It
expands the sector result by applying a periodic or anti-periodic sign to the
rotated sector copy. This makes the whole-stator plot much easier to inspect
than a raw rotated copy.
However, it is still derived from a sector-model solve:
- The duplicated sector is not a separately solved full 360-degree model.
- Small discontinuities can remain at the model boundary, especially when using a large Warp By Vector scale factor.
- If a perfectly continuous full-circle deformation plot is required, prepare a full 360-degree mesh and run the modal analysis with that full model.
This distinction is important for public examples: the cyclic full-circle VTK is suitable for mode-shape review, documentation figures, and qualitative checks, while a full-model analysis should be used when the user needs exact full-circle continuity.
NVH Workflow Extension
After modal extraction, the other sample JSON files demonstrate the next steps in the simplified motor NVH workflow:
| JSON file | Purpose |
|---|---|
input_modal_stator_force_mapping.json | Read and map nodal force data onto the structural DOFs. |
input_modal_stator_frequency_response.json | Use modal superposition to estimate frequency response. |
input_modal_stator_acoustic_radiation.json | Compute simplified outer-velocity and acoustic-radiation indicators. |
Key diagnostic files include:
| File | Purpose |
|---|---|
motor_nvh_nodal_force_summary.csv | Imported and mapped force summary. |
motor_nvh_frequency_response_summary.csv | Modal frequency-response summary. |
motor_nvh_modal_participation.csv | Modal contribution diagnostics. |
motor_nvh_outer_velocity_summary.csv | Outer normal velocity summary. |
motor_nvh_acoustic_radiation_summary.csv | Simplified acoustic indicator summary. |
The acoustic indicator output is intentionally simplified. Use it for relative comparison and workflow checks, not as a calibrated sound-power prediction.


