Skip to content

pygasflow v1.3.0

Latest
Compare
Choose a tag to compare
@Davide-sd Davide-sd released this 26 Dec 11:05
· 1 commit to master since this release

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 name shockwave_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 and PressureDeflectionDiagram to easily create pressure-deflection diagrams and compute related quantities.

  • Improved reliability of sonic_point_oblique_shock and sonic_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 and conical_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 of sonic_point_oblique_shock.

    • beta_from_mach_max_theta has been deprecated in favor of detachment_point_oblique_shock.

    • beta_theta_c_for_unit_mach_downstream has been deprecated in favor of sonic_point_conical_shock.

  • BREAKING:

    • Removed classes Ideal_Gas and Flow_State from pygasflow.utils.common as no longer useful to the module.
    • Refactoring of pygasflow.nozzles and pygasflow.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.