| 12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- import numpy as np
- try:
- import pymc as pm
- except:
- pass
- from ..model._base._base import BaseModel
- class BaseComponents(BaseModel):
-
- CONSTANT = {
- 'T_offset' : 273.15,
- 'h_ads' : 2200, # kJ/kg 吸附热(文献中硅胶约为2100–2300 kJ/kg,接近水蒸气冷凝潜热)
- 'c_p_air' : 1.05, # kJ/kg·K 空气比热容
- 'c_p_v' : 1.84, # kJ/kg·K 水蒸气比热容
- 'c_p_water': 4.18, # kJ/kg·K 水比热容(约4.18)
- 'rho_air' : 1.184, # kg/m3 取了25度下的空气密度
- }
-
- def __init__(self,name) -> None:
- super().__init__()
- self.name = name
-
- @classmethod
- def get_func_by_engine(cls,engine:str) -> dict:
- if engine == 'pymc':
- EXP = pm.math.exp
- WHERE = pm.math.switch
- GT = pm.math.gt
- LT = pm.math.lt
- else:
- EXP = np.exp
- WHERE = np.where
- GT = np.greater
- LT = np.less
- return {
- 'EXP' : EXP,
- 'WHERE' : WHERE,
- 'GT' : GT,
- 'LT' : LT,
- }
-
|