39 lines
1.2 KiB
Plaintext
39 lines
1.2 KiB
Plaintext
within OTRERA_formation.Components;
|
|
|
|
model ThermalCapacity
|
|
import Modelica.Fluid.Types.Dynamics ;
|
|
//USER DEFINED PARAMETERS
|
|
|
|
parameter Dynamics energyDynamics = Dynamics.FixedInitial ;
|
|
parameter Modelica.Units.SI.Mass m = 10 "Object mass";
|
|
parameter Modelica.Units.SI.SpecificHeatCapacity cp(min=0) = 1000 ;
|
|
parameter Modelica.Units.SI.Temperature T_start = 283.15 ;
|
|
|
|
//INTERNAL VARIABLES
|
|
Modelica.Units.SI.Temperature T ;
|
|
Modelica.Units.SI.HeatFlowRate Q_flow ;
|
|
|
|
//IMPORTED COMPONENTS
|
|
Modelica.Thermal.HeatTransfer.Interfaces.HeatPort_a port annotation(
|
|
Placement(transformation(extent = {{-10, -10}, {10, 10}}), iconTransformation(origin = {-2, -4}, extent = {{-10, -10}, {10, 10}})));
|
|
initial equation
|
|
if energyDynamics == Dynamics.SteadyStateInitial then
|
|
der(T) = 0 ;
|
|
elseif energyDynamics == Dynamics.FixedInitial then
|
|
T = T_start ;
|
|
end if ;
|
|
equation
|
|
|
|
if energyDynamics == Dynamics.SteadyState then
|
|
Q_flow = 0 ;
|
|
else
|
|
Q_flow = m * cp * der(T) ;
|
|
end if ;
|
|
|
|
//PORT HANDOVER
|
|
Q_flow = port.Q_flow ;
|
|
T = port.T ;
|
|
|
|
annotation(
|
|
Icon(graphics = {Ellipse(origin = {-2, 3}, fillColor = {134, 94, 60}, fillPattern = FillPattern.Solid, extent = {{-92, -85}, {92, 85}})}));
|
|
end ThermalCapacity; |