Isentrope

The class Isentrope defined below is an dataclass that contains all relevant information for the release/reshock curve of a material.

Isentrope Class

Methods

class Isentrope(pressures: ndarray, particle_velocities: ndarray, intersection: object)

Dataclass containing all info (i.e. \(P, u_p\)) of an Isentrope.

Parameters:
  • pressures – A numpy array containing the pressures \((P)\) of an Isentrope.

  • particle_velocities – A numpy array containing the particle velocities \((u_p)\) of an Isentrope.

  • intersection – An Intersection object define the shocked state of the material the initiated the isentrope.

Inside ShockPy there are two ways of calculating the release or reshock of one material, to reach the impedance of the next during a shock-wave experiment. The first one is the rough approximation of the release isentrope using the reflected Hugoniot. The second approximation is an integrated isentrope approach introduced for Quartz in [1]. The classes that enable both implementations are described below. Both classes can be considered as static and provide two methods. One for calculation of the isentrope named calculate_isentrope that aids in the forward propagation of the shock-wave experiment, while the second called find_previous_material_isentrope identifies the isentrope of the previous material that goes through the current material shocked state.

Reflected Hugoniot Class

Methods

class ReflectedHugoniot
calculate_isentrope(hugoniot, intersection, Gamma_eff, initial_volume, released=True)

This method takes as input the Hugoniot and the current material shocked state as the intersection and mirrors at alog the \(u_p=u_{p_{shocked}}\) to computed the reflected Hugoniot approximation of the isentrope.

Parameters:
  • hugoniot – Hugoniot of the current material

  • intersection – An Intersection object containing the information about the current material shocked state.

  • Gamma_eff – This parameter is used to maintain a common interface between the isentrope calculators. Not required for the Reflected Hugoniot case.

  • initial_volume – This parameter is used to maintain a common interface between the isentrope calculators. Not required for the Reflected Hugoniot case.

  • released – This parameter is used to maintain a common interface between the isentrope calculators. Not required for the Reflected Hugoniot case.

find_previous_material_isentrope(previous_material_hugoniot, current_material_intersection, previous_material, next_material)

This methods evaluates the Isentrope of the previous material, that goes through the current material shocked state. The two material Hugoniots and the current material shocked state are required. This functions aids in the backward propagation of the experiment from the window to the input laser drive.

Parameters:
  • previous_material_hugoniot – The Hugoniot of the previous material. In both Isentrope Calculators it is useful for obtaining the required isentrope and thus propagating the experiment backwards.

  • current_material_intersection – An Intersection object that contains the information of the current material shocked state.

  • previous_material – An object reference to the previous material and its properties

  • next_material – An object reference to the current material and its properties

Integrated Isentrope Class

Methods

class IntegratedIsentrope
calculate_isentrope(hugoniot, intersection, Gamma_eff, initial_volume, released=True)

An numerical integration approach to calculating the release isentrope of a material based on [1] method for Quartz.

Parameters:
  • hugoniot – Hugoniot of the current material

  • intersection – An Intersection object containing the information about the current material shocked state.

  • Gamma_eff – The \(\Gamma_{eff}\) Gruneisen parameter of the current material

  • initial_volume – The ambient volume of the current material

  • released – released: Boolean parameter indicating whether the reflected shock produced at the interface of the current material with the next is a rarefaction or a reshock.

find_previous_material_isentrope(previous_material_hugoniot: Hugoniot, current_material_intersection: Intersection, previous_material, next_material)

This methods evaluates the Isentrope of the previous material, that goes through the current material shocked state. The two material Hugoniots and the current material shocked state are required. This functions aids in the backward propagation of the experiment from the window to the input laser drive. SIne the evaluation of the isentrope in this case is by numerical integration, a secant method is utilized to find the appropriate isentrope of the previous material.

Parameters:
  • previous_material_hugoniot – The Hugoniot of the previous material. In both Isentrope Calculators it is useful for obtaining the required isentrope and thus propagating the experiment backwards.

  • current_material_intersection – An Intersection object that contains the information of the current material shocked state.

  • previous_material – An object reference to the previous material and its properties

  • next_material – An object reference to the current material and its properties: