Eigen (Plotly)

The eigenvalue (modal) visualization provides insights into the dynamic characteristics of the structure. It includes the following features:

  • Mode Shapes: Visual representation of how the structure deforms under specific vibration modes.

  • Natural Frequencies or Periods: Display of corresponding frequencies or periods for each mode, enabling detailed analysis of structural dynamics.

  • Animation: Dynamic visualization of the mode shapes to better understand the structural response.

Using the visualization tools, you can:

  1. Analyze the vibration patterns of the structure.

  2. Identify critical modes that may impact structural performance.

  3. Evaluate the effectiveness of design modifications in improving dynamic behavior.

[1]:
import opstool as opst
import opstool.vis.plotly as opsvis

Here, we use a built-in example from opstool, which is an example of a deck arch bridge model primarily composed of frame elements and shell elements.

[2]:
opst.load_ops_examples("ArchBridge2")
# or your model code here

We use the opstool.vis.plotly.set_plot_props() function to predefine some common visualization properties, which will affect all subsequent visualizations of models, eigenvalues, and responses.

[3]:
opsvis.set_plot_props(point_size=0, line_width=3)

Save the eigen analysis results

Although not mandatory, you can use the save_eigen_data function to save eigenvalue analysis data, which can help you better understand how opstool operates.

Parameters:

  • odb_tag: Specifies the label for the output database.

  • mode_tag: Specifies the number of modes to save. Modal data within the range [1, mode_tag] will be saved.

For detailed usage, please refer to the opstool.post.save_eigen_data().

[4]:
opst.post.save_eigen_data(odb_tag=1, mode_tag=6)
Using DomainModalProperties - Developed by: Massimo Petracca, Guido Camata, ASDEA Software Technology
OPSTOOL ::  Eigen data has been saved to .opstool.output/EigenData-1.nc!

Plot mode shape by animation

The following example demonstrates how to animate Mode 1:

[9]:
fig = opsvis.plot_eigen_animation(mode_tag=1, odb_tag=1, show_outline=False)
# fig.show(renderer="jupyterlab")
# fig.show(renderer="notebook")
# fig.show(renderer="browser")
fig.show()  # for auto
OPSTOOL ::  Loading eigen data from .opstool.output/EigenData-1.nc ...

Data type cannot be displayed: application/vnd.plotly.v1+json