Hugoniot

The class Hugoniot defined below is an dataclass that contains all relevant information for the shocked states of a material. It contains multiple function with their main purpose being interpolating the data, such as interpolate_pressure, interpolate_shock_velocity etc to accommodate the needs of a shock wave experiment propagation. In addition the function reflected_hugoniot documented below assist in the respective Isentrope calculation process.

Hugoniot Class

Methods

class Hugoniot(pressures: ndarray, particle_velocities: ndarray, shock_velocities: ndarray, volumes: ndarray, id: int | None = None)

Dataclass containing all info (e.g. \(P, u_p, U_s, V\)) of a Hugoniot curve.

Parameters:
  • pressures – A numpy array containing the pressures \((P)\) for all shocked states of a Hugoniot.

  • particle_velocities – A numpy array containing the particle velocities \((u_p)\) for all shocked states of a Hugoniot.

  • shock_velocities – A numpy array containing the shock velocities \((U_s)\) for all shocked states of a Hugoniot.

  • volumes – A numpy array containing the pressures for all shocked states of a Hugoniot.

  • id – An integer identifier.

reflected_hugoniot(initial_density, intersection_particle_velocity=0, delta_particle_velocity=0)

Calculates and returns the reflection of a Hugoniot given either a vertical axis or a shift value.

Parameters:
  • initial_density – Ambient density of the material

  • intersection_particle_velocity – Particle velocity value that defines the vertical reflection axis of the Hugoniot.

  • delta_particle_velocity – Value of particle velocity to make horizontal shifts to the reflected Hugoniot.

Reflection of Hugoniot along th vertical :math:`u_p=0` axis.