Click or drag to resize

TemperatureLoadOnLine Class

Compatible with IDEA StatiCa Beta 21.0 - beta
Temperature load on line
Inheritance Hierarchy

Namespace:  IdeaRS.OpenModel.Loading
Assembly:  IdeaRS.OpenModel (in IdeaRS.OpenModel.dll) Version: 20.0.1.1 (20.0.1.1)
Syntax
public class TemperatureLoadOnLine : OpenElementId

The TemperatureLoadOnLine type exposes the following members.

Constructors
  NameDescription
Public methodTemperatureLoadOnLine
Constructor
Top
Properties
  NameDescription
Public propertyConvectionCoefficient
Convection coefficient per area - αc[W/(m2K)]
Public propertyDirection
Direction on temperaure
Public propertyDirectionEdges
Edges of direction
Public propertyGeometry
Segment3D
Public propertyId
Element Id
(Inherited from OpenElementId.)
Public propertyRadiationCoefficient
Radiation coefficient per area - αr[W/(m2K)]
Public propertyRelativeBeginPosition
Relative position on segment - begin
Public propertyRelativeEndPosition
Relative position on segment - end
Public propertyTemperatureCurve
Temperature curve { x = t[s], y = Θ[K] }
Top
Examples
This sample shows how to create a temperature load.
C#
//Creating the model
OpenModel openModel = new OpenModel();

//Create nodes
Point3D pointA = new Point3D();
pointA.X = 0;
pointA.Y = 0;
pointA.Z = 0;
openModel.AddObject(pointA);

Point3D pointB = new Point3D();
pointB.X = 0;
pointB.Y = 0;
pointB.Z = 1.2;
openModel.AddObject(pointB);

Point3D pointC = new Point3D();
pointC.X = 0;
pointC.Y = 0;
pointC.Z = 2.4;
openModel.AddObject(pointC);

//Line between nodes
LineSegment3D line1 = new LineSegment3D();
line1.StartPoint = new ReferenceElement(pointA);
line1.EndPoint = new ReferenceElement(pointB);
//LCS of line
line1.LocalCoordinateSystem = new CoordSystemByZup();
openModel.AddObject(line1);

//Line between nodes
LineSegment3D line2 = new LineSegment3D();
line2.StartPoint = new ReferenceElement(pointB);
line2.EndPoint = new ReferenceElement(pointC);
//LCS of line
line2.LocalCoordinateSystem = new CoordSystemByZup();
openModel.AddObject(line2);

//Load case
LoadCase loadCase = new LoadCase();
//...
openModel.AddObject(loadCase);

//temperature load on the line 2 defined to edge 0 and 1 of the component 0 of crossection
var tempload = new TemperatureLoadOnLine();
tempload.Geometry = new ReferenceElement(line2);
tempload.RelativeBeginPosition = 0.0;
tempload.RelativeEndPosition = 1.0;
tempload.Direction = TemperatureDirection.SpecifiedEdges;
var edges = new CrossSectionComponentEdges();
edges.ComponentIndex = 0;
edges.EdgeIndexes.Add(0);
edges.EdgeIndexes.Add(1);
tempload.DirectionEdges.Add(edges);
tempload.ConvectionCoefficient = 25.0;
tempload.RadiationCoefficient = 0.0;

//temperature curve sec vs K
var curve = new Polygon2D();
curve.Points.Add(new Point2D() { X = 0, Y = 296.15 });
curve.Points.Add(new Point2D() { X = 600, Y = 954.15 });
curve.Points.Add(new Point2D() { X = 1200, Y = 1057.15 });
curve.Points.Add(new Point2D() { X = 1800, Y = 1117.15 });
curve.Points.Add(new Point2D() { X = 2400, Y = 1160.15 });
curve.Points.Add(new Point2D() { X = 3000, Y = 1194.15 });
curve.Points.Add(new Point2D() { X = 3600, Y = 1221.15 });
curve.Points.Add(new Point2D() { X = 4200, Y = 1244.15 });
curve.Points.Add(new Point2D() { X = 4800, Y = 1264.15 });
curve.Points.Add(new Point2D() { X = 5200, Y = 1276.15 });
curve.Points.Add(new Point2D() { X = 6000, Y = 1296.15 });
tempload.TemperatureCurve = curve;

openModel.AddObject(tempload);
loadCase.TemperatureLoadsOnLine.Add(new ReferenceElement(tempload));
See Also