- Timestamp:
- 08/21/2007 12:13:10 PM (17 months ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
Modelica/branches/maintenance/2.2.1/Modelica/Thermal/FluidHeatFlow.mo
r583 r587 4 4 extends Modelica.Icons.Library2; 5 5 annotation ( 6 version="1.6. 2", versionDate="2007-08-20",6 version="1.6.3", versionDate="2007-08-21", 7 7 preferedView="info",Documentation(info="<HTML> 8 <p>9 8 This package contains very simple-to-use components to model coolant flows as needed to simulate cooling e.g. of electric machines: 10 9 <ul> … … 17 16 <li>Sources: various flow sources</li> 18 17 </ul> 19 </p>20 <p>21 18 <b>Variables used in connectors:</b> 22 19 <ul> … … 26 23 <li>flow EnthalpyFlowRate H_flow</li> 27 24 </ul> 28 EnthalpyFlowRate means the Enthalpy = cp<sub>constant</sub> * m * T that is carried by the medium's flow. 29 </p> 30 <p> 25 EnthalpyFlowRate means the Enthalpy = cp<sub>constant</sub> * m * T that is carried by the medium's flow.<br><br> 31 26 <b>Limitations and assumptions:</b> 32 27 <ul> … … 43 38 Outlet temperature is defined by variable T of the corresponding component.</li> 44 39 </ul> 45 </p>46 <p>47 40 <b>Further development:</b> 48 41 <ul> 49 42 <li>Additional components like tanks (if needed)</li> 50 43 </ul> 51 </p>52 <p>53 44 <dl> 54 45 <dt><b>Main Authors:</b></dt> … … 68 59 </p> 69 60 </dd> 70 </dl>71 </p>72 61 </dl> 73 62 <p> … … 115 104 <li> v1.6.2 2007/08/20 Anton Haumer<br> 116 105 improved documentation</li> 106 <li> v1.6.3 2007/08/21 Anton Haumer<br> 107 improved documentation</li> 117 108 </ul> 118 109 </HTML> … … 142 133 extends Modelica.Icons.Library2; 143 134 annotation (Documentation(info="<HTML> 144 <p>145 135 This package contains test examples: 146 136 <ul> … … 154 144 <li>8.TwoMass: cooling of two masses (thermal capacities) by two parallel coolant flows</li> 155 145 </ul> 156 </p>157 158 </HTML>", revisions="<HTML>159 <p>160 146 <dl> 161 147 <dt><b>Main Authors:</b></dt> … … 176 162 </dd> 177 163 </dl> 178 </p>179 </dl>180 164 <p> 181 165 Copyright © 1998-2007, Modelica Association, Anton Haumer and arsenal research. … … 187 171 <a href=\"Modelica://Modelica.UsersGuide.ModelicaLicense\">here</a>.</i> 188 172 </p> 189 173 </HTML>", revisions="<HTML> 190 174 <ul> 191 175 <li> v1.00 2005/02/01 Anton Haumer<br> … … 216 200 1st test example: SimpleCooling 217 201 </p> 218 <p>219 202 A prescribed heat source dissipates its heat through a thermal conductor to a coolant flow. The coolant flow is taken from an ambient and driven by a pump with prescribed mass flow.<br> 220 203 <b>Results</b>:<br> … … 245 228 </tr> 246 229 </table> 247 </p>248 230 </HTML>"), Diagram, 249 231 experiment(StopTime=1.0), … … 319 301 2nd test example: ParallelCooling 320 302 </p> 321 <p>322 303 Two prescribed heat sources dissipate their heat through thermal conductors to coolant flows. The coolant flow is taken from an ambient and driven by a pump with prescribed mass flow, then splitted into two coolant flows connected to the two heat sources, and afterwards merged. Splitting of coolant flows is determined by pressure drop characteristic of the two pipes.<br> 323 304 <b>Results</b>:<br> … … 372 353 </tr> 373 354 </table> 374 </p>375 355 </HTML>"), Diagram, 376 356 experiment(StopTime=1.0), … … 489 469 3rd test example: IndirectCooling 490 470 </p> 491 <p>492 471 A prescribed heat sources dissipates its heat through a thermal conductor to the inner coolant cycle. It is necessary to define the pressure level of the inner coolant cycle. The inner coolant cycle is coupled to the outer coolant flow through a thermal conductor.<br> 493 472 Inner coolant's temperature rise near the source is the same as temperature drop near the cooler.<br> … … 531 510 </tr> 532 511 </table> 533 </p>534 512 </HTML>"), Diagram, 535 513 experiment(StopTime=1.5), … … 659 637 4th test example: PumpAndValve 660 638 </p> 661 <p>662 639 The pump is running with half speed for 0.4 s, 663 640 afterwards with full speed (using a ramp of 0.1 s).<br> 664 The valve is half open for 0.9 s, afterwards full open (using a ramp of 0.1 s). 665 </p> 666 <p> 667 You may try to<br> 641 The valve is half open for 0.9 s, afterwards full open (using a ramp of 0.1 s).<br> 642 You may try to: 668 643 <ul> 669 644 <li>drive the pump with variable speed and let the valve full open … … 672 647 to regulate the volume flow rate of coolant</li> 673 648 </ul> 674 </p>675 649 </HTML>"), Diagram, 676 650 experiment(StopTime=2), … … 769 743 5th test example: PumpDropOut 770 744 </p> 771 <p>772 745 Same as 1st test example, but with a drop out of the pump:<br> 773 746 The pump is running for 0.2 s, then shut down (using a ramp of 0.2 s) for 0.2 s, 774 747 then started again (using a ramp of 0.2 s). 775 </p>776 748 </HTML>"), Diagram, 777 749 experiment(StopTime=2), … … 851 823 6th test example: ParallelPumpDropOut 852 824 </p> 853 <p>854 825 Same as 2nd test example, but with a drop out of the pump:<br> 855 826 The pump is running for 0.2 s, then shut down (using a ramp of 0.2 s) for 0.2 s, 856 827 then started again (using a ramp of 0.2 s). 857 </p>858 828 </HTML>"), Diagram, 859 829 experiment(StopTime=2, Algorithm="Lsodar"), … … 972 942 7th test example: OneMass 973 943 </p> 974 <p>975 944 A thermal capacity is coupled with a coolant flow. 976 945 Different inital temperatures of thermal capacity and pipe's coolant get ambient's temperature, 977 946 the time behaviour depending on coolant flow. 978 </p>979 947 </HTML>"), Diagram, 980 948 experiment(StopTime=1.0), … … 1026 994 connect(Pipe1.flowPort_b, Ambient2.flowPort) 1027 995 annotation (points=[20,0; 40,0], style(color=1, rgbcolor={255,0,0})); 1028 connect(ThermalConductor1.port_a, HeatCapacitor1.port) annotation (points=[10,-40; 996 connect(ThermalConductor1.port_a, HeatCapacitor1.port) annotation (points=[10,-40; 1029 997 10,-40; 10,-50; 10,-50], style(color=42, rgbcolor={191,0,0})); 1030 998 connect(Pipe1.heatPort, ThermalConductor1.port_b) … … 1040 1008 8th test example: TwoMass 1041 1009 </p> 1042 <p>1043 1010 Two thermal capacities are coupled with two parallel coolant flow. 1044 1011 Different inital temperatures of thermal capacities and pipe's coolants get ambient's temperature, 1045 1012 the time behaviour depending on coolant flow. 1046 </p>1047 1013 </HTML>"), Diagram, 1048 1014 experiment(StopTime=1.0), … … 1127 1093 connect(Pipe3.flowPort_b, Ambient2.flowPort) 1128 1094 annotation (points=[60,0; 80,0], style(color=1, rgbcolor={255,0,0})); 1129 connect(HeatCapacitor2.port, ThermalConductor2.port_a) annotation (points=[10,60; 1095 connect(HeatCapacitor2.port, ThermalConductor2.port_a) annotation (points=[10,60; 1130 1096 10,55.5; 10,50; 10,50], style(color=42, rgbcolor={191,0,0})); 1131 1097 connect(ThermalConductor2.port_b, Pipe2.heatPort) … … 1133 1099 connect(Pipe1.heatPort, ThermalConductor1.port_b) annotation (points=[10,-20; 1134 1100 10,-30], style(color=42, rgbcolor={191,0,0})); 1135 connect(ThermalConductor1.port_a, HeatCapacitor1.port) annotation (points=[10,-50; 1101 connect(ThermalConductor1.port_a, HeatCapacitor1.port) annotation (points=[10,-50; 1136 1102 10,-50; 10,-60; 10,-60], 1137 1103 style(color=42, rgbcolor={191,0,0})); … … 1143 1109 extends Modelica.Icons.Library; 1144 1110 annotation (Documentation(info="<html> 1145 <p> 1146 This package contains utility components used for the test examples. 1147 <p> 1148 1149 </html>", revisions="<HTML> 1111 This package contains utility components used for the test examples.<br> 1150 1112 <dl> 1151 1113 <dt><b>Main Authors:</b></dt> … … 1166 1128 </dd> 1167 1129 </dl> 1168 </p>1169 </dl>1170 1130 <p> 1171 1131 Copyright © 1998-2007, Modelica Association, Anton Haumer and arsenal research. … … 1177 1137 <a href=\"Modelica://Modelica.UsersGuide.ModelicaLicense\">here</a>.</i> 1178 1138 </p> 1179 1139 </HTML>", revisions="<HTML> 1180 1140 <ul> 1181 1141 <li> v1.41 Beta 2005/06/17 Anton Haumer<br> … … 1190 1150 parameter Modelica.SIunits.Time interval=0.2 1191 1151 "Interval between end of 1st and beginning of 2nd ramp"; 1192 parameter Real height_1=-1 "Height of ramp" 1152 parameter Real height_1=-1 "Height of ramp" 1193 1153 annotation(Dialog(group="Ramp 1")); 1194 1154 parameter Modelica.SIunits.Time duration_1(min=Modelica.Constants.small) = 0.2 1195 "Duration of ramp" 1155 "Duration of ramp" 1196 1156 annotation(Dialog(group="Ramp 1")); 1197 parameter Real height_2=1 "Height of ramp" 1157 parameter Real height_2=1 "Height of ramp" 1198 1158 annotation(Dialog(group="Ramp 2")); 1199 1159 parameter Modelica.SIunits.Time duration_2(min=Modelica.Constants.small) = 0.2 1200 "Duration of ramp" 1160 "Duration of ramp" 1201 1161 annotation(Dialog(group="Ramp 2")); 1202 1162 annotation ( 1203 1163 Documentation(info="<HTML> 1204 <p>1205 1164 Block generating the sum of two ramps. 1206 </p>1207 1165 </HTML>"),Diagram, 1208 1166 Icon( … … 1248 1206 extends Modelica.Icons.Library2; 1249 1207 annotation (Documentation(info="<HTML> 1250 <p>1251 1208 This package contains components: 1252 1209 <ul> … … 1254 1211 <li>pipe with heat exchange</li> 1255 1212 <li>valve (simple controlled valve)</li> 1256 <ul> 1257 </p> 1258 <p> 1213 </ul> 1259 1214 Pressure drop is taken from partial model SimpleFriction.<br> 1260 Thermodynamic equations are defined in partial models (package Partials). 1261 </p> 1262 <p> 1263 1264 </HTML>", revisions="<HTML> 1215 Thermodynamic equations are defined in partial models (package Partials).<br> 1265 1216 <dl> 1266 1217 <dt><b>Main Authors:</b></dt> … … 1281 1232 </dd> 1282 1233 </dl> 1283 </p>1284 </dl>1285 1234 <p> 1286 1235 Copyright © 1998-2007, Modelica Association, Anton Haumer and arsenal research. … … 1292 1241 <a href=\"Modelica://Modelica.UsersGuide.ModelicaLicense\">here</a>.</i> 1293 1242 </p> 1294 1243 </HTML>", revisions="<HTML> 1295 1244 <ul> 1296 1245 <li> v1.00 2005/02/01 Anton Haumer<br> … … 1326 1275 1327 1276 annotation (Documentation(info="<HTML> 1328 <p>1329 1277 Pipe without heat exchange.<br> 1330 Thermodynamic equations are defined by Partials.TwoPortMass(Q_flow = 0). 1331 </p> 1332 <p> 1278 Thermodynamic equations are defined by Partials.TwoPortMass(Q_flow = 0).<br> 1333 1279 <b>Note:</b> Setting parameter m (mass of medium within pipe) to zero 1334 1280 leads to neglection of temperature transient cv*m*der(T). 1335 </p>1336 1281 </HTML>"), 1337 1282 Icon(Rectangle(extent=[-90, 20; 90, -20], style( … … 1356 1301 1357 1302 annotation (Documentation(info="<HTML> 1358 <p>1359 1303 Pipe with heat exchange.<br> 1360 1304 Thermodynamic equations are defined by Partials.TwoPort.<br> 1361 Q_flow is defined by heatPort.Q_flow. 1362 </p> 1363 <p> 1305 Q_flow is defined by heatPort.Q_flow.<br> 1364 1306 <b>Note:</b> Setting parameter m (mass of medium within pipe) to zero 1365 leads to neglection of temperature transient cv*m*der(T). 1366 </p> 1367 <p> 1307 leads to neglection of temperature transient cv*m*der(T).<br> 1368 1308 <b>Note:</b> Injecting heat into a pipe with zero massflow causes 1369 1309 temperature rise defined by storing heat in medium's mass. 1370 </p>1371 1310 </HTML>"), 1372 1311 Icon(Rectangle(extent=[-90, 20; 90, -20], style( … … 1402 1341 1403 1342 annotation (Documentation(info="<HTML> 1404 <p>1405 1343 Simple controlled valve.<br> 1406 1344 Standard characteristic Kv=<i>f </i>(y) is given at standard conditions (dp0, rho0),<br> … … 1419 1357 Flow resistance under real conditions is calculated by<br> 1420 1358 <tt>V_flow**2 * rho / dp = Kv(y)**2 * rho0 / dp0</tt> 1421 </p>1422 1359 </HTML>"), 1423 1360 Icon( Text(extent=[-150,-60; 150,-120], string="%name"), … … 1435 1372 fillPattern=1))), Diagram); 1436 1373 extends Interfaces.Partials.TwoPort(m=0, final tapT=1); 1437 parameter Boolean LinearCharacteristic=true 1438 "Type of characteristic" 1439 annotation(Dialog(group="Standard characteristic"), choices(choice=true "Linear", choice=false "Exponential")); 1440 parameter Real y1(min=small)=1 1441 "Max. valve opening" 1374 parameter Boolean LinearCharacteristic=true "Type of characteristic" 1375 annotation(Dialog(group="Standard characteristic"), choices(choice=true "Linear", choice=false 1376 "Exponential")); 1377 parameter Real y1(min=small)=1 "Max. valve opening" 1442 1378 annotation(Dialog(group="Standard characteristic")); 1443 1379 parameter Modelica.SIunits.VolumeFlowRate Kv1(min=small)=1 1444 "Max. flow @ y = y1" 1380 "Max. flow @ y = y1" 1445 1381 annotation(Dialog(group="Standard characteristic")); 1446 1382 parameter Real kv0(min=small,max=1-small)=0.01 1447 "Leakage flow / max.flow @ y = 0" 1383 "Leakage flow / max.flow @ y = 0" 1448 1384 annotation(Dialog(group="Standard characteristic")); 1449 parameter Modelica.SIunits.Pressure dp0=1 1450 "Standard pressure drop" 1385 parameter Modelica.SIunits.Pressure dp0=1 "Standard pressure drop" 1451 1386 annotation(Dialog(group="Standard characteristic")); 1452 parameter Modelica.SIunits.Density rho0 = 10 1453 "Standard medium's density" 1387 parameter Modelica.SIunits.Density rho0 = 10 "Standard medium's density" 1454 1388 annotation(Dialog(group="Standard characteristic")); 1455 1389 parameter Real frictionLoss(min=0, max=1) = 0 … … 1481 1415 extends Modelica.Icons.Library2; 1482 1416 annotation (Documentation(info="<HTML> 1483 <p>1484 1417 This package contains connectors and partial models: 1485 1418 <ul> … … 1488 1421 <li>package Partials (defining basic thermodynamic equations)</li> 1489 1422 </ul> 1490 </p>1491 <p>1492 1493 </HTML>", revisions="<HTML>1494 1423 <dl> 1495 1424 <dt><b>Main Authors:</b></dt> … … 1510 1439 </dd> 1511 1440 </dl> 1512 </p>1513 </dl>1514 1441 <p> 1515 1442 Copyright © 1998-2007, Modelica Association, Anton Haumer and arsenal research. … … 1521 1448 <a href=\"Modelica://Modelica.UsersGuide.ModelicaLicense\">here</a>.</i> 1522 1449 </p> 1523 1450 </HTML>", revisions="<HTML> 1524 1451 <ul> 1525 1452 <li> v1.00 2005/02/01 Anton Haumer<br> … … 1550 1477 1551 1478 annotation (Documentation(info="<HTML> 1552 <p> 1553 Basic definition of the connector. 1554 </p> 1555 <p> 1479 Basic definition of the connector.<br> 1556 1480 <b>Variables:</b> 1557 1481 <ul> … … 1561 1485 <li>flow EnthaplyFlowRate H_flow</li> 1562 1486 </ul> 1563 </p>1564 <p>1565 <p>1566 1487 If ports with different media are connected, the simulation is asserted due to the check of parameter. 1567 </p>1568 1488 </HTML>")); 1569 1489 parameter FluidHeatFlow.Media.Medium medium "Medium in the connector"; … … 1577 1497 1578 1498 annotation (Documentation(info="<HTML> 1579 <p>1580 1499 Same as FlowPort, but icon allows to differentiate direction of flow. 1581 </p>1582 1500 </HTML>"), 1583 1501 Icon(Rectangle(extent=[-100, 100; 100, -100], style( … … 1611 1529 1612 1530 annotation (Documentation(info="<HTML> 1613 <p>1614 1531 Same as FlowPort, but icon allows to differentiate direction of flow. 1615 </p>1616 1532 </HTML>"), 1617 1533 Icon(Rectangle(extent=[-100,100; 100,-100], style( … … 1638 1554 extends Modelica.Icons.Library; 1639 1555 annotation (Documentation(info="<HTML> 1640 <p> 1641 This package contains partial models, defining in a very compact way the basic thermodynamic equations used by the different components. 1642 </p> 1643 <p> 1556 This package contains partial models, defining in a very compact way the basic thermodynamic equations used by the different components.<br> 1644 1557 <dl> 1645 1558 <dt><b>Main Authors:</b></dt> … … 1660 1573 </dd> 1661 1574 </dl> 1662 </p>1663 </dl>1664 1575 <p> 1665 1576 Copyright © 1998-2007, Modelica Association, Anton Haumer and arsenal research. … … 1671 1582 <a href=\"Modelica://Modelica.UsersGuide.ModelicaLicense\">here</a>.</i> 1672 1583 </p> 1673 </HTML>", revisions="<HTML>1584 </HTML>",revisions="<HTML> 1674 1585 <ul> 1675 1586 <li> v1.00 2005/02/01 Anton Haumer<br> … … 1699 1610 1700 1611 annotation (Documentation(info="<HTML> 1701 <p> 1702 Definition of relationship between pressure drop and volume flow rate: 1703 </p> 1704 <p> 1612 Definition of relationship between pressure drop and volume flow rate:<br> 1705 1613 -V_flowLaminar < VolumeFlow < +V_flowLaminar: laminar i.e. linear dependency of pressure drop on volume flow.<br> 1706 1614 -V_flowLaminar > VolumeFlow or VolumeFlow < +V_flowLaminar: turbulent i.e. quadratic dependency of pressure drop on volume flow.<br> … … 1708 1616 Quadratic dependency is defined by nominal volume flow and pressure drop (V_flowNominal / dpNominal).<br> 1709 1617 See also sketch at diagram layer. 1710 </p>1711 1618 </HTML>"), 1712 1619 Diagram( … … 1747 1654 string="dp ~ V_flow²"))); 1748 1655 parameter Modelica.SIunits.VolumeFlowRate V_flowLaminar(min=Modelica.Constants.small)=0.1 1749 "Laminar volume flow" 1656 "Laminar volume flow" 1750 1657 annotation(Dialog(group="Simple Friction")); 1751 1658 parameter Modelica.SIunits.Pressure dpLaminar=0.1 1752 "Laminar pressure drop" 1659 "Laminar pressure drop" 1753 1660 annotation(Dialog(group="Simple Friction")); 1754 1661 parameter Modelica.SIunits.VolumeFlowRate V_flowNominal=1 1755 "Nominal volume flow" 1662 "Nominal volume flow" 1756 1663 annotation(Dialog(group="Simple Friction")); 1757 parameter Modelica.SIunits.Pressure dpNominal=1 1758 "Nominal pressure drop" 1664 parameter Modelica.SIunits.Pressure dpNominal=1 "Nominal pressure drop" 1759 1665 annotation(Dialog(group="Simple Friction")); 1760 1666 parameter Real frictionLoss(min=0, max=1) = 0 1761 "Part of friction losses fed to medium" 1667 "Part of friction losses fed to medium" 1762 1668 annotation(Dialog(group="Simple Friction")); 1763 1669 Modelica.SIunits.Pressure pressureDrop; … … 1787 1693 1788 1694 annotation (Documentation(info="<HTML> 1789 <p>1790 1695 Partial model with two flowPorts.<br> 1791 1696 Possible heat exchange with the ambient is defined by Q_flow; setting this = 0 means no energy exchange.<br> … … 1794 1699 Mixing rule is applied.<br> 1795 1700 Parameter 0 < tapT < 1 defines temperature of heatPort between medium's inlet and outlet temperature. 1796 </p>1797 1701 </HTML>")); 1798 1702 parameter FluidHeatFlow.Media.Medium medium=FluidHeatFlow.Media.Medium() … … 1879 1783 1880 1784 annotation (Documentation(info="<HTML> 1881 <p>1882 1785 Partial model for an absolute sensor (pressure/temperature).<br> 1883 1786 Pressure, mass flow, temperature and enthalpy flow of medium are not affected. 1884 </p>1885 1787 </HTML>")); 1886 1788 parameter FluidHeatFlow.Media.Medium medium=FluidHeatFlow.Media.Medium() … … 1924 1826 1925 1827 annotation (Documentation(info="<HTML> 1926 <p>1927 1828 Partial model for a relative sensor (pressure drop/temperature difference).<br> 1928 1829 Pressure, mass flow, temperature and enthalpy flow of medium are not affected. 1929 </p>1930 1830 </HTML>")); 1931 1831 parameter FluidHeatFlow.Media.Medium medium=FluidHeatFlow.Media.Medium() … … 1974 1874 1975 1875 annotation (Documentation(info="<HTML> 1976 <p>1977 1876 Partial model for a flow sensor (mass flow/heat flow).<br> 1978 1877 Pressure, mass flow, temperature and enthalpy flow of medium are not affected, but mixing rule is applied. 1979 </p>1980 1878 </HTML>")); 1981 1879 extends TwoPort(final m=0, final T0=0, final tapT=1); … … 2018 1916 extends Modelica.Icons.Library2; 2019 1917 annotation (Documentation(info="<HTML> 2020 <p> 2021 This package contains definitions of medium properties. 2022 </p> 2023 2024 </HTML>", revisions="<HTML> 1918 This package contains definitions of medium properties.<br> 2025 1919 <dl> 2026 1920 <dt><b>Main Authors:</b></dt> … … 2041 1935 </dd> 2042 1936 </dl> 2043 </p>2044 </dl>2045 1937 <p> 2046 1938 Copyright © 1998-2007, Modelica Association, Anton Haumer and arsenal research. …
