Changelog
v1.4.1
added missing data files.
v1.4.0
Improved usability of the functions that returns list/dict of results. In particular, the
show()method was implemented on the returned list/dict in order to visualize a nice table of numerical data.Added pint support. pint is a module that allows to define, operate and manipulate physical quantities.
Fixed bug within functions that computed wrong results:
Improved robustness of
rayleigh_pitot_formula()against overflow errors.Added functions:
specific_heat_solver()
Documentation:
Added a few solutions to ‘Modern Compressible Flow with Historical Perspective’ as a showcase of the capabilities of this module.
Added a few solutions to ‘Basics of Aerothermodynamics’ as a showcase of the capabilities of this module.
Deprecated
pygasflow.generic.sound_speedin favor ofsound_speed()in order to remove duplicates.
v1.3.1
fixed wrong formula of
critical_velocity_ratio().
v1.3.0
Added global option
pygasflow.defaults.solver_to_dictin order to force all solvers to return a dictionary of results if it’s set to True. Look at Solvers to see an example of its use.Added new functions:
oblique_shockwave_solver()as an alias to the old nameshockwave_solver. This new name makes it impossible to confuse it with other shockwave solvers.
Added a new sub-module,
pygasflow.interactive, which provides a web-based GUI (graphical user interface) to many of the functionalities of the module, implemented with holoviz panel. The GUI allows:for an easier and non-programmatic way of getting quick results.
to easily explore different configurations.
reliability: over the years there have been many web-based compressible flow GUIs on the internet. However, they are not guaranteed to exists forever. On the other hand, this sub-module is part of pygasflow, and it will always be readily available should the user needs it.
Added a new sub-module,
pygasflow.interactive.diagram, which provides functionalities to quickly creates diagram related to compressible flows, like isentropic diagram, Fanno diagram, oblique shock diagram, shock polar diagram, etc.Added
PressureDeflectionLocusandPressureDeflectionDiagramto easily create pressure-deflection diagrams and compute related quantities.Improved reliability of
sonic_point_oblique_shock()andsonic_point_conical_shock().Fixed bug with
oblique_shockwave_solver()and propagation of the specific heats ratio when the flow deflection angle and the shock wave angle were provided as input arguments.Fixed bug with
m_from_critical_temperature_ratio()and propagation of the specific heats ratio.Fixed bug with
mach_from_theta_beta(), which computed a wrong Mach number for the special case beta=90, theta=0.Fixed bug with some functions that computed wrong results when integer numbers were provided as arguments.
Fixed bug with
shock_polar()and propagation of a parameter to other functions.Fixed functions that raised RuntimeWarning: divide by zero encountered in divide.
Fixed bug with data not being loaded by the module.
DEPRECATIONS: here is a list of newly introduced deprecations. See Deprecations to understand the motivations.
The following is a list of parameter names used by
oblique_shockwave_solver()andconical_shockwave_solver()which are now deprecated:"m1"indicated the upstream Mach number."mu"should be used instead."mn1"indicated the upstream normal Mach number."mnu"should be used instead."m2"indicated the downstream Mach number."md"should be used instead."mn2"indicated the downstream normal Mach number."mnd"should be used instead."m"indicated the upstream Mach number of a conical shock wave."mu"should be used instead.
These changes also applies to the dictionary of results, if the solver was executed with the keyword argument
to_dict=True.beta_theta_max_for_unit_mach_downstreamhas been deprecated in favor ofsonic_point_oblique_shock().beta_from_mach_max_thetahas been deprecated in favor ofdetachment_point_oblique_shock().beta_theta_c_for_unit_mach_downstreamhas been deprecated in favor ofsonic_point_conical_shock().
BREAKING:
Removed classes
Ideal_GasandFlow_Statefrompygasflow.utils.commonas no longer useful to the module.Refactoring of
pygasflow.nozzlesandpygasflow.solver.de_lavalin order to use the holoviz param module, which allows for a more robust code base while also providing the foundation for interactive applications. In particular,De_Laval_Solver,CD_Conical_Nozzle,CD_TOP_Nozzle,CD_Min_Length_Nozzleare no longer compatible with previous versions of the module.
v1.2.1
Fix import for aerothermodynamics sub-module.
Updated doctest outputs to the format used by NumPy >= 2.0.0.
v1.2.0
Added
oblique_mach_downstreamtopygasflow.shockwave. Thank you Dr Chad File for this contribution.Added support for Numpy >= 2.0.0. Thank you David Chartrand for this contribution.
Fixed conda packaging.
v1.1.1
Included build for Python 3.11.
v1.1.0
Added aliases to solvers:
iseforisentropic_solver.fanforfanno_solver.rayforrayleigh_solver.ssforshockwave_solver.cssforconical_shockwave_solver.
Added Aerothermodynamic module (
pygasflow.atd):correlations to compute boundary layer thickness, heat flux, wall shear stress.
functions to compute the pressure distribution and aerodynamic characteristics with the Newtonian (and modified Newtonian) flow theory.
v1.0.6
added to_dict keyword argument to solvers.
Improved doctests
Added latex equations to ReadTheDocs documentation
Added examples to ReadTheDocs documentation
Added linkcode resolve to documentation
v1.0.5
Updated README
Released conda and pypi packages
v1.0.2
Added Sphinx Documentation and doctests.
Added
plotmethod to nozzles.Improved Tests.