Skip to content

PMV - DBT limits #1

@vitorwdv

Description

@vitorwdv

Hello, @FedericoTartarini. Congratulations for your work and thank you for sharing it! You've saved me a lot of time!

I've tried to use your implementation for different scenarios, running loops and varying DTB, RU, WV (wind velocity) and it worked really well. However, there is a limitation for the effect of WV in the PMV model: depending on temperature, it stops cooling. For simulations increasing in 1ºC, it stops when DTB is above 33ºC (I'm using MRT=DTB).

Here's the PMV calling inside the loops:

WV_r = v_relative(WV,MET)
PMV = pythermalcomfort.pmv(DBT,MRT,WV_r,RU,MET,CLO,standard='ISO')
line = {'MET':MET,'CLO':CLO,'MRT [C]':MRT,'DBT [C]':DBT,'RU [%]':RU,'WV [m/s]':WV,'PMV n':PMV,'PMV':PMV_name}
CT_test = CT_test.append(line, ignore_index=True)

Here are the outputs I'm addressing (there as XLSX file attached):

MET | CLO | MRT [C] | DBT [C] | RU [%] | WV [m/s] | PMV n | PMV
-- | -- | -- | -- | -- | -- | -- | --
1,4 | 0,57 | 34 | 34 | 45 | 0,1 | 2,73 | Hot
1,4 | 0,57 | 34 | 34 | 45 | 0,3 | 2,74 | Hot
1,4 | 0,57 | 34 | 34 | 45 | 0,6 | 2,75 | Hot
1,4 | 0,57 | 34 | 34 | 45 | 1 | 2,76 | Hot
1,4 | 0,57 | 34 | 34 | 45 | 1,3 | 2,77 | Hot
1,4 | 0,57 | 34 | 34 | 45 | 1,6 | 2,77 | Hot
1,4 | 0,57 | 34 | 34 | 45 | 2 | 2,78 | Hot
1,4 | 0,57 | 34 | 34 | 45 | 2,3 | 2,78 | Hot
1,4 | 0,57 | 34 | 34 | 45 | 2,6 | 2,78 | Hot
1,4 | 0,57 | 34 | 34 | 45 | 3 | 2,79 | Hot
1,4 | 0,57 | 34 | 34 | 45 | 4 | 2,8 | Hot

github_pythermalcomfort_pmvScenarios.xlsx

As you can see, as I increase the WV, for the same conditions in other variables, the PMV doesn't decrease. Am I missing something?

image

Also, do you know if there's a function which limits WV for the ISO standard? From what I've analyzed, you only generate warnings -- which are being raised in intervals different from the warnings, as shown below. I'd also like to use WV up to 10m/s in my simulations and, for what I've tested, there isn't anything that would interfere, but I'd love if you could confirm that to me.

    elif params['standard'] == 'iso':  # based on table 7.3.4 ashrae 55 2017
        for key, value in params.items():
            if key == 'tdb':
                if value > 30 or value < 10:
                    warnings.warn("ISO air temperature applicability limits between 10 and 50 °C", UserWarning)
            if key == 'tr':
                if value > 40 or value < 10:
                    warnings.warn("ISO air temperature applicability limits between 10 and 50 °C", UserWarning)
            if key in ['v', 'vr']:
                if value > 1 or value < 0:
                    warnings.warn("ISO air velocity applicability limits between 0 and 2 m/s", UserWarning)
            if key == 'met':
                if value > 4 or value < 0.8:
                    warnings.warn("ISO met applicability limits between 1.0 and 2.0 met", UserWarning)
            if key == 'clo':
                if value > 2 or value < 0:
                    warnings.warn("ISO clo applicability limits between 0.0 and 1.5 clo", UserWarning)

Again, thank you and congratulations for your work!

Obs.: I'm currently running Python 3.7 through Anaconda, in Windows 10.

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions