Click or drag to resize

StructuralCurveMomentTCurveStructuralReference Class

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

Defines a moment load distributed over a StructuralCurveMember, StructuralCurveMemberRib or StructuralSurfaceMember's edge or StructuralCurveEdge
Inheritance Hierarchy
SystemObject
  ModelExchanger.AnalysisDataModel.BaseStructuralAnalysisObjectBase
    ModelExchanger.AnalysisDataModel.LoadsStructuralCurveActionAbstractMomentDirection, TorquePerLength
      ModelExchanger.AnalysisDataModel.LoadsStructuralCurveMomentTCurveStructuralReference

Namespace:  ModelExchanger.AnalysisDataModel.Loads
Assembly:  ModelExchanger.AnalysisDataModel (in ModelExchanger.AnalysisDataModel.dll) Version: 1.13.0+Branch.master.Sha.d583fc64569355d188a9c0818d257b6d0d3e1339
Syntax
C#
public sealed class StructuralCurveMoment<TCurveStructuralReference> : StructuralCurveActionAbstract<MomentDirection, TorquePerLength>, 
	IEquatable<StructuralCurveMoment<TCurveStructuralReference>>
where TCurveStructuralReference : class, ICurveStructuralReference

Type Parameters

TCurveStructuralReference
Type containing reference information

The StructuralCurveMomentTCurveStructuralReference type exposes the following members.

Constructors
Properties
  NameDescription
Public propertyCoordinateDefinition
Specifies the coordinate system that is used to define the length.
(Inherited from StructuralCurveActionAbstractTDirection, TValue.)
Public propertyCoordinateSystem
Defines the co-ordinate system of the member in which the load is applied
(Inherited from StructuralCurveActionAbstractTDirection, TValue.)
Public propertyDirection
Defines the base direction of the load
(Inherited from StructuralCurveActionAbstractTDirection, TValue.)
Public propertyDistribution
Defines how the load is distributed along the structural element
(Inherited from StructuralCurveActionAbstractTDirection, TValue.)
Public propertyEndPointAbsolute
Defines the position of the end point in absolute coordinates
(Inherited from StructuralCurveActionAbstractTDirection, TValue.)
Public propertyEndPointRelative
Defines the position of the end point in relative coordinates
(Inherited from StructuralCurveActionAbstractTDirection, TValue.)
Public propertyExtent
Defines how the load extends over the structural element
(Inherited from StructuralCurveActionAbstractTDirection, TValue.)
Public propertyForceAction
Defines on which type of structural element the force acts
(Inherited from StructuralCurveActionAbstractTDirection, TValue.)
Public propertyId
The ID of the Analysis object. Needs to be unique within the entire model
(Inherited from StructuralAnalysisObjectBase.)
Public propertyLoadCase
Defines the StructuralLoadCase to which the load belongs
(Inherited from StructuralCurveActionAbstractTDirection, TValue.)
Public propertyLocation
Defines whether the load is "put directly on an inclined 1D member" or whether the "projection on plan" is defined.
(Inherited from StructuralCurveActionAbstractTDirection, TValue.)
Public propertyName
The name of the Analysis object. Needs to be unique within it's type
(Inherited from StructuralAnalysisObjectBase.)
Public propertyOrigin
Specifies the origin of the coordinate system used for the definition of the length
(Inherited from StructuralCurveActionAbstractTDirection, TValue.)
Public propertyParentId
The ID of the parent object of the same type
(Inherited from StructuralCurveActionAbstractTDirection, TValue.)
Public propertyStartPointAbsolute
Defines the position of the start point in absolute coordinates
(Inherited from StructuralCurveActionAbstractTDirection, TValue.)
Public propertyStartPointRelative
Defines the position of the start point in relative coordinates
(Inherited from StructuralCurveActionAbstractTDirection, TValue.)
Public propertyStructuralReference
Object containing information about the structural element on which the line moment force acts.
Public propertyType
Defines what the load is caused by. Supports dynamic values
(Inherited from StructuralCurveActionAbstractTDirection, TValue.)
Public propertyValue1
Defines the first (or only when Distribution is Uniform) size of the load
(Inherited from StructuralCurveActionAbstractTDirection, TValue.)
Public propertyValue2
Defines the second size of the load, only applicable when Distribution is not Uniform
(Inherited from StructuralCurveActionAbstractTDirection, TValue.)
Top
Methods
  NameDescription
Public methodEquals(Object)
Check if this object is the same as the provided object.
(Overrides StructuralCurveActionAbstractTDirection, TValueEquals(Object).)
Public methodEquals(StructuralAnalysisObjectBase)
Check if this object is the same as the provided object.
(Inherited from StructuralAnalysisObjectBase.)
Public methodEquals(StructuralCurveActionAbstractTDirection, TValue)
Indicates whether the current object is equal to another object of the same type.
(Inherited from StructuralCurveActionAbstractTDirection, TValue.)
Public methodEquals(StructuralCurveMomentTCurveStructuralReference)
Indicates whether the current object is equal to another object of the same type.
Public methodGetHashCode
Retrieves the hashcode of the object
(Overrides StructuralCurveActionAbstractTDirection, TValueGetHashCode.)
Top
Events
  NameDescription
Public eventPropertyChanged (Inherited from StructuralAnalysisObjectBase.)
Top
Examples
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.Curves;
using UnitsNet;

namespace ModelExchanger.AnalysisDataModel.Example.Loads
{
    public sealed class StructuralCurveMomentOnBeamExample : BaseExample<StructuralCurveMoment<CurveStructuralReferenceOnBeam>>
    {
        protected override IReadOnlyCollection<StructuralCurveMoment<CurveStructuralReferenceOnBeam>> CreateAnalysisObjects(AnalysisModel model)
        {
            StructuralCurveMember beam = model.OfType<StructuralCurveMember>().Single(x => x.Name == "B37");
            StructuralLoadCase loadCase = model.OfType<StructuralLoadCase>().Single(x => x.Name == "LC2");

            return new[]
            {
                new StructuralCurveMoment<CurveStructuralReferenceOnBeam>(Guid.NewGuid(), "LF1", CurveForceAction.OnBeam,
                    TorquePerLength.FromKilonewtonMetersPerMeter(-2), loadCase, new CurveStructuralReferenceOnBeam(beam))
                {
                    Direction = MomentDirection.My,
                },
            };
        }
    }
}
Creating an instance acting on a rib
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.Curves;
using UnitsNet;

namespace ModelExchanger.AnalysisDataModel.Example.Loads
{
    public sealed class StructuralCurveMomentOnRibExample : BaseExample<StructuralCurveMoment<CurveStructuralReferenceOnRib>>
    {
        protected override IReadOnlyCollection<StructuralCurveMoment<CurveStructuralReferenceOnRib>> CreateAnalysisObjects(AnalysisModel model)
        {
            StructuralLoadCase loadCase = model.OfType<StructuralLoadCase>().Single(x => x.Name == "LC2");
            StructuralCurveMemberRib rib = model.OfType<StructuralCurveMemberRib>().Single(x => x.Name == "B37");

            return new[]
            {
                new StructuralCurveMoment<CurveStructuralReferenceOnRib>(Guid.NewGuid(), "LF2", CurveForceAction.OnRib,
                    TorquePerLength.FromKilonewtonMetersPerMeter(-2), loadCase, new CurveStructuralReferenceOnRib(rib))
                {
                    Direction = MomentDirection.Mx,
                    CoordinateSystem = CoordinateSystem.Local
                },
            };
        }
    }
}
Creating an instance acting on a surface's edge
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.Curves;
using UnitsNet;

namespace ModelExchanger.AnalysisDataModel.Example.Loads
{
    public sealed class StructuralCurveMomentOnEdgeExample : BaseExample<StructuralCurveMoment<CurveStructuralReferenceOnEdge>>
    {
        protected override IReadOnlyCollection<StructuralCurveMoment<CurveStructuralReferenceOnEdge>> CreateAnalysisObjects(AnalysisModel model)
        {
            StructuralLoadCase loadCase = model.OfType<StructuralLoadCase>().Single(x => x.Name == "LC2");
            StructuralSurfaceMember surface = model.OfType<StructuralSurfaceMember>().Single(x => x.Name == "S10");

            return new[]
            {
                new StructuralCurveMoment<CurveStructuralReferenceOnEdge>(Guid.NewGuid(), "LF3", CurveForceAction.OnEdge,
                    TorquePerLength.FromKilonewtonMetersPerMeter(-2), loadCase, new CurveStructuralReferenceOnEdge(surface, 1))
                {
                    Direction = MomentDirection.Mz,
                    CoordinateSystem = CoordinateSystem.Local
                },
            };
        }
    }
}
Creating an instance acting on a opening's edge
using ModelExchanger.AnalysisDataModel.Enums;
using ModelExchanger.AnalysisDataModel.Loads;
using ModelExchanger.AnalysisDataModel.Models;
using ModelExchanger.AnalysisDataModel.StructuralElements;
using ModelExchanger.AnalysisDataModel.StructuralReferences.Curves;
using System;
using System.Collections.Generic;
using System.Linq;
using UnitsNet;

namespace ModelExchanger.AnalysisDataModel.Example.Loads
{
    public sealed class StructuralCurveMomentOnOpeningEdgeExample :BaseExample<StructuralCurveMoment<CurveStructuralReferenceOnOpeningEdge>>
    {
        protected override IReadOnlyCollection<StructuralCurveMoment<CurveStructuralReferenceOnOpeningEdge>> CreateAnalysisObjects(AnalysisModel model)
        {
            StructuralSurfaceMemberOpening opening =
                model.OfType<StructuralSurfaceMemberOpening>().Single(item => item.Name == "O6");
            StructuralLoadCase loadCase = model.OfType<StructuralLoadCase>().Single(x => x.Name == "LC2");

            return new[]
            {
                new StructuralCurveMoment<CurveStructuralReferenceOnOpeningEdge>(
                    Guid.NewGuid(),
                    "LF6",
                    CurveForceAction.OnOpeningEdge,
                    TorquePerLength.FromKilonewtonMetersPerMeter(6),
                    loadCase,
                    new CurveStructuralReferenceOnOpeningEdge(
                        opening, 3))
                {
                    Type = ActionLoadType.HoarFrost,
                    Distribution = CurveDistribution.Trapezoidal,
                    Direction = MomentDirection.Mx,
                    CoordinateSystem = CoordinateSystem.Local,
                    Location = Location.Length,
                    CoordinateDefinition = CoordinateDefinition.Absolute,
                    Origin = Origin.FromStart,
                    Extent = ExtentOfForceOnBeam.Span,
                    StartPointAbsolute = Length.FromMeters(0.5),
                    EndPointAbsolute = Length.FromMeters(0.75),
                    StartPointRelative = null,
                    EndPointRelative = null,
                    Value2 = TorquePerLength.FromKilonewtonMetersPerMeter(3),
                    ParentId = null
                },
                new StructuralCurveMoment<CurveStructuralReferenceOnOpeningEdge>(
                    Guid.NewGuid(),
                    "LF7",
                    CurveForceAction.OnOpeningEdge,
                    TorquePerLength.FromKilonewtonMetersPerMeter(5), 
                    loadCase,
                    new CurveStructuralReferenceOnOpeningEdge(
                        opening,
                        0))
                {
                    Type = ActionLoadType.HoarFrost,
                    Distribution = CurveDistribution.Uniform,
                    Direction = MomentDirection.My,
                    Value2 = null,
                    LoadCase = loadCase,
                    CoordinateSystem = CoordinateSystem.Local,
                    Location = Location.Length,
                    CoordinateDefinition = CoordinateDefinition.Relative,
                    Origin = Origin.FromStart,
                    Extent = ExtentOfForceOnBeam.Span,
                    StartPointRelative = 0,
                    EndPointRelative = 1,
                    StartPointAbsolute = null,
                    EndPointAbsolute = null,
                    ParentId = null
                }
            };

        }
    }
}
Creating an instance acting on a subregion's edge
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.Curves;
using UnitsNet;

namespace ModelExchanger.AnalysisDataModel.Example.Loads
{
    public sealed class StructuralCurveMomentOnSubregionEdgeExample : BaseExample<StructuralCurveMoment<CurveStructuralReferenceOnSubregionEdge>>
    {
        protected override IReadOnlyCollection<StructuralCurveMoment<CurveStructuralReferenceOnSubregionEdge>> CreateAnalysisObjects(AnalysisModel model)
        {
            StructuralSurfaceMemberRegion region = model
                .OfType<StructuralSurfaceMemberRegion>()
                .Single(item => item.Name == "R4");
            StructuralLoadCase loadCase = model.OfType<StructuralLoadCase>().Single(x => x.Name == "LC2");

            return new[]
            {
                new StructuralCurveMoment<CurveStructuralReferenceOnSubregionEdge>(
                    Guid.NewGuid(),
                    "LF4",
                    CurveForceAction.OnSubregionEdge,
                    TorquePerLength.FromKilonewtonMetersPerMeter(5),
                    loadCase,
                    new CurveStructuralReferenceOnSubregionEdge(
                        region,
                        1))
                {
                    Type = ActionLoadType.HoarFrost,
                    Distribution = CurveDistribution.Trapezoidal,
                    Direction = MomentDirection.Mx,
                    Value2 = TorquePerLength.FromKilonewtonMetersPerMeter(2),
                    CoordinateSystem = CoordinateSystem.Local,
                    Location = Location.Length,
                    CoordinateDefinition = CoordinateDefinition.Relative,
                    Origin = Origin.FromStart,
                    Extent = ExtentOfForceOnBeam.Span,
                    StartPointRelative = 0,
                    EndPointRelative = 0.75,
                    StartPointAbsolute = null,
                    EndPointAbsolute = null,
                    ParentId = null
                },
                new StructuralCurveMoment<CurveStructuralReferenceOnSubregionEdge>(
                    Guid.NewGuid(),
                    "LF5",
                    CurveForceAction.OnSubregionEdge,
                    TorquePerLength.FromKilonewtonMetersPerMeter(4),
                    loadCase,
                    new CurveStructuralReferenceOnSubregionEdge(
                        region,
                        0))
                {
                    Type = ActionLoadType.HoarFrost,
                    Distribution = CurveDistribution.Uniform,
                    Direction = MomentDirection.My,
                    Value2 = null,
                    CoordinateSystem = CoordinateSystem.Local,
                    Location = Location.Length,
                    CoordinateDefinition = CoordinateDefinition.Relative,
                    Origin = Origin.FromEnd,
                    Extent = ExtentOfForceOnBeam.Span,
                    StartPointRelative = 0.5,
                    EndPointRelative = 0.75,
                    StartPointAbsolute = null,
                    EndPointAbsolute = null,
                    ParentId = null
                }
            };
        }
    }
}
See Also