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.
