Source code for g3d.calc.tests.test_moving_expansion

"""unit tests for finite non-linear wave calculator (moving expansion regions)"""
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.moving_expansion import G3DMovingExpansionCalculator


[docs] class TestMovingExpansion(CFlowTestCase): """CFlow unit tests: moving expansion waves""" def _setup(self) -> None: super()._setup() self.__moving_expansion = G3DMovingExpansionCalculator() self.__U = 199.4450981 self.__T = 235.02514 self.__P = 212787.2996 self.__RO = 3.15464 self.__C = 307.29969 self.__T4 = 300. self.__P4 = 5.e5 self.__RO4 = 5.8072009 self.__C4 = 347.1887095 self.__prec_U2 = 3 self.__U2 = np.round(self.__U, self.__prec_U2)
[docs] def test_moving_expansion_relations_kwargs(self) -> None: """CFlow unit tests: moving expansion waves (kwargs)""" self._setup() self.assertEqual(self.__moving_expansion.get_pressure( U=self.__U, T4=self.__T4, P4=self.__P4, precision=self._prec), self.__P) self.assertEqual(self.__moving_expansion.get_density( U=self.__U, T4=self.__T4, RO4=self.__RO4, precision=self._prec), self.__RO) self.assertEqual(self.__moving_expansion.get_temperature( U=self.__U, T4=self.__T4, precision=self._prec), self.__T) self.assertEqual(self.__moving_expansion.get_speed_of_sound( U=self.__U, T4=self.__T4, precision=self._prec), self.__C) self.assertEqual(self.__moving_expansion.get_U_from_pressure_ratio( P=self.__P, P4=self.__P4, T4=self.__T4, precision=self.__prec_U2), self.__U2) self.assertEqual(self.__moving_expansion.get_U_from_temperature_ratio( T=self.__T, T4=self.__T4, precision=self.__prec_U2), self.__U2) self.assertEqual(self.__moving_expansion.get_U_from_density_ratio( RO=self.__RO, RO4=self.__RO4, T4=self.__T4, precision=self.__prec_U2), self.__U2) self.assertEqual(self.__moving_expansion.get_U_from_C_ratio( C=self.__C, C4=self.__C4, precision=self.__prec_U2), self.__U2)
[docs] def test_moving_expansion_relations_args(self) -> None: """CFlow unit tests: moving expansion waves (args)""" self._setup() self.assertEqual(self.__moving_expansion.get_pressure( self.__U, self.__T4, self.__P4, precision=self._prec), self.__P) self.assertEqual(self.__moving_expansion.get_density( self.__U, self.__T4, self.__RO4, precision=self._prec), self.__RO) self.assertEqual(self.__moving_expansion.get_temperature( self.__U, self.__T4, precision=self._prec), self.__T) self.assertEqual(self.__moving_expansion.get_speed_of_sound( self.__U, self.__T4, precision=self._prec), self.__C) self.assertEqual(self.__moving_expansion.get_U_from_pressure_ratio( self.__P, self.__P4, self.__T4, precision=self.__prec_U2), self.__U2) self.assertEqual(self.__moving_expansion.get_U_from_temperature_ratio( self.__T, self.__T4, precision=self.__prec_U2), self.__U2) self.assertEqual(self.__moving_expansion.get_U_from_density_ratio( self.__RO, self.__RO4, self.__T4, precision=self.__prec_U2), self.__U2) self.assertEqual(self.__moving_expansion.get_U_from_C_ratio( self.__C, self.__C4, precision=self.__prec_U2), self.__U2)
if __name__ == '__main__': unittest.main()