Click or drag to resize

StructuralPointActionTPointStructuralReference Class

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

Defines a point load that can act on a StructuralPointConnection or on a StructuralCurveMember
Inheritance Hierarchy
SystemObject
  ModelExchanger.AnalysisDataModel.BaseStructuralAnalysisObjectBase
    ModelExchanger.AnalysisDataModel.LoadsStructuralPointLoadBaseForce, ActionDirection
      ModelExchanger.AnalysisDataModel.LoadsStructuralPointActionTPointStructuralReference

Namespace:  ModelExchanger.AnalysisDataModel.Loads
Assembly:  ModelExchanger.AnalysisDataModel (in ModelExchanger.AnalysisDataModel.dll) Version: 1.13.0+Branch.master.Sha.d583fc64569355d188a9c0818d257b6d0d3e1339
Syntax
C#
public sealed class StructuralPointAction<TPointStructuralReference> : StructuralPointLoadBase<Force, ActionDirection>, 
	IEquatable<StructuralPointAction<TPointStructuralReference>>, IHasLoadDirectionVector<Force>
where TPointStructuralReference : class, IPointStructuralReference

Type Parameters

TPointStructuralReference
The type on which the point force acts

The StructuralPointActionTPointStructuralReference type exposes the following members.

Constructors
Properties
  NameDescription
Public propertyCoordinateSystem
Defines the coordinate system of the member in which the load is applied
(Inherited from StructuralPointLoadBaseTTypeOfValue, TTypeOfDirection.)
Public propertyDirection
Specifies the base direction of the load
(Inherited from StructuralPointLoadBaseTTypeOfValue, TTypeOfDirection.)
Public propertyDirectionVectorX
Public propertyDirectionVectorY
Public propertyDirectionVectorZ
Public propertyForceAction
Defines on which type of structural element the point load acts
(Inherited from StructuralPointLoadBaseTTypeOfValue, TTypeOfDirection.)
Public propertyId
The ID of the Analysis object. Needs to be unique within the entire model
(Inherited from StructuralAnalysisObjectBase.)
Public propertyLoadCase
The StructuralLoadCase to which this load is assigned
(Inherited from StructuralPointLoadBaseTTypeOfValue, TTypeOfDirection.)
Public propertyName
The name of the Analysis object. Needs to be unique within it's type
(Inherited from StructuralAnalysisObjectBase.)
Public propertyStructuralReference
Object containing reference information of the structural element on which the load is applied
Public propertyType
Defines what the load is caused by
(Inherited from StructuralPointLoadBaseTTypeOfValue, TTypeOfDirection.)
Public propertyValue
The value of the point load
(Inherited from StructuralPointLoadBaseTTypeOfValue, TTypeOfDirection.)
Top
Methods
  NameDescription
Public methodEquals(Object)
Check if this object is the same as the provided object.
(Overrides StructuralPointLoadBaseTTypeOfValue, TTypeOfDirectionEquals(Object).)
Public methodEquals(StructuralAnalysisObjectBase)
Check if this object is the same as the provided object.
(Inherited from StructuralAnalysisObjectBase.)
Public methodEquals(StructuralPointActionTPointStructuralReference)
Indicates whether the current object is equal to another object of the same type.
Public methodEquals(StructuralPointLoadBaseTTypeOfValue, TTypeOfDirection)
Indicates whether the current object is equal to another object of the same type.
(Inherited from StructuralPointLoadBaseTTypeOfValue, TTypeOfDirection.)
Public methodGetHashCode
Retrieves the hashcode of the object
(Overrides StructuralPointLoadBaseTTypeOfValue, TTypeOfDirectionGetHashCode.)
Top
Events
  NameDescription
Public eventPropertyChanged (Inherited from StructuralAnalysisObjectBase.)
Top
Examples
Creating an instance acting on a node
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 an instance acting on a beam
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 StructuralPointActionOnBeamExample : BaseExample<StructuralPointAction<PointStructuralReferenceOnBeam>>
    {
        protected override IReadOnlyCollection<StructuralPointAction<PointStructuralReferenceOnBeam>> CreateAnalysisObjects(AnalysisModel model)
        {
            IReadOnlyDictionary<string, StructuralCurveMember> beams = model.OfType<StructuralCurveMember>().ToDictionary(x => x.Name, x => x);
            IReadOnlyDictionary<string, StructuralLoadCase> loadCases = model.OfType<StructuralLoadCase>().ToDictionary(x => x.Name, x => x);

            return new[]
            {
                new StructuralPointAction<PointStructuralReferenceOnBeam>(Guid.NewGuid(), "F7", Force.FromKilonewtons(-3), loadCases["LC2"], PointForceAction.OnBeam, new PointStructuralReferenceOnBeam(beams["B3"]))
                {
                    Direction = ActionDirection.Z,
                    CoordinateSystem = CoordinateSystem.Global
                },
                new StructuralPointAction<PointStructuralReferenceOnBeam>(Guid.NewGuid(), "F8", Force.FromKilonewtons(-3), loadCases["LC2"], PointForceAction.OnBeam, new PointStructuralReferenceOnBeam(beams["B4"]))
                {
                    Direction = ActionDirection.Z,
                    CoordinateSystem = CoordinateSystem.Global
                },
            };
        }
    }
}
See Also