Click or drag to resize

StructuralSurfaceActionFree Class

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

Defines a free surface load. The free surface load is not defined by the entity it acts on, but by a specific load area. Free surface loads are defined by means of "loading entities" that may overlap or affect one or more 2D members.
Inheritance Hierarchy
SystemObject
  ModelExchanger.AnalysisDataModel.BaseStructuralAnalysisObjectBase
    ModelExchanger.AnalysisDataModel.LoadsStructuralSurfaceActionFree

Namespace:  ModelExchanger.AnalysisDataModel.Loads
Assembly:  ModelExchanger.AnalysisDataModel (in ModelExchanger.AnalysisDataModel.dll) Version: 1.13.0+Branch.master.Sha.d583fc64569355d188a9c0818d257b6d0d3e1339
Syntax
C#
public sealed class StructuralSurfaceActionFree : StructuralAnalysisObjectBase, 
	ILoadAnalysisObject, IStructuralAnalysisObject, IAnalysisObject, IEquatable<StructuralSurfaceActionFree>

The StructuralSurfaceActionFree type exposes the following members.

Constructors
  NameDescription
Public methodStructuralSurfaceActionFree
Create a free surface load
Top
Properties
  NameDescription
Public propertyCoordinateSystem
Defines co-ordinate system of the member in which the load is applied
Public propertyCurves
Load shape
Public propertyDirection
Defines validation type
Public propertyId
The ID of the Analysis object. Needs to be unique within the entire model
(Inherited from StructuralAnalysisObjectBase.)
Public propertyLoadCase
Load case to which the force belongs
Public propertyLoadDefinition
The Free surface load is related to slabs. The load is not defined by the entity it acts on, but by a specific load border. Free loads are defined by means of "loading entities" that may overlap or affect one or more slabs.
Public propertyLocation
Defines location type
Public propertyName
The name of the Analysis object. Needs to be unique within it's type
(Inherited from StructuralAnalysisObjectBase.)
Public propertyType
This property defines what the load is caused by, E.g. Standard, Wind, Snow, Self weight, Hoar Frost, Predefined, Plane Load, Water Pond, Water Pressure, Soil Pressure, Generated Water, Generated Soil
Public propertyValidity
Defines validation type
Public propertyValidityFrom
Defines validity from
Public propertyValidityTo
Defines validity to
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(StructuralSurfaceActionFree)
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 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.Loads;
using ModelExchanger.AnalysisDataModel.Models;
using ModelExchanger.AnalysisDataModel.Subtypes;
using ModelExchanger.AnalysisDataModel.Subtypes.Load;
using UnitsNet;

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

            return new[]
            {
                new StructuralSurfaceActionFree(Guid.NewGuid(), "SFF1", loadCase, new[]
                    {
                        CreateLineCurve(1, (2, 17, 5), (2, 14, 5)),
                        CreateLineCurve(2, (2, 14, 5), (8, 14, 0)),
                        CreateLineCurve(3, (8, 14, 0), (8, 17, 0)),
                        CreateLineCurve(4, (8, 17, 0), (2, 17, 5))
                    },
                    new StructuralSurfaceActionFreeLoadUniform(Pressure.FromKilonewtonsPerSquareMeter(-1D)))
                {
                    Direction = ActionDirection.Z,
                    Validity = Validity.ZIsZero,
                    Location = Location.Projection
                },
            };
        }

        private Curve<Coordinate> CreateLineCurve(int curve,
            (double x, double y, double z) start,
            (double x, double y, double z) end)
            => new Curve<Coordinate>(CurveGeometricalShape.Line, new []
            {
                new Coordinate($"C{curve}_Start", Length.FromMeters(start.x), Length.FromMeters(start.y), Length.FromMeters(start.z)),
                new Coordinate($"C{curve}_End", Length.FromMeters(end.x), Length.FromMeters(end.y), Length.FromMeters(end.z))
            });
    }
}
See Also