-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathprocess_output.py
More file actions
executable file
·35 lines (30 loc) · 1.24 KB
/
Copy pathprocess_output.py
File metadata and controls
executable file
·35 lines (30 loc) · 1.24 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import numpy as np
from ShockPy import Hugoniot
def read_output(index):
DYNA_TO_GPA=1e-10
with open(f'./OutputFiles/HugoniotData_{index}.txt') as f:
lines = f.readlines()
first_line = lines[1].split()
initial_volume = float(first_line[0])
initial_density = float(first_line[2])
shock_velocities = []
particle_velocities = []
volumes = []
pressures = []
particle_velocities = []
for i in range(1, len(lines)):
line = lines[i].split()
current_shock_velocity=float(line[4])
shock_velocities.append(current_shock_velocity)
volumes.append(float(line[5]))
pressures.append(DYNA_TO_GPA * float(line[9]))
current_density = float(line[6])
particle_velocities.append((initial_density-current_density)/current_density*current_shock_velocity)
hugoniot = Hugoniot(pressures=np.array(pressures),
particle_velocities=np.array(particle_velocities),
shock_velocities=np.array(shock_velocities),
volumes=np.array(volumes))
return hugoniot
if __name__ == '__main__':
read_output(0)
# fire.Fire(read_output)