# Examples from pyvista.examples.downloads.download_fea_hertzian_contact_cylinder
# ===============================================================================

# Plot by part ID.
import numpy as np
import pyvista as pv
from pyvista import examples
grid = examples.download_fea_hertzian_contact_cylinder()
grid.plot(scalars='PartID', cmap=['green', 'blue'], show_scalar_bar=False)

# Plot the absolute value of the component stress in the Z direction.
pl = pv.Plotter()
z_stress = np.abs(grid['Stress'][:, 2])
_ = pl.add_mesh(
    grid,
    scalars=z_stress,
    clim=[0, 1.2e9],
    cmap='jet',
    lighting=True,
    show_edges=False,
    ambient=0.2,
)
pl.camera_position = 'xz'
pl.camera.zoom(1.4)
pl.show()

# SEE ALSO:
#     Fea Hertzian Contact Cylinder Dataset https://docs.pyvista.org/api/examples/dataset_gallery.html#fea-hertzian-contact-cylinder-dataset
#     See this dataset in the Dataset Gallery for more info.
#     Visualize Hertzian Contact Stress https://docs.pyvista.org/examples/99-advanced/fea_hertzian_contact_pressure.html#fea-hertzian-contact-pressure-example
#     Fea Bracket Dataset https://docs.pyvista.org/api/examples/dataset_gallery.html#fea-bracket-dataset
#     Aero Bracket Dataset https://docs.pyvista.org/api/examples/dataset_gallery.html#aero-bracket-dataset
#     Notch Stress Dataset https://docs.pyvista.org/api/examples/dataset_gallery.html#notch-stress-dataset
#     Notch Displacement Dataset https://docs.pyvista.org/api/examples/dataset_gallery.html#notch-displacement-dataset

# ----------------------------------------------------------------------
# Generated by sphinx-examples-as-code https://github.com/pyvista/sphinx-examples-as-code

