| 1 |
REQUIRE "ivpsystem.a4l"; |
| 2 |
REQUIRE "johnpye/thermo_types.a4c"; |
| 3 |
|
| 4 |
(* |
| 5 |
this model aims to show the evolution of thermal equilibrium between |
| 6 |
two containers of water/steam with a simple convection coefficient |
| 7 |
relation at the interface |
| 8 |
|
| 9 |
This simple model works without any realistic fluid properties. It's basically |
| 10 |
just demonstrating Newton's Law of Cooling. |
| 11 |
|
| 12 |
This model was used as a test case for the Integrator functionality in the |
| 13 |
PyGTK GUI. |
| 14 |
*) |
| 15 |
MODEL thermalequilibrium; |
| 16 |
T_1 IS_A temperature; |
| 17 |
T_2 IS_A temperature; |
| 18 |
m_1, m_2 IS_A mass; |
| 19 |
C_p IS_A specific_heat_capacity; |
| 20 |
h IS_A heat_transfer_coefficient; |
| 21 |
A IS_A area; |
| 22 |
|
| 23 |
Q IS_A energy_rate; |
| 24 |
Q = h*A*(T_1 - T_2); (* rate of heat transfer from 1 to 2 *) |
| 25 |
m_1*C_p*dT1dt = -Q; |
| 26 |
m_2*C_p*dT2dt = +Q; |
| 27 |
|
| 28 |
dT1dt IS_A temperature_rate; |
| 29 |
dT2dt IS_A temperature_rate; |
| 30 |
|
| 31 |
t IS_A time; |
| 32 |
METHODS |
| 33 |
METHOD on_load; |
| 34 |
FIX C_p, h, A, m_1, m_2, T_1, T_2; |
| 35 |
A := 1 {m^2}; |
| 36 |
h := 10 {W/m^2/K}; |
| 37 |
C_p := 4.2 {kJ/kg/K}; |
| 38 |
m_1 := 10 {kg}; |
| 39 |
m_2 := 10 {kg}; |
| 40 |
|
| 41 |
T_1 := 500 {K}; |
| 42 |
T_2 := 290 {K}; |
| 43 |
|
| 44 |
t.ode_type := -1; |
| 45 |
|
| 46 |
T_1.ode_id := 1; |
| 47 |
dT1dt.ode_id := 1; |
| 48 |
T_1.ode_type := 1; |
| 49 |
dT1dt.ode_type := 2; |
| 50 |
|
| 51 |
T_2.ode_id := 2; |
| 52 |
dT2dt.ode_id := 2; |
| 53 |
T_2.ode_type := 1; |
| 54 |
dT2dt.ode_type := 2; |
| 55 |
|
| 56 |
Q.obs_id := 2; |
| 57 |
T_1.obs_id := 3; |
| 58 |
T_2.obs_id := 4; |
| 59 |
|
| 60 |
END on_load; |
| 61 |
|
| 62 |
END thermalequilibrium; |