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: