Skip to content

BH.oM.Structure.Loads.BarVaryingDistributedLoad

Varying distributed load for bar elements. Can be used to apply force and/or moments.

Class structure

Implemented interfaces and base types

The BarVaryingDistributedLoad is inheriting from the following base type(s) and implements the following interfaces:

Properties

Defining properties

The following properties are defined on the class

Name Type Description Quantity
StartPosition double Distance along the bar between the start node and the start of the loaded region.
If RelativePositions is true, this value will be a normalised length where 0 means start and 1 means end, which means this value needs to be within this range.
If RelativePositions is false, this value will be in absolute distances.
-
ForceAtStart Vector Direction and magnitude of the force at the start of the loaded region. ForcePerUnitLength [N/m]
MomentAtStart Vector Direction and magnitude of the moment at the start of the loaded region. MomentPerUnitLength [N.m/m]
EndPosition double Distance along the bar between the start node and the end of the loaded region.
If RelativePositions is true, this value will be a normalised length where 0 means start and 1 means end, which means this value needs to be within this range.
If RelativePositions is false, this value will be in absolute distances.
-
ForceAtEnd Vector Direction and magnitude of the force at the end of the loaded region. ForcePerUnitLength [N/m]
MomentAtEnd Vector Direction and magnitude of the moment at the end of the loaded region. MomentPerUnitLength [N.m/m]
Loadcase Loadcase The Loadcase in which the load is applied. -
Objects BHoMGroup<Bar> The group of Bars that the load should be applied to. For most analysis packages the objects added here need to be pulled from the analysis package before being assigned to the load. -
Axis LoadAxis Defines whether the load is applied in local or global coordinates. -
Projected bool If true the load is projected to the element. This means that the load will be reduced when its direction is at an angle to the element. -
RelativePositions bool If true, the StartPosition and EndPosition will be normalised lengths where 0 means start and 1 means end.
If false, the StartPosition and EndPosition will be absolute distances.
-

Inherited properties

The following properties are inherited from the base class of the object

Name Type Description Quantity
BHoM_Guid Guid - -
Name string - -
Fragments FragmentSet - -
Tags HashSet<string> - -
CustomData Dictionary<string, object> - -

Derived properties

The following properties are defined as extension methods in one of the BHoM_Engines

Name Type Description Quantity Engine
IsNull bool Checks if a Load is null and outputs relevant error message. - Structure_Engine
IVisualize IEnumerable<IGeometry> Draws arrows representing the load. Visualisation will depend on the load type. - Structure_Engine
Visualize List<ICurve> Draws arrows representing the Bar load over the length of the Bar elements in the load. - Structure_Engine

Code and Schema

C# implementation

C#
public class BarVaryingDistributedLoad : BH.oM.Base.BHoMObject,
BH.oM.Base.IBHoMObject,
BH.oM.Base.IObject,
BH.oM.Structure.Loads.IElementLoad<BH.oM.Structure.Elements.Bar>,
BH.oM.Structure.Loads.ILoad

Assembly: Structure_oM.dll

The C# class definition is available on github:

All history and changes of the class can be found by inspection the history.

JSON Schema implementation

The object is defined as a JSON schema. You can validate a JSON instance against this schema by reference. To do this, use the schema reference below in a validator like this one.

JSON Schema
{
 "$ref" : "https://raw.githubusercontent.com/BHoM/BHoM_JSONSchema/develop/Structure_oM/Loads/BarVaryingDistributedLoad.json"
}

The JSON Schema is available on github here: