Click or drag to resize

StructuralSurfaceConnection Class

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

Defines a connection between a StructuralSurfaceMember or StructuralSurfaceMemberRegion and a Subsoil
Inheritance Hierarchy
SystemObject
  ModelExchanger.AnalysisDataModel.BaseStructuralAnalysisObjectBase
    ModelExchanger.AnalysisDataModel.StructuralElementsStructuralSurfaceConnection

Namespace:  ModelExchanger.AnalysisDataModel.StructuralElements
Assembly:  ModelExchanger.AnalysisDataModel (in ModelExchanger.AnalysisDataModel.dll) Version: 1.13.0+Branch.master.Sha.d583fc64569355d188a9c0818d257b6d0d3e1339
Syntax
C#
public sealed class StructuralSurfaceConnection : StructuralAnalysisObjectBase, 
	IEquatable<StructuralSurfaceConnection>, IStructuralElementAnalysisObject, IStructuralAnalysisObject, IAnalysisObject, 
	IHasSubsoil, IHasParentId

The StructuralSurfaceConnection type exposes the following members.

Constructors
Properties
  NameDescription
Public propertyId
The ID of the Analysis object. Needs to be unique within the entire model
(Inherited from StructuralAnalysisObjectBase.)
Public propertyMember2D
The 2D member to which the connection is made
Public propertyMember2DRegion
The 2D member region to which the connection is made. The region should be linked with the same 2D member as the connection.
Public propertyName
The name of the Analysis object. Needs to be unique within it's type
(Inherited from StructuralAnalysisObjectBase.)
Public propertyParentId
The ID of the parent object of the same type
Public propertySubsoil
The subsoil
Top
Methods
Events
  NameDescription
Public eventPropertyChanged (Inherited from StructuralAnalysisObjectBase.)
Top
Extension Methods
  NameDescription
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.Models;
using ModelExchanger.AnalysisDataModel.StructuralElements;
using ModelExchanger.AnalysisDataModel.Subtypes;
using UnitsNet;

namespace ModelExchanger.AnalysisDataModel.Example.StructuralElements
{
    public sealed class StructuralSurfaceConnectionExample : BaseExample<StructuralSurfaceConnection>
    {
        protected override IReadOnlyCollection<StructuralSurfaceConnection> CreateAnalysisObjects(AnalysisModel model)
        {
            IReadOnlyDictionary<string, StructuralSurfaceMember> surfaces = model.OfType<StructuralSurfaceMember>().ToDictionary(x => x.Name, x => x);
            IReadOnlyDictionary<string, StructuralSurfaceMemberRegion> regions = model.OfType<StructuralSurfaceMemberRegion>().ToDictionary(x => x.Name, x => x);
            IReadOnlyDictionary<string, Subsoil> subsoils = CreateSubsoils();

            return new[]
            {
                new StructuralSurfaceConnection(Guid.NewGuid(), "SS1", surfaces["S6"], subsoils["Gravel"]),
                new StructuralSurfaceConnection(Guid.NewGuid(), "SS2", surfaces["S6"], regions["R3"], subsoils["Sand"]),
            };
        }

        #region Subsoils

        private IReadOnlyDictionary<string, Subsoil> CreateSubsoils()
        {
            return new Dictionary<string, Subsoil>()
            {
                { "Gravel", new Subsoil("Gravel",
                    SpecificWeight.FromMeganewtonsPerCubicMeter(120D), SpecificWeight.FromMeganewtonsPerCubicMeter(100D), SpecificWeight.FromMeganewtonsPerCubicMeter(160D),
                    ForcePerLength.FromMeganewtonsPerMeter(120D), ForcePerLength.FromMeganewtonsPerMeter(125D))
                {
                    Description = "Very silty / stiff",
                    C1Z = "Flexible"
                }},
                { "Sand",  new Subsoil("Sand",
                    SpecificWeight.FromMeganewtonsPerCubicMeter(100D), SpecificWeight.FromMeganewtonsPerCubicMeter(90D), SpecificWeight.FromMeganewtonsPerCubicMeter(80D),
                    ForcePerLength.FromMeganewtonsPerMeter(70D), ForcePerLength.FromMeganewtonsPerMeter(60D))
                {
                    Description = "Wet"
                }}
            };
        }

        #endregion
    }
}
See Also