CurveStructuralReferenceOnEdge Class |
[This is preliminary documentation and is subject to change.]
Namespace: ModelExchanger.AnalysisDataModel.StructuralReferences.Curves
public sealed class CurveStructuralReferenceOnEdge : ICurveStructuralReference, IHasEdgeIndexOfStructuralSurfaceMember, IHasEdgeIndex, IEquatable<CurveStructuralReferenceOnEdge>
The CurveStructuralReferenceOnEdge type exposes the following members.
Name | Description | |
---|---|---|
CurveStructuralReferenceOnEdge(StructuralSurfaceMember, StructuralCurveEdge) |
Create information about a line force on the provided StructuralCurveEdge, belonging to the provided StructuralSurfaceMember | |
CurveStructuralReferenceOnEdge(StructuralSurfaceMember, Int32) |
Create information about a line force on the provided StructuralSurfaceMember and its edge
|
Name | Description | |
---|---|---|
Edge |
The edge index on which the line force is applied
| |
InternalEdge |
The StructuralCurveEdge on which the line force is applied
| |
Member2D |
Name | Description | |
---|---|---|
Equals(CurveStructuralReferenceOnEdge) | Indicates whether the current object is equal to another object of the same type. | |
Equals(Object) | Determines whether the specified object is equal to the current object. (Overrides ObjectEquals(Object).) | |
GetHashCode | Serves as the default hash function. (Overrides ObjectGetHashCode.) |
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 }; } }