ThermalConductor

model ThermalConductor "Lumped thermal element transporting heat without storing it"
    extends Interfaces.Element1D;

    parameter Modelica.SIunits.ThermalConductance G "Constant thermal conductance of material";
equation
    Q_flow = G * dT;

    annotation (
        Icon(
            coordinateSystem(
                preserveAspectRatio = true,
                extent = {
                    {-100, -100}, 
                    {100, 100}}),
            graphics = {
                Rectangle(
                    extent = {
                        {-90, 70}, 
                        {90, -70}},
                    pattern = LinePattern.None,
                    fillColor = {192, 192, 192},
                    fillPattern = FillPattern.Backward), 
                Line(
                    points = {
                        {-90, 70}, 
                        {-90, -70}},
                    thickness = 0.5), 
                Line(
                    points = {
                        {90, 70}, 
                        {90, -70}},
                    thickness = 0.5), 
                Text(
                    extent = {
                        {-150, 115}, 
                        {150, 75}},
                    textString = "%name",
                    lineColor = {0, 0, 255}), 
                Text(
                    extent = {
                        {-150, -75}, 
                        {150, -105}},
                    textString = "G=%G")}),
        Diagram(
            coordinateSystem(
                preserveAspectRatio = true,
                extent = {
                    {-100, -100}, 
                    {100, 100}}),
            graphics = {
                Line(
                    points = {
                        {-80, 0}, 
                        {80, 0}},
                    color = {255, 0, 0},
                    thickness = 0.5,
                    arrow = {Arrow.None, Arrow.Filled}), 
                Text(
                    extent = {
                        {-100, -20}, 
                        {100, -40}},
                    lineColor = {255, 0, 0},
                    textString = "Q_flow"), 
                Text(
                    extent = {
                        {-100, 40}, 
                        {100, 20}},
                    textString = "dT = port_a.T - port_b.T")}),
        Documentation(info = "<html>\n<p>\nThis is a model for transport of heat without storing it; see also:\n<a href=\"modelica://Modelica.Thermal.HeatTransfer.Components.ThermalResistor\">ThermalResistor</a>.\nIt may be used for complicated geometries where\nthe thermal conductance G (= inverse of thermal resistance)\nis determined by measurements and is assumed to be constant\nover the range of operations. If the component consists mainly of\none type of material and a regular geometry, it may be calculated,\ne.g., with one of the following equations:\n</p>\n<ul>\n<li><p>\n    Conductance for a <strong>box</strong> geometry under the assumption\n    that heat flows along the box length:</p>\n    <pre>\n    G = k*A/L\n    k: Thermal conductivity (material constant)\n    A: Area of box\n    L: Length of box\n    </pre>\n    </li>\n<li><p>\n    Conductance for a <strong>cylindrical</strong> geometry under the assumption\n    that heat flows from the inside to the outside radius\n    of the cylinder:</p>\n    <pre>\n    G = 2*pi*k*L/log(r_out/r_in)\n    pi   : Modelica.Constants.pi\n    k    : Thermal conductivity (material constant)\n    L    : Length of cylinder\n    log  : Modelica.Math.log;\n    r_out: Outer radius of cylinder\n    r_in : Inner radius of cylinder\n    </pre>\n    </li>\n</ul>\n<pre>\n    Typical values for k at 20 degC in W/(m.K):\n      aluminium   220\n      concrete      1\n      copper      384\n      iron         74\n      silver      407\n      steel        45 .. 15 (V2A)\n      wood         0.1 ... 0.2\n</pre>\n</html>"));
end ThermalConductor;