Meeting Humidity Setpoint with Evaporative Media
I am setting up an HVAC system for a computer room. The person density in the computer room is 0 and the computers are always on generating much heat. There is no outdoor airflow due to fear of particles, and the cooling coil is always on, day and night, which condenses much of the water out of the air. Low humidity is bad for computers since static charge can build up and damage components, so water must be added to the air in the loop.
The best objects I've found is either of the EvaporativeCooler:Direct:CelDekPad or EvaporativeCooler:Direct:ResearchSpecial as opposed to the humidifies which heat the water. There is no reason to add heat to the airloop serving the computer equipment as the computer room never, ever needs heating.
However, I've run into a problem on how to control the direct evaporative coolers based on humidity. The ideal relative humidity for computer equipment is 45% - 55% and I don't see an easy way for the EvaporativeCooler:Direct to be turned on and off based on the humidity. What object would you recommend that are smart enough to control the fan, cooling coil, heating coil that is in in the airloop but is never used, and evaporative cooler to meet a temperature of 28C and relative humidity kept between 45% - 55%?
A possible alternative is to use a Humidifier:Steam:Electric object and specify the parameters in such a way that it evaporates water but generates zero heat. Then there are appropriate objects for controlling the equipment in the airloop based on temperature and humidity while not unnecessarily heating the computer equipment with a kluge parameter choice of the Humidifier:Steam:Electric object.
POST SCRIPT
Providing some data from the simulation, the humidity can get quite low if there is there is no humidifier present. These are the relative humidity values for the first day of January and the first day of July in a data center that does not possess a humidifier.
Date/Time DATACENTER_MID_ZN_6:Zone Air Relative Humidity [%](Hourly)
01/01 01:00:00 29.96093349
01/01 02:00:00 29.95718355
01/01 03:00:00 29.9684331
01/01 04:00:00 29.96843366
01/01 05:00:00 29.98718226
01/01 06:00:00 29.97968237
01/01 07:00:00 29.98718184
01/01 08:00:00 30.01718079
01/01 09:00:00 30.04717912
01/01 10:00:00 30.07717769
01/01 11:00:00 30.0884264
01/01 12:00:00 30.06967808
01/01 13:00:00 30.03967937
01/01 14:00:00 30.0284301
01/01 15:00:00 30.02842996
01/01 16:00:00 30.02842954
01/01 17:00:00 30.0096808
01/01 18:00:00 29.99843139
01/01 19:00:00 29.99843181
01/01 20:00:00 29.99843125
01/01 21:00:00 29.99843167
01/01 22:00:00 30.01718055
01/01 23:00:00 30.00968108
01/01 24:00:00 29.99843153
07/01 01:00:00 36.12686063
07/01 02:00:00 36.1041672
07/01 03:00:00 36.09055239
07/01 04:00:00 36.11324487
07/01 05:00:00 36.12685991
07/01 06:00:00 36.14955376
07/01 07:00:00 36.16316903
07/01 08:00:00 36.1631692
07/01 09:00:00 36.16316869
07/01 10:00:00 36.1631692
07/01 11:00:00 36.18586136
07/01 12:00:00 36.1767846
07/01 13:00:00 36.1631692
07/01 14:00:00 36.14047543
07/01 15:00:00 36.12686105
07/01 16:00:00 36.12686054
07/01 17:00:00 36.12686069
07/01 18:00:00 36.12686059
07/01 19:00:00 36.12686069
07/01 20:00:00 36.1268608
07/01 21:00:00 36.12686046
07/01 22:00:00 36.12686046
07/01 23:00:00 36.12686063
07/01 24:00:00 36.12686046
POST POST SCRIPT
I tried using the 5ZoneWaterCooled_MultizoneMinMaxRHControl.idf example file recommended by @luisclv. I replaced the Humidifier:Steam:Electric with an autosized EvaporativeCooler:Direct:CelDekPad object. Unfortunately it didn't work so well. well since the humidity is supposed to stay between 40% and 50%. I don't know if that's because the humidity controlling objects don't have the ability to control the evaporative cooler or if it just didn't work that well.
Date/Time SPACE2-1:Zone Air Relative Humidity [%](Hourly)
01/01 01:00:00 50.31020329
01/01 02:00:00 49.92701608
01/01 03:00:00 49.97986723
01/01 04:00:00 49.99523801
01/01 05:00:00 49.99736479
01/01 06:00:00 51.56680174
01/01 07:00:00 50.96907893
01/01 08:00:00 35.96658755
01/01 09:00:00 24.0836249
01/01 10:00:00 23.85472994
01/01 11:00:00 26.63164767
01/01 12:00:00 28.20424186
01/01 13:00:00 30.04195625
01/01 14:00:00 30.61109958
01/01 15:00:00 32.00336106
01/01 16:00:00 33.84653395
01/01 17:00:00 35.05209601
01/01 18:00:00 32.76993293
01/01 19:00:00 32.0742514
01/01 20:00:00 45.01971647
01/01 21:00:00 50.67298555
01/01 22:00:00 50.47234605
01/01 23:00:00 50.30046068
01/01 24:00:00 50.29144461
07/01 01:00:00 46.33591652
07/01 02:00:00 45.85390796
07/01 03:00:00 45.83639027
07/01 04:00:00 46.01406725
07/01 05:00:00 45.84379207
07/01 06:00:00 42.85281703
07/01 07:00:00 37.90633251
07/01 08:00:00 43.31965934
07/01 09:00:00 45.80833789
07/01 10:00:00 41.12565077
07/01 11:00:00 42.58446378
07/01 12:00:00 43.57519621
07/01 13:00:00 45.26842474
07/01 14:00:00 47.4660684
07/01 15:00:00 47.09151596
07/01 16:00:00 46.58557632
07/01 17:00:00 46.81683033
07/01 18:00:00 43.62628617
07/01 19:00:00 41.82965053
07/01 20:00:00 42.81176878
07/01 21:00:00 44.01306324
07/01 22:00:00 44.9922713
07/01 23:00:00 45.76207315
07/01 24:00:00 46.39585662