Releases: Prethea-Phoenixia/Phoenix-s-Interior-Ballistic-Solver-PIBS
v0.4.9 High-Low Launchers
Change log
This change log details improvements since v0.4.8, on the pre-release version.
Feature
- High-Low Launcher.
Forward design and constrained solving of the high-low launcher is implemented. Note that calculation for the high-low launcher is significantly more involved as compared to previously implemented launcher types.
UI
- Tabbed Panels
To conserve screen real-estate and to improve compatibility on lower end machines, widgets with graphical displays has been refactored into tabs that can be cycled between. - Font size reduced from 9 to 8
v0.4.8 Continued Commitmment
Changelog
These changelog details major changes as compared to v0.4.7.
Feature:
- Save and Load calculator state.
The current state of all inputs can be saved to a JSON file. One such example (D-81) is given in the example folder. - Length-Known Constrained-Solving.
With this option selected, calculator will respect the barrel length specified by the user, and velocity sanity checks will be suppressed. This enables the calculation of performance under different conditions for a known or existing gun. - Constrained-Solving targeting different pressure points.
In all modes, now can be set to target either base pressure, average pressure or breech pressure. This enables comparison with literature that uses any pressure as specification. - Burn Rate Fudging.
This enables the modification of burn rate by a flat percentage at all pressure conditions, as this practice is commonly used to match calculation data with experiment - Pressure Distribution
Pressure distribution in bore, i.e. the P-x curve, is plotted in a new graph widget. Each line illustrates the pressure-displacement of gas distribution behind the shot. The density of sampling is dependent on the sampling, which sets the number of equi-distance points that the calculator will poll, which does, for the first time, create a coupling of display with calculation. This data is required by the gun-mass estimation, which in turn propagates this dependence. Since these functionality are considered secondary to the interior ballistic problem that this calculator solves, this is not viewed as too much of a concern, but it is something to keep in mind. - Gun Mass estimation.
Two broad techniques implemented for both gun and recoiless rifle, for the breech/nozzle, the chamber, and the gun bore. Conventional construction has a relatively low limit to tolerable stresses, where Autofrettage techniques assumes independent manufacturing of the bore and the chamber where each can be autofrettaged up to the entirety of their width to best suit its pressure regime. When possible, the bore is to be less wide than the chamber, and for RR in turn smaller in diameter than the nozzle intake.nBarrel constructed this way is in theory not limited in maximum pressure capacity except for practicality.
A structural safety factor is added for all structural component. A set safety factor is not the most satisfactory treatment, as both the breech, the chamber, and transitional regions, as well as the bore near the muzzle are where a higher-than average safety factory is typically required. As well, no considerations w.r.t barrel harmonics, etc are taken into account. Therefore the calculated mass is to be taken as a relative figure-of-merit for the guidance of design selection. Typically, the calculated values underestimates real world gun masses.
Note that calculation of gun mass is dependent on sampling density. If the amount of samples is set too low then the corresponding hull shape will also be crude. Both the numerical result is shown in the information panel, as well as the calculated hull trace, in the auxiliary plot.
Data:
- Added WC-series, IMR series and CMR-160 propellant from ADA086093
- Added two prototypical gun material, standing in for generic aluminum and gun steel.
UI:
- Reworked the UI: detail at the left, graphing in the center, parameters input at the right.
- Graph widget now includes
- Added graph widget to display pressure-distribution and hull-trace on demand (see above)
Others:
- Executable is compiled on Python 3.8.18 to maintain Windows 7 compatibility.
Minor Update 0.4.8.1 (Jan.7th 2024):
- Fixed a pressure trace problem with conventional gun. Affects mass and hull calculation.
v0.4.8α Housekeeping
This version is marked as a pre-release, even though it is notably more stable and much improved over the previous normal-release version . It has not been my intention to do this as I intended that every major release come with outstanding features. However, real life obligations has made the development on PIBS a crawl. As the next major version (v0.5.0) is not expected to be available for a few months, for users (the few out there, THANK YOU) still using this i do intend them to get the bug-fix that was only possible from their reporting. I will not be writing a full changelog for this version.
v0.4.7 Telescoped Ammunition
Feature:
By popular demand, additional input mode added to allow easier specification for telescoped rounds.
- Inputs added: User can now specify whether to consider the round as telescoped, and input the maximum inset of the projectile within the round.
- The volume the projectile occupies is assumed to be equivalent to a cylinder with a diameter the same as the bore. The amount of projectile that can be accommodated within the bore is calculated and if exceeding the physical dimension of the chamber, will be treated as semi-telescoped. If not, it will be treated as completely telescoped.
- Under the hood, the calculation is performed by converting it to an equivalent, conventional gun system. This treatment is fairly typical in literature, and is prudent in so much as all the other limitations of 0-d codes are concerned. However, certain hydrodynamic flow phenomenons unique to telescoped ammunition are not adequately modeled this way and the user is advised to exercise caution & judgement.
Others:
- Binary builds are now compiled using py2exe on Python 3.10, leveraging some speed gain of the fast python projects introduced in recent updates.
- Loop has been unrolled in the Runge-Kutta-Fehlberg 7(8) implementation which demonstrated a 33% speedup on average.
v0.4.6 Underlying Issues
v0.4 Multilingual, Recoiless Gun:
- Added multi-language support (English, Chinese)
- Swapped out Hack font for Sarasa-Gothic for a monospace, CJK font
- Tooltip docs revamped
- Added support for calculating internal ballistics of Recoiless Guns
- Currently RR does not correct for effect of chamberage for a lack of source
- Miscellaneous Items:
- added XM39 propellant.
v0.4.1 Ballistics Approximations:
- Added support for specifying solutions
- Lagrange, Pidduck (more common in the West), Mamontov (more commonly used in East)
- Miscellaneous Items:
- Window is now centered taking into account the height of the taskbar
v0.4.2 Atmospheric Drag:
- Added support for specifying whether atmospheric drag should be taken into account.
- Currently atmospheric condition is hard coded as 101.325kPa, 1.204kg/m^3, may make it an option or add UI element to change this in the future.
v0.4.3 Numerical Optimization:
- Checked, optimized and re-done some numbers-heavy part of the code. Nothing to see here.
- Re-calculated propellant thermal-chemical properties based on real world thermal databases, corrected certain propellant covolumes.
- Greatly improved the convergence stability of the thermal-chemical solver.
v0.4.4 Robust Exceptions:
- Verified, cleaned up and added further checks to catch exceptional conditions as reported by testers.
- Especially in the case of recoilless rifle where previously certain input would cause a hang.
v0.4.5 General Improvements:
- Switched to using un-hinted font, size reduced by 10Mb
- Added option for exporting table data
- WIP: Save and Load file, will bump to 5.0 at completion
- Added option for directly specifying chamber volume
- Enlarged font size to 9 for better readability
v0.4.6 Underlying Issues:
- Fixed an outstanding issue with chambrage correction, causing guns with chamber to be incorrectly calculated.
- This was an unscheduled update since work has been progressing slowly, and certain requested existing improvements could be rolled up prior to full completion of new features.
- Save and Load file options are complete but untested:
- 5.0 bump will occur when some example gun designs could be compiled and the existing save/load functions fully tested.
- Almost entirely re-written error propagation for inverse design/solving. Now the process is slower, but more robust.
- Adds new pressure scale to display recoil forces.
- Removed calculation of muzzle out flow.
- due to conflicting sources and calculated values disagreeing with recent CFD results, which could be more misleading than they are useful.
0.3 Constrained Design
Two versions of executable compiled using autopy2exe. The .zip release is the multi-file release which allows the editing of data files, but is larger. The .exe is a self-contained, self-extracting all in one executable that is more portable but does not allow for editing of data files.
Full Changelog: https://github.com/Prethea-Phoenixia/PhoenixYard/commits/0.3