modelNewtonCooling"An example of Newton's law of cooling"parameterRealT_inf"Ambient temperature";parameterRealT0"Initial temperature";parameterRealh"Convective cooling coefficient";parameterRealA"Surface area";parameterRealm"Mass of thermal capacitance";parameterRealc_p"Specific heat";RealT"Temperature";initialequationT=T0"Specify initial value for T";equationm*c_p*der(T)=h*A*(T_inf-T)"Newton's law of cooling";endNewtonCooling;
modelNewtonCoolingWithDefaults"Cooling example with default parameter values"parameterRealT_inf=25"Ambient temperature";parameterRealT0=90"Initial temperature";parameterRealh=0.7"Convective cooling coefficient";parameterRealA=1.0"Surface area";parameterRealm=0.1"Mass of thermal capacitance";parameterRealc_p=1.2"Specific heat";RealT"Temperature";initialequationT=T0"Specify initial value for T";equationm*c_p*der(T)=h*A*(T_inf-T)"Newton's law of cooling";endNewtonCoolingWithDefaults;
正如您可能已经猜到的那样,变量 T 表示的是温度。这一点在与该变量相关的描述性文本中已经明确说明了。此外,无需对我们的先前模型进行深入分析,就能确定
T0 和 T_inf 也必须是温度。
但像 h 或 A 这样的其他变量又代表什么呢?它们具体有何含义?更重要的是,这些方程在物理上是否是相互一致的呢?所谓物理上一致,是指方程的两边具有相同的物理单位(例如温度、质量、功率)。
我们可以通过将不同变量的物理单位直接包含在变量声明中来更严谨地表达这些单位,例如:
modelNewtonCoolingWithUnits"Cooling example with physical units"parameterRealT_inf(unit="K")=298.15"Ambient temperature";parameterRealT0(unit="K")=363.15"Initial temperature";parameterRealh(unit="W/(m2.K)")=0.7"Convective cooling coefficient";parameterRealA(unit="m2")=1.0"Surface area";parameterRealm(unit="kg")=0.1"Mass of thermal capacitance";parameterRealc_p(unit="J/(K.kg)")=1.2"Specific heat";RealT(unit="K")"Temperature";initialequationT=T0"Specify initial value for T";equationm*c_p*der(T)=h*A*(T_inf-T)"Newton's law of cooling";endNewtonCoolingWithUnits;
modelNewtonCoolingWithTypes"Cooling example with physical types"// TypestypeTemperature=Real(unit="K",min=0);typeConvectionCoefficient=Real(unit="W/(m2.K)",min=0);typeArea=Real(unit="m2",min=0);typeMass=Real(unit="kg",min=0);typeSpecificHeat=Real(unit="J/(K.kg)",min=0);// ParametersparameterTemperatureT_inf=298.15"Ambient temperature";parameterTemperatureT0=363.15"Initial temperature";parameterConvectionCoefficienth=0.7"Convective cooling coefficient";parameterAreaA=1.0"Surface area";parameterMassm=0.1"Mass of thermal capacitance";parameterSpecificHeatc_p=1.2"Specific heat";// VariablesTemperatureT"Temperature";initialequationT=T0"Specify initial value for T";equationm*c_p*der(T)=h*A*(T_inf-T)"Newton's law of cooling";endNewtonCoolingWithTypes;