Click or drag to resize

StructuralEdgeConnection Class

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

Defines a line support on a 2D member (StructuralSurfaceMember) edge. The support can be defined along the entire length of an edge or on its part only. The support is defined by six independent parameters: Each parameter defines the constraint in one direction: translation in X, Y, Z axis and rotation around the same axes.
Inheritance Hierarchy
SystemObject
  ModelExchanger.AnalysisDataModel.BaseStructuralAnalysisObjectBase
    ModelExchanger.AnalysisDataModel.StructuralElementsStructuralEdgeConnection

Namespace:  ModelExchanger.AnalysisDataModel.StructuralElements
Assembly:  ModelExchanger.AnalysisDataModel (in ModelExchanger.AnalysisDataModel.dll) Version: 1.13.0+Branch.master.Sha.d583fc64569355d188a9c0818d257b6d0d3e1339
Syntax
C#
public sealed class StructuralEdgeConnection : StructuralAnalysisObjectBase, 
	IEquatable<StructuralEdgeConnection>, IHasBoundaryNodeCondition<Pressure?, RotationalStiffnessPerLength?>, 
	IHasBoundaryNodeConditionBase, IHasTranslationConstraints<Pressure?>, IHasTranslationConstraintsBase<Constraint<Pressure?>>, 
	IHasRotationalConstraints<RotationalStiffnessPerLength?>, IHasRotationalConstraintsBase<Constraint<RotationalStiffnessPerLength?>>, 
	IStructuralElementAnalysisObject, IStructuralAnalysisObject, IAnalysisObject, IHasCoordinateDefinition, IHasEdgeIndexOfStructuralSurfaceMember, 
	IHasEdgeIndex, IHasParentId

The StructuralEdgeConnection type exposes the following members.

Constructors
Properties
  NameDescription
Public propertyBoundaryCondition
Specifies on which type of object the force acts
Public propertyCoordinateDefinition
Specifies the coordinate system that is used to define the length.
Public propertyCoordinateSystem
Defines the coordinate system of the member in which the support is applied
Public propertyEdge
The 0-based index of the edge
Public propertyEndPointAbsolute
Defines the position of the end point in absolute coordinates
Public propertyEndPointRelative
Defines the position of the end point in relative coordinates
Public propertyId
The ID of the Analysis object. Needs to be unique within the entire model
(Inherited from StructuralAnalysisObjectBase.)
Public propertyMember2D
The StructuralSurfaceMember to which this structural edge connection is connected
Public propertyMember2DOpening
The StructuralSurfaceMemberOpening to which this structural edge connection is connected
Public propertyMember2DRegion
The to which this structural edge connection is connected
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
Public propertyParentId
The ID of the parent object of the same type
Public propertyRotationX
Rotational stiffness & the flexibility in rotation of the connection around local X axis
Public propertyRotationY
Rotational stiffness & the flexibility in rotation of the connection around local Y axis
Public propertyRotationZ
Rotational stiffness & the flexibility in rotation of the connection around local Z axis
Public propertyStartPointAbsolute
Defines the position of the start point in absolute coordinates
Public propertyStartPointRelative
Defines the position of the start point in relative coordinates
Public propertyTranslationX
Translation & flexibility of the connection in the X direction;
Public propertyTranslationY
Translation & flexibility of the connection in the Y direction;
Public propertyTranslationZ
Translation & flexibility of the connection in the Z direction;
Public propertyType
The way the support acts in individual directions The value is determined by looking at the constraints.
Top
Methods
  NameDescription
Public methodEquals(Object)
Check if this object is the same as the provided object.
(Overrides StructuralAnalysisObjectBaseEquals(Object).)
Public methodEquals(StructuralAnalysisObjectBase)
Check if this object is the same as the provided object.
(Inherited from StructuralAnalysisObjectBase.)
Public methodEquals(StructuralEdgeConnection)
Indicates whether the current object is equal to another object of the same type.
Public methodGetHashCode
Retrieves the hashcode of the object
(Overrides StructuralAnalysisObjectBaseGetHashCode.)
Top
Events
  NameDescription
Public eventPropertyChanged (Inherited from StructuralAnalysisObjectBase.)
Top
Extension Methods
  NameDescription
Public Extension MethodGetRotationConstraintsNullableRotationalStiffnessPerLength (Defined by ConstraintExtensions.)
Public Extension MethodGetTranslationConstraintsNullablePressure (Defined by ConstraintExtensions.)
Public Extension MethodToObjectIdentifier
Converts the provided IAnalysisObject into an AnalysisObjectIdentifier
(Defined by IAnalysisObjectExtensions.)
Top
Examples
Creating an instance
using System;
using System.Collections.Generic;
using System.Linq;
using ModelExchanger.AnalysisDataModel.Enums;
using ModelExchanger.AnalysisDataModel.Models;
using ModelExchanger.AnalysisDataModel.StructuralElements;
using ModelExchanger.AnalysisDataModel.Subtypes;
using UnitsNet;

namespace ModelExchanger.AnalysisDataModel.Example.StructuralElements
{
    public sealed class StructuralEdgeConnectionExample : BaseExample<StructuralEdgeConnection>
    {
        protected override IReadOnlyCollection<StructuralEdgeConnection> CreateAnalysisObjects(AnalysisModel model)
        {
            IReadOnlyDictionary<string, StructuralSurfaceMember> surfaces = model.OfType<StructuralSurfaceMember>().ToDictionary(x => x.Name, x => x);
            IReadOnlyDictionary<string, StructuralSurfaceMemberOpening> openings =
                model.OfType<StructuralSurfaceMemberOpening>().ToDictionary(opening => opening.Name);
            IReadOnlyDictionary<string, StructuralSurfaceMemberRegion> subregions =
                model.OfType<StructuralSurfaceMemberRegion>().ToDictionary(region => region.Name);

            return new[]
            {
                new StructuralEdgeConnection(Guid.NewGuid(), "Sle1", surfaces["S9"], 0)
                {
                    RotationX = new Constraint<RotationalStiffnessPerLength?>(ConstraintType.Free, null)
                },
                new StructuralEdgeConnection(Guid.NewGuid(), "Sle2", surfaces["S10"], 0)
                {
                    RotationX = new Constraint<RotationalStiffnessPerLength?>(ConstraintType.Free, null),
                    RotationY = new Constraint<RotationalStiffnessPerLength?>(ConstraintType.Free, null),
                    RotationZ = new Constraint<RotationalStiffnessPerLength?>(ConstraintType.Free, null)
                },
                new StructuralEdgeConnection(Guid.NewGuid(), "Sle3", subregions["R4"], 3)
                {
                    CoordinateSystem = CoordinateSystem.Global,
                    CoordinateDefinition = CoordinateDefinition.Relative,
                    Origin =  Origin.FromEnd,
                    StartPointRelative = 0,
                    EndPointRelative = 1,
                    StartPointAbsolute = null,
                    EndPointAbsolute = null
                },
                new StructuralEdgeConnection(Guid.NewGuid(), "Sle4", subregions["R1"],1)
                {
                    TranslationZ = new Constraint<Pressure?>(ConstraintType.Flexible, Pressure.FromMeganewtonsPerSquareMeter(10)),
                    CoordinateSystem = CoordinateSystem.Local,
                    CoordinateDefinition = CoordinateDefinition.Absolute,
                    Origin =  Origin.FromStart,
                    StartPointAbsolute = Length.Zero,
                    EndPointAbsolute = Length.FromMeters(0.75),
                    EndPointRelative = null,
                    StartPointRelative = null,
                },
                new StructuralEdgeConnection(Guid.NewGuid(), "Sle5", openings["O6"], 3)
                {
                    TranslationY = new Constraint<Pressure?>(ConstraintType.Free, null),
                    RotationX = new Constraint<RotationalStiffnessPerLength?>(ConstraintType.Free, null),
                    RotationY = new Constraint<RotationalStiffnessPerLength?>(ConstraintType.Free, null),
                    RotationZ = new Constraint<RotationalStiffnessPerLength?>(ConstraintType.Free, null),
                    CoordinateSystem = CoordinateSystem.Global,
                    CoordinateDefinition = CoordinateDefinition.Absolute,
                    Origin = Origin.FromStart,
                    StartPointAbsolute = Length.FromMeters(0.1),
                    EndPointAbsolute = Length.FromMeters(0.25),
                    EndPointRelative = null,
                    StartPointRelative = null
                },
                new StructuralEdgeConnection(Guid.NewGuid(), "Sle6", openings["O6"], 3)
                {
                    TranslationX = new Constraint<Pressure?>(ConstraintType.Free, null),
                    TranslationY = new Constraint<Pressure?>(ConstraintType.Free, null),
                    RotationX = new Constraint<RotationalStiffnessPerLength?>(ConstraintType.Free, null),
                    RotationY = new Constraint<RotationalStiffnessPerLength?>(ConstraintType.Free, null),
                    RotationZ = new Constraint<RotationalStiffnessPerLength?>(ConstraintType.Free, null),
                    CoordinateSystem = CoordinateSystem.Local,
                    CoordinateDefinition = CoordinateDefinition.Absolute,
                    Origin = Origin.FromEnd,
                    StartPointAbsolute = Length.FromMeters(0.15),
                    EndPointAbsolute = Length.FromMeters(0.3),
                    EndPointRelative = null,
                    StartPointRelative =  null
                }
            };
        }
    }
}
See Also