BH.oM.Structure.SectionProperties.CompositeSection¶
A steel-concrete composite section to be used on bars. Defined by a steel and a concrete section. Not yet fully implemented/Supported.
Class structure¶
Implemented interfaces and base types¶
The CompositeSection is inheriting from the following base type(s) and implements the following interfaces:
- BH.oM.Base.BHoMObject
- BH.oM.Base.IBHoMObject
- BH.oM.Base.IObject
- BH.oM.Structure.SectionProperties.ISectionProperty
- BH.oM.Structure.IProperty
- BH.oM.Base.IImmutable
Properties¶
Defining properties¶
The following properties are defined on the class
| Name | Type | Description | Quantity |
|---|---|---|---|
| Name | string | A unique Name is required for some structural packages to create and identify the object. | - |
| SteelSection | SteelSection | - | - |
| ConcreteSection | ConcreteSection | - | - |
| SteelEmbedmentDepth | double | - | - |
| StudDiameter | double | - | - |
| StudHeight | double | - | - |
| StudSpacing | double | - | - |
| StudsPerGroup | int | - | - |
| Material | IMaterialFragment | - | - |
| Area | double | Gross Area of the cross section. | Area [m²] |
| Rgy | double | Radius of Gyration about the local Y-Axis. | Length [m] |
| Rgz | double | Radius of Gyration about the local Z-Axis. | Length [m] |
| J | double | Torsion Constant. | TorsionConstant [m⁴] |
| Iy | double | Moment of Inertia about the local Y-Axis. | SecondMomentOfArea [m⁴] |
| Iz | double | Moment of Inertia about the local Z-Axis. | SecondMomentOfArea [m⁴] |
| Iw | double | Warping Constant. | WarpingConstant [m⁶] |
| Wely | double | Elastic Modulus of the section about the local Y-Axis. | SectionModulus [m³] |
| Welz | double | Elastic Modulus of the section about the local Z-Axis. | SectionModulus [m³] |
| Wply | double | Plastic Modulus of the section about the local Y-Axis. | SectionModulus [m³] |
| Wplz | double | Plastic Modulus of the section about the local Z-Axis. | SectionModulus [m³] |
| CentreZ | double | Geometric centre of the section in the local Z direction. | Length [m] |
| CentreY | double | Geometric centre of the section in the local Y direction. | Length [m] |
| Vz | double | Z distance from the centroid of the section to top edge of the section. | Length [m] |
| Vpz | double | Z distance from the centroid of the section to bottom edge of the section. | Length [m] |
| Vy | double | Y distance from the centroid of the section to right edge of the section. | Length [m] |
| Vpy | double | Y distance from the centroid of the section to Left edge of the section. | Length [m] |
| Asy | double | Shear Area in the local Y direction. | Area [m²] |
| Asz | double | Shear Area in the local Z direction. | Area [m²] |
Inherited properties¶
The following properties are inherited from the base class of the object
| Name | Type | Description | Quantity |
|---|---|---|---|
| BHoM_Guid | Guid | - | - |
| 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 |
|---|---|---|---|---|
| DescriptionOrName | string | Gets the name from a IProperty. If null or empty, a default description name is provided instead. | - | Structure_Engine |
| HasModifiers | bool | Checks if a SectionProperty has any modifiers by first checking if any modifiers has been assigned, and if any of them are set to a value different than 1. | - | Structure_Engine |
| IDescription | string | Generates a default description for the SectionProperty, based on type, profile and material. | - | Structure_Engine |
| IDescription | string | Generates a default description for the IProperty, based on its properties. | - | Structure_Engine |
| IGeometry | IGeometry | Gets the geometry of a SectionProperty, generally as its profile outlines the global XY plane. Method required for automatic display in UI packages. | - | Structure_Engine |
| IMassPerMetre | double | Calculates the mass per length for the section, generally as its area mulitplied by the density. General dispatch method that calls the correct method based on type. | MassPerUnitLength [kg/m] | Structure_Engine |
| IMaterialComposition | MaterialComposition | Returns a SectionProperty's MaterialComposition. | - | Structure_Engine |
| InvalidSectionProfile | bool | - | - | Lusas_Engine |
| InvalidSectionProperty | bool | - | - | Lusas_Engine |
| IsNull | bool | Checks if a SectionProperty is null and outputs relevant error message. | - | Structure_Engine |
| IVolumePerLength | double | Calculates the volume per length for the section, generally as its area mulitplied by the density. General dispatch method that calls the correct method based on type. | MassPerUnitLength [kg/m] | Structure_Engine |
| MassPerMetre | double | Calculates the mass per length for the section the mass per metre of the concrete section + the mass per metre of the steel section. Does not take any reinforcement into acount. | MassPerUnitLength [kg/m] | Structure_Engine |
| Modifiers | double[] | Gets any modifiers from a section as an array of doubles. The modifiers are used to scale one or more of the section constants for analysis. Constants are multiplied with the modifiers, hence a modifier value of 1 means no change. The values returned are in the following order: Area, Iy, Iz, J, Asy, Asz. Method returns null if no modifiers are found. |
- | Structure_Engine |
| VolumePerLength | double | Calculates the volume per length for the section the volume per metre of the concrete section + the volume per metre of the steel section. | MassPerUnitLength [kg/m] | Structure_Engine |
Code and Schema¶
C# implementation¶
C#
public class CompositeSection : BH.oM.Base.BHoMObject,
BH.oM.Base.IBHoMObject,
BH.oM.Base.IObject,
BH.oM.Structure.SectionProperties.ISectionProperty,
BH.oM.Structure.IProperty,
BH.oM.Base.IImmutable
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/SectionProperties/CompositeSection.json"
}
The JSON Schema is available on github here: