(sim)
| 5298 | } |
| 5299 | |
| 5300 | def _stop(sim): |
| 5301 | fabs = abs(sim.get_field_point(c, pt)) * abs(sim.get_field_point(c, pt)) |
| 5302 | closure["cur_max"] = max(closure["cur_max"], fabs) |
| 5303 | |
| 5304 | if sim.round_time() <= dt + closure["t0"]: |
| 5305 | return False |
| 5306 | else: |
| 5307 | old_cur = closure["cur_max"] |
| 5308 | closure["cur_max"] = 0 |
| 5309 | closure["t0"] = sim.round_time() |
| 5310 | closure["max_abs"] = max(closure["max_abs"], old_cur) |
| 5311 | if closure["max_abs"] != 0 and verbosity.meep > 0: |
| 5312 | fmt = "field decay(t = {}): {} / {} = {}" |
| 5313 | print( |
| 5314 | fmt.format( |
| 5315 | sim.meep_time(), |
| 5316 | old_cur, |
| 5317 | closure["max_abs"], |
| 5318 | old_cur / closure["max_abs"], |
| 5319 | ) |
| 5320 | ) |
| 5321 | return old_cur <= closure["max_abs"] * decay_by |
| 5322 | |
| 5323 | return _stop |
| 5324 |
nothing calls this directly
no test coverage detected