forked from modelica/ModelicaStandardLibrary
-
Notifications
You must be signed in to change notification settings - Fork 0
/
HeatingRectifier.mo
69 lines (66 loc) · 2.94 KB
/
HeatingRectifier.mo
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
within Modelica.Electrical.Analog.Examples;
model HeatingRectifier "Heating rectifier"
extends Modelica.Icons.Example;
Modelica.Electrical.Analog.Semiconductors.Diode HeatingDiode1(
useTemperatureDependency=true, useHeatPort=true)
annotation (Placement(transformation(extent={{-20,40},{0,60}})));
Modelica.Electrical.Analog.Basic.Ground G
annotation (Placement(transformation(extent={{-80,0},{-60,20}})));
Modelica.Electrical.Analog.Sources.SineVoltage SineVoltage1(V=1, f=1)
annotation (Placement(transformation(
origin={-70,40},
extent={{-10,-10},{10,10}},
rotation=270)));
Modelica.Electrical.Analog.Basic.Capacitor Capacitor1(C=1, v(start=0, fixed=true))
annotation (Placement(transformation(extent={{20,40},{40,60}})));
Modelica.Thermal.HeatTransfer.Components.HeatCapacitor HeatCapacitor1(C=1)
annotation (Placement(transformation(
origin={-20,-50},
extent={{-10,-10},{10,10}},
rotation=180)));
Modelica.Thermal.HeatTransfer.Components.ThermalConductor ThermalConductor1(G=10)
annotation (Placement(transformation(
origin={-20,-10},
extent={{-10,-10},{10,10}},
rotation=270)));
Modelica.Electrical.Analog.Basic.Resistor R(R=1)
annotation (Placement(transformation(extent={{20,70},{40,90}})));
initial equation
HeatCapacitor1.T = 293.15;
equation
connect(SineVoltage1.p, HeatingDiode1.p)
annotation (Line(points={{-70,50},{-20,50}}, color={0,0,255}));
connect(SineVoltage1.n, G.p)
annotation (Line(points={{-70,30},{-70,20}}, color={0,0,255}));
connect(Capacitor1.n, G.p)
annotation (Line(points={{40,50},{40,20},{-70,20}}, color={0,0,255}));
connect(HeatingDiode1.n, Capacitor1.p)
annotation (Line(points={{0,50},{20,50}}, color={0,0,255}));
connect(HeatingDiode1.heatPort, ThermalConductor1.port_a)
annotation (Line(
points={{-10,40},{-10,0},{-20,0}}, color={191,0,0}));
connect(ThermalConductor1.port_b, HeatCapacitor1.port)
annotation (Line(points={{-20,-20},
{-20,-25.75},{-20,-40}}, color={191,0,0}));
connect(R.p, Capacitor1.p)
annotation (Line(points={{20,80},{20,50}}, color={0,0,255}));
connect(R.n, Capacitor1.n)
annotation (Line(points={{40,80},{40,50}}, color={0,0,255}));
annotation (Diagram(coordinateSystem(preserveAspectRatio=true, extent={{-100,
-100},{100,100}})), Documentation(info="<html>
<p>The heating rectifier shows a heat flow always if the electrical capacitor is loaded.</p>
<p>Simulate until T=5 s.Plot in separate windows:
<br>SineVoltage1.v and Capacitor1.p.v
<br>HeatCapacitor1.port.T and HeatingDiode1.heatPort.T
<br>HeatingDiode1.heatPort.Q_flow
</p>
</html>",
revisions="<html>
<p><strong>Release Notes:</strong></p>
<ul>
<li><em>Mai 6, 2004 </em>
by Christoph Clauss<br> realized<br>
</li>
</ul>
</html>"), experiment(StopTime=5));
end HeatingRectifier;