ashwinvis / ashwinvis/caeroc

Normal shock mode : better error handling required when illegal values are entered

Open
#6 0 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
Python
Stars
35
Forks
10
PR merge metrics
No merged PRs in 30d

Description

Should not get core dumped. Will have to be dealt in `scikit-aero/skaero/gasdynamics/isentropic.py` or in caeroc.

```
DEBUG:caeroc-app:MODE: Normal shock relations
INFO:caeroc-app:{'M_1': 0.9}
CRITICAL:caeroc-app:Mach number must be supersonic
Traceback (most recent call last):
File "/scratch/avmo/opt/caeroc-r8bspf19/src/scikit-aero/skaero/gasdynamics/isentropic.py", line 54, in mach_angle
mu = np.arcsin(1 / M)
FloatingPointError: invalid value encountered in arcsin

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/home/avmo/src/caeroc/caeroc/gui/runtime.py", line 214, in on_qpb_calculate_released
self.mode.calculate(**kwargs)
File "/home/avmo/src/caeroc/caeroc/formulae/shock.py", line 89, in calculate
self.store(key, getattr(self, key))
File "/scratch/avmo/opt/caeroc-r8bspf19/src/scikit-aero/skaero/gasdynamics/shocks.py", line 219, in M_2
M_2 = self.M_2n / np.sin(self.beta - self.theta)
File "/scratch/avmo/opt/caeroc-r8bspf19/src/scikit-aero/skaero/gasdynamics/shocks.py", line 194, in theta
if self.beta == mach_angle(self.M_1) or self.beta == np.pi / 2:
File "/scratch/avmo/opt/caeroc-r8bspf19/src/scikit-aero/skaero/gasdynamics/isentropic.py", line 56, in mach_angle
raise ValueError("Mach number must be supersonic")
ValueError: Mach number must be supersonic
[1] 11343 abort (core dumped) caeroc-app
```

Contributor guide

No contributing guide indexed for this repository

Research direction

Reproduce the Normal shock relations case with M_1 set to 0.9, then trace the failure through caeroc/formulae/shock.py and caeroc/gui/runtime.py. Compare the possible handling points with scikit-aero/skaero/gasdynamics/isentropic.py; done means illegal values are reported without aborting caeroc-app or producing a core dump.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
desktop
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.