Click or drag to resize

PointStructuralReferenceOnPoint Class

[This is preliminary documentation and is subject to change.]

Defines information about a point load on a StructuralPointConnection
Inheritance Hierarchy
SystemObject
  ModelExchanger.AnalysisDataModel.StructuralReferences.PointsPointStructuralReferenceOnPoint

Namespace:  ModelExchanger.AnalysisDataModel.StructuralReferences.Points
Assembly:  ModelExchanger.AnalysisDataModel (in ModelExchanger.AnalysisDataModel.dll) Version: 1.13.0+Branch.master.Sha.d583fc64569355d188a9c0818d257b6d0d3e1339
Syntax
C#
public sealed class PointStructuralReferenceOnPoint : IPointStructuralReference, 
	IEquatable<PointStructuralReferenceOnPoint>

The PointStructuralReferenceOnPoint type exposes the following members.

Constructors
  NameDescription
Public methodPointStructuralReferenceOnPoint
Create information about a point load on the provided StructuralPointConnection
Top
Properties
  NameDescription
Public propertyReferenceNode
The StructuralPointConnection on which the point load acts
Top
Methods
  NameDescription
Public methodEquals(Object)
Determines whether the specified object is equal to the current object.
(Overrides ObjectEquals(Object).)
Public methodEquals(PointStructuralReferenceOnPoint)
Indicates whether the current object is equal to another object of the same type.
Public methodGetHashCode
Serves as the default hash function.
(Overrides ObjectGetHashCode.)
Top
Examples
Creating a point force
using System;
using System.Collections.Generic;
using System.Linq;
using ModelExchanger.AnalysisDataModel.Enums;
using ModelExchanger.AnalysisDataModel.Loads;
using ModelExchanger.AnalysisDataModel.Models;
using ModelExchanger.AnalysisDataModel.StructuralElements;
using ModelExchanger.AnalysisDataModel.StructuralReferences.Points;
using UnitsNet;

namespace ModelExchanger.AnalysisDataModel.Example.Loads
{
    public sealed class StructuralPointActionOnNodeExample : BaseExample<StructuralPointAction<PointStructuralReferenceOnPoint>>
    {
        protected override IReadOnlyCollection<StructuralPointAction<PointStructuralReferenceOnPoint>> CreateAnalysisObjects(AnalysisModel model)
        {
            IReadOnlyDictionary<string, StructuralPointConnection> nodes = model.OfType<StructuralPointConnection>().ToDictionary(x => x.Name, x => x);
            IReadOnlyDictionary<string, StructuralLoadCase> loadCases = model.OfType<StructuralLoadCase>().ToDictionary(x => x.Name, x => x);


            return new[]
            {
                CreateStructuralPointActionInNode("F1", loadCases["LC2"], nodes["N12"], Force.FromKilonewtons(-3), ActionDirection.Z),
                CreateStructuralPointActionInNode("F2", loadCases["LC2"], nodes["N14"], Force.FromKilonewtons(-3), ActionDirection.Z),
                CreateStructuralPointActionInNode("F3", loadCases["LC2"], nodes["N19"], Force.FromKilonewtons(-3), ActionDirection.Z),
                CreateStructuralPointActionInNode("F4", loadCases["LC2"], nodes["N10"], Force.FromKilonewtons(-3), ActionDirection.Z),
                CreateStructuralPointActionInNode("F5", loadCases["LC2"], nodes["N9"], Force.FromKilonewtons(-3), ActionDirection.Y),
                CreateStructuralPointActionInNode("F6", loadCases["LC2"], nodes["N10"], Force.FromKilonewtons(-3), ActionDirection.Y),
            };
        }

        private StructuralPointAction<PointStructuralReferenceOnPoint> CreateStructuralPointActionInNode(string name, StructuralLoadCase loadCase,
            StructuralPointConnection node, Force value, ActionDirection direction, CoordinateSystem coordinateSystem = CoordinateSystem.Global)
        {
            return new StructuralPointAction<PointStructuralReferenceOnPoint>(Guid.NewGuid(), name, value, loadCase, PointForceAction.InNode, new PointStructuralReferenceOnPoint(node))
            {
                Direction = direction,
                CoordinateSystem = coordinateSystem
            };
        }
    }
}
Creating a moment force
using System;
using System.Collections.Generic;
using System.Linq;
using ModelExchanger.AnalysisDataModel.Enums;
using ModelExchanger.AnalysisDataModel.Loads;
using ModelExchanger.AnalysisDataModel.Models;
using ModelExchanger.AnalysisDataModel.StructuralElements;
using ModelExchanger.AnalysisDataModel.StructuralReferences.Points;
using UnitsNet;

namespace ModelExchanger.AnalysisDataModel.Example.Loads
{
    public sealed class StructuralPointMomentOnNodeExample : BaseExample<StructuralPointMoment<PointStructuralReferenceOnPoint>>
    {
        protected override IReadOnlyCollection<StructuralPointMoment<PointStructuralReferenceOnPoint>> CreateAnalysisObjects(AnalysisModel model)
        {
            StructuralLoadCase loadCase = model.OfType<StructuralLoadCase>().Single(x => x.Name == "LC2");
            StructuralPointConnection n16 = model.OfType<StructuralPointConnection>().Single(x => x.Name == "N16");
            StructuralPointConnection n15 = model.OfType<StructuralPointConnection>().Single(x => x.Name == "N15");

            return new[]
            {
                new StructuralPointMoment<PointStructuralReferenceOnPoint>(Guid.NewGuid(), "M1", PointForceAction.InNode,
                    Torque.FromKilonewtonMeters(-5), loadCase, new PointStructuralReferenceOnPoint(n16))
                {
                    Direction = MomentDirection.My
                },
                new StructuralPointMoment<PointStructuralReferenceOnPoint>(Guid.NewGuid(), "M2", PointForceAction.InNode,
                    Torque.FromKilonewtonMeters(-5), loadCase, new PointStructuralReferenceOnPoint(n15))
                {
                    Direction = MomentDirection.My
                }
            };
        }
    }
}
See Also