Click or drag to resize

CurveStructuralReferenceOnEdge Class

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

Defines information about a line force on a StructuralCurveEdge or an edge, defined on a StructuralSurfaceMember.
Inheritance Hierarchy
SystemObject
  ModelExchanger.AnalysisDataModel.StructuralReferences.CurvesCurveStructuralReferenceOnEdge

Namespace:  ModelExchanger.AnalysisDataModel.StructuralReferences.Curves
Assembly:  ModelExchanger.AnalysisDataModel (in ModelExchanger.AnalysisDataModel.dll) Version: 1.13.0+Branch.master.Sha.d583fc64569355d188a9c0818d257b6d0d3e1339
Syntax
C#
public sealed class CurveStructuralReferenceOnEdge : ICurveStructuralReference, 
	IHasEdgeIndexOfStructuralSurfaceMember, IHasEdgeIndex, IEquatable<CurveStructuralReferenceOnEdge>

The CurveStructuralReferenceOnEdge type exposes the following members.

Constructors
  NameDescription
Public methodCurveStructuralReferenceOnEdge(StructuralSurfaceMember, StructuralCurveEdge)
Create information about a line force on the provided StructuralCurveEdge, belonging to the provided StructuralSurfaceMember
Public methodCurveStructuralReferenceOnEdge(StructuralSurfaceMember, Int32)
Create information about a line force on the provided StructuralSurfaceMember and its edge
Top
Properties
  NameDescription
Public propertyEdge
The edge index on which the line force is applied
Public propertyInternalEdge
The StructuralCurveEdge on which the line force is applied
Public propertyMember2D
The StructuralSurfaceMember to which the Edge or InternalEdge belongs
Top
Methods
  NameDescription
Public methodEquals(CurveStructuralReferenceOnEdge)
Indicates whether the current object is equal to another object of the same type.
Public methodEquals(Object)
Determines whether the specified object is equal to the current object.
(Overrides ObjectEquals(Object).)
Public methodGetHashCode
Serves as the default hash function.
(Overrides ObjectGetHashCode.)
Top
Examples
Creating an instance acting on an edge of a surface
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 StructuralCurveActionOnEdgeExample : BaseExample<StructuralCurveAction<CurveStructuralReferenceOnEdge>>
    {
        protected override IReadOnlyCollection<StructuralCurveAction<CurveStructuralReferenceOnEdge>> CreateAnalysisObjects(AnalysisModel model)
        {
            StructuralLoadCase loadCase = model.OfType<StructuralLoadCase>().Single(x => x.Name == "LC2");
            StructuralSurfaceMember surface = model.OfType<StructuralSurfaceMember>().Single(x => x.Name == "S8");
            StructuralCurveEdge internalEdge1 = model.OfType<StructuralCurveEdge>().Single(x => x.Name == "ES1");
            StructuralCurveEdge internalEdge2 = model.OfType<StructuralCurveEdge>().Single(x => x.Name == "ES2");

            return new[]
            {
                CreateStructuralCurveActionOnEdge("LFS1", loadCase, surface, 3, CoordinateDefinition.Relative, 0, 1),
                CreateStructuralCurveActionOnEdge("LFS2", loadCase, surface, 1, CoordinateDefinition.Relative, 0, 1),
                CreateStructuralCurveActionOnEdge("LFS3", loadCase, surface, 2, CoordinateDefinition.Absolute, 0, 2.5D),

                new StructuralCurveAction<CurveStructuralReferenceOnEdge>(Guid.NewGuid(), "LFS4", CurveForceAction.OnEdge, ForcePerLength.FromKilonewtonsPerMeter(-3), loadCase, new CurveStructuralReferenceOnEdge(surface, internalEdge1))
                {
                    Direction = ActionDirection.Z,
                    CoordinateSystem = CoordinateSystem.Local,
                    CoordinateDefinition = CoordinateDefinition.Absolute,
                    StartPointRelative = null,
                    EndPointRelative = null,
                    StartPointAbsolute = Length.Zero,
                    EndPointAbsolute = Length.FromMeters(2.5D),
                    Value2 = ForcePerLength.Zero,
                    Distribution = CurveDistribution.Trapezoidal
                },
                new StructuralCurveAction<CurveStructuralReferenceOnEdge>(Guid.NewGuid(), "LFS5", CurveForceAction.OnEdge, ForcePerLength.FromKilonewtonsPerMeter(-3), loadCase, new CurveStructuralReferenceOnEdge(surface, internalEdge2))
                {
                    Direction = ActionDirection.Z,
                    CoordinateSystem = CoordinateSystem.Local,
                    CoordinateDefinition = CoordinateDefinition.Absolute,
                    StartPointRelative = null,
                    EndPointRelative = null,
                    StartPointAbsolute = Length.Zero,
                    EndPointAbsolute = Length.FromMeters(2.5D),
                    Value2 = ForcePerLength.Zero,
                    Distribution = CurveDistribution.Trapezoidal
                }
            };
        }

        private StructuralCurveAction<CurveStructuralReferenceOnEdge> CreateStructuralCurveActionOnEdge(string name, StructuralLoadCase loadCase, StructuralSurfaceMember surface, int edgeIndex, CoordinateDefinition coordinateDefinition, double from, double to)
        =>
            new StructuralCurveAction<CurveStructuralReferenceOnEdge>(Guid.NewGuid(), name, CurveForceAction.OnEdge, ForcePerLength.FromKilonewtonsPerMeter(-3), loadCase, new CurveStructuralReferenceOnEdge(surface, edgeIndex))
            {
                Direction = ActionDirection.Z,
                CoordinateDefinition = coordinateDefinition,
                CoordinateSystem = CoordinateSystem.Local,
                StartPointRelative = coordinateDefinition == CoordinateDefinition.Relative ? from : (double?)null,
                StartPointAbsolute = coordinateDefinition == CoordinateDefinition.Absolute ? Length.FromMeters(from) : (Length?)null,
                EndPointRelative = coordinateDefinition == CoordinateDefinition.Relative ? to : (double?)null,
                EndPointAbsolute = coordinateDefinition == CoordinateDefinition.Absolute ? Length.FromMeters(to) : (Length?)null
            };
    }
}
See Also