MCPcopy Create free account
hub / github.com/SeisSol/SeisSol / receiver_diff

Function receiver_diff

postprocessing/validation/compare-receivers.py:156–177  ·  view source on GitHub ↗
(args, i)

Source from the content-addressed store, hash-verified

154
155
156def receiver_diff(args, i):
157 sim_files = glob.glob(f"{args.output}/{args.prefix}-receiver-{i:05d}-*.dat")
158 ref_files = glob.glob(f"{args.output_ref}/{args.prefix}-receiver-{i:05d}-*.dat")
159 assert len(sim_files) == 1
160 assert len(ref_files) == 1
161 sim_receiver = read_receiver(sim_files[0])
162 ref_receiver = read_receiver(ref_files[0])
163 # both receivers must have the same time axis
164 assert np.max(np.abs(sim_receiver["Time"] - ref_receiver["Time"])) < 1e-7
165 time = sim_receiver["Time"]
166 difference = sim_receiver - ref_receiver
167
168 ref_velocity_norm = integrate_in_time(time, velocity_norm(ref_receiver))
169 diff_velocity_norm = integrate_in_time(time, velocity_norm(difference))
170
171 ref_stress_norm = integrate_in_time(time, stress_norm(ref_receiver))
172 diff_stress_norm = integrate_in_time(time, stress_norm(difference))
173
174 return (
175 diff_velocity_norm / ref_velocity_norm,
176 diff_stress_norm / ref_stress_norm,
177 )
178
179
180def faultreceiver_diff(args, i, quantities):

Callers 1

Calls 5

read_receiverFunction · 0.85
integrate_in_timeFunction · 0.85
velocity_normFunction · 0.85
stress_normFunction · 0.85
maxMethod · 0.45

Tested by

no test coverage detected