What's Changed
-
Added global option
pygasflow.defaults.solver_to_dict
in order to force all solvers to return a dictionary of results if it's set to True. -
Added new functions:
gas_solver
ideal_gas_solver
sonic_condition
normal_shockwave_solver
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
PressureDeflectionLocus
andPressureDeflectionDiagram
to 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 this documentation page 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_downstream
has been deprecated in favor ofsonic_point_oblique_shock
. -
beta_from_mach_max_theta
has been deprecated in favor ofdetachment_point_oblique_shock
. -
beta_theta_c_for_unit_mach_downstream
has been deprecated in favor ofsonic_point_conical_shock
.
-
-
BREAKING:
- Removed classes
Ideal_Gas
andFlow_State
frompygasflow.utils.common
as no longer useful to the module. - Refactoring of
pygasflow.nozzles
andpygasflow.solver.de_laval
in 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_Nozzle
are no longer compatible with previous versions of the module.
- Removed classes