Source code for g3d.calc.tests.test_expansion_wave

"""unit tests for expansion wave calculator"""
import unittest
import os

if os.environ.get('__USE_CUDA', '0') == '1':
    import cupy as np
else:
    import numpy as np

from g3d.calc.tests import CFlowTestCase
from g3d.calc.calculators.expansion_wave import G3DExpansionWaveCalculator
from g3d.defs import AngleType


[docs] class TestExpansionWave(CFlowTestCase): """CFlow unit tests: expansion wave""" def _setup(self) -> None: super()._setup() self.__expansion_wave = G3DExpansionWaveCalculator() self.__M = 2.5 self.__theta = 10. self.__nu = 0.68284 self.__M2 = 1.43497 self.__M21 = 2.96736 self.__PR21 = 0.48852 self.__TR21 = 0.81491
[docs] def test_expansion_wave_relations_kwargs(self) -> None: """CFlow unit tests: expansion wave (kwargs)""" self._setup() self.assertEqual(self.__expansion_wave.get_Prandtl_Meyer_function( M=self.__M, precision=self._prec), self.__nu) self.assertEqual(self.__expansion_wave.find_Mach( theta=self.__theta, angle_type=AngleType.DEGREES, precision=self._prec), self.__M2) self.assertEqual(self.__expansion_wave.analyze_expansion_region( M1=self.__M, theta=self.__theta, angle_type=AngleType.DEGREES, precision=self._prec), (self.__M21, self.__PR21, self.__TR21))
[docs] def test_expansion_wave_relations_args(self) -> None: """CFlow unit tests: expansion wave (args)""" self._setup() self.__theta *= (np.pi / 180.) self.assertEqual(self.__expansion_wave.get_Prandtl_Meyer_function( self.__M, precision=self._prec), self.__nu) self.assertEqual(self.__expansion_wave.find_Mach( self.__theta, precision=self._prec), self.__M2) self.assertEqual(self.__expansion_wave.analyze_expansion_region( self.__M, self.__theta, precision=self._prec), (self.__M21, self.__PR21, self.__TR21))
if __name__ == '__main__': unittest.main()