Example #1
0
    def test_fake_numba(self):
        # Arrange
        sut = DimensionalAnalysis()

        # Act & Assert
        assert hasattr(formulae.pvs, "py_func")
        with sut:
            assert not hasattr(formulae.pvs, "py_func")
        assert hasattr(formulae.pvs, "py_func")
Example #2
0
    def test_fake_numba():
        # Arrange
        sut = DimensionalAnalysis()

        # Act & Assert
        assert hasattr(Formulae().saturation_vapour_pressure.pvs_Celsius, "py_func")
        with sut:
            assert not hasattr(Formulae().saturation_vapour_pressure.pvs_Celsius, "py_func")
        assert hasattr(Formulae().saturation_vapour_pressure.pvs_Celsius, "py_func")
Example #3
0
    def test_fake_units(self):
        # Arrange
        sut = DimensionalAnalysis()

        # Act & Assert
        assert type(constants.D0) == float
        with sut:
            assert type(constants.D0) != float
            assert type(constants.D0.magnitude) == float
        assert type(constants.D0) == float
Example #4
0
    def test_fake_units():
        # Arrange
        sut = DimensionalAnalysis()

        # Act & Assert
        assert isinstance(constants_defaults.D0, float)
        with sut:
            assert not isinstance(constants_defaults.D0, float)
            assert isinstance(constants_defaults.D0.magnitude, float)
        assert isinstance(constants_defaults.D0, float)
Example #5
0
    def test_lv():
        with DimensionalAnalysis():
            # Arrange
            si = constants.si
            T = 300 * si.kelvins

            # Act
            latent_heat = formulae.lv(T)

            # Assert
            assert latent_heat.check('[energy]/[mass]')
Example #6
0
    def test_pvs():
        with DimensionalAnalysis():
            # Arrange
            si = constants.si
            sut = formulae.pvs
            T = 300 * si.kelvins

            # Act
            pvs = sut(T)

            # Assert
            assert pvs.units == si.hectopascals
Example #7
0
    def test_pvs():
        with DimensionalAnalysis():
            # Arrange
            formulae = Formulae()
            si = constants.si
            sut = formulae.saturation_vapour_pressure.pvs_Celsius
            T = 300 * si.kelvins

            # Act
            pvs = sut(T)

            # Assert
            assert pvs.units == si.hectopascals
Example #8
0
    def test_pvs_ice(opt):
        with DimensionalAnalysis():
            # Arrange
            formulae = Formulae(saturation_vapour_pressure=opt)
            si = constants_defaults.si
            sut = formulae.saturation_vapour_pressure.ice_Celsius
            T = 250 * si.kelvins

            # Act
            pvs = sut(T)

            # Assert
            assert pvs.check('[pressure]')
Example #9
0
    def test_lv(opt):
        with DimensionalAnalysis():
            # Arrange
            si = constants_defaults.si
            T = 300 * si.kelvins

            formulae = Formulae(latent_heat=opt)
            sut = formulae.latent_heat.lv

            # Act
            lv = sut(T)

            # Assert
            assert lv.check('[energy]/[mass]')
Example #10
0
    def test_thermal_conductivity_radius_dependence(opt):
        with DimensionalAnalysis():
            # Arrange
            si = constants_defaults.si
            r = 1 * si.um
            lmbd = .1 * si.um

            formulae = Formulae(diffusion_kinetics=opt)
            sut = formulae.diffusion_kinetics.K

            # Act
            thermal_conductivity = sut(constants_defaults.K0, r, lmbd)

            # Assert
            assert thermal_conductivity.check('[power]/[length]/[temperature]')
Example #11
0
    def test_thermal_conductivity_temperature_dependence(opt):
        with DimensionalAnalysis():
            # Arrange
            si = constants_defaults.si
            T = 300 * si.kelvins
            p = 1000 * si.hPa

            formulae = Formulae(diffusion_thermics=opt)
            sut = formulae.diffusion_thermics.K

            # Act
            thermal_conductivity = sut(T, p)

            # Assert
            assert thermal_conductivity.check('[power]/[length]/[temperature]')
Example #12
0
    def test_vapour_diffusivity_radius_dependence(opt):
        with DimensionalAnalysis():
            # Arrange
            si = constants_defaults.si
            r = 1 * si.um
            lmbd = .1 * si.um

            formulae = Formulae(diffusion_kinetics=opt)
            sut = formulae.diffusion_kinetics.D

            # Act
            vpour_diffusivity = sut(constants_defaults.D0, r, lmbd)

            # Assert
            assert vpour_diffusivity.check('[area]/[time]')
Example #13
0
    def test_vapour_diffusivity_temperature_dependence(opt):
        with DimensionalAnalysis():
            # Arrange
            si = constants_defaults.si
            T = 300 * si.kelvins
            p = 1000 * si.hPa

            formulae = Formulae(diffusion_thermics=opt)
            sut = formulae.diffusion_thermics.D

            # Act
            vpour_diffusivity = sut(T, p)

            # Assert
            assert vpour_diffusivity.check('[area]/[time]')
Example #14
0
    def test_r_cr():
        with DimensionalAnalysis():
            # Arrange
            si = constants.si
            sut = formulae.r_cr

            kp = .5
            rd = .1 * si.micrometre
            T = 300 * si.kelvins

            # Act
            r_cr = sut(kp, rd, T)

            # Assert
            assert r_cr.to_base_units().units == si.metres
Example #15
0
    def test_r_cr():
        with DimensionalAnalysis():
            # Arrange
            si = constants.si
            formulae = Formulae()
            sut = formulae.hygroscopicity.r_cr

            kp = .5
            rd = .1 * si.micrometre
            T = 300 * si.kelvins
            sgm = constants.sgm

            # Act
            r_cr = sut(kp, rd**3, T, sgm)

            # Assert
            assert r_cr.to_base_units().units == si.metres