Skip to content

BH.oM.Structure.SectionProperties.ConcreteSection

Concrete section to be used on Bars. Defined by a section profile. Note that all section constants are assuming an uncracked section and are disregarding reinforcement.

Class structure

Implemented interfaces and base types

The ConcreteSection 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
Name string A unique Name is required for some structural packages to create and identify the object. -
RebarIntent BarRebarIntent RebarIntent for the Bar containing a list of BarReinforcement. -
Material IMaterialFragment Concrete material used throughout the full section. -
SectionProfile IProfile Profile of the section, containing dimensions and section geometry. -
Area double Gross Area of the cross section
Uncracked section disregarding the reinforcement.
Area [m²]
Rgy double Radius of Gyration about the local Y-Axis
Uncracked section disregarding the reinforcement.
Length [m]
Rgz double Radius of Gyration about the local Z-Axis
Uncracked section disregarding the reinforcement.
Length [m]
J double Torsion Constant
Uncracked section disregarding the reinforcement.
TorsionConstant [m⁴]
Iy double Moment of Inertia about the local Y-Axis
Uncracked section disregarding the reinforcement.
SecondMomentOfArea [m⁴]
Iz double Moment of Inertia about the local Z-Axis
Uncracked section disregarding the reinforcement.
SecondMomentOfArea [m⁴]
Iw double Warping Constant
Uncracked section disregarding the reinforcement.
WarpingConstant [m⁶]
Wely double Elastic Modulus of the section about the local Y-Axis
Uncracked section disregarding the reinforcement.
SectionModulus [m³]
Welz double Elastic Modulus of the section about the local Z-Axis
Uncracked section disregarding the reinforcement.
SectionModulus [m³]
Wply double Plastic Modulus of the section about the local Y-Axis
Uncracked section disregarding the reinforcement.
SectionModulus [m³]
Wplz double Plastic Modulus of the section about the local Z-Axis
Uncracked section disregarding the reinforcement.
SectionModulus [m³]
CentreZ double Geometric centre of the section in the local Z direction
Uncracked section disregarding the reinforcement.
Length [m]
CentreY double Geometric centre of the section in the local Y direction
Uncracked section disregarding the reinforcement.
Length [m]
Vz double Z distance from the centroid of the section to top edge of the section
Uncracked section disregarding the reinforcement.
Length [m]
Vpz double Z distance from the centroid of the section to bottom edge of the section
Uncracked section disregarding the reinforcement.
Length [m]
Vy double Y distance from the centroid of the section to right edge of the section
Uncracked section disregarding the reinforcement.
Length [m]
Vpy double Y distance from the centroid of the section to Left edge of the section
Uncracked section disregarding the reinforcement.
Length [m]
Asy double Shear Area in the local Y direction
Uncracked section disregarding the reinforcement.
Length [m]
Asz double Shear Area in the local Z direction
Uncracked section disregarding the reinforcement.
Length [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
Description string Generates a default description for the Section as 'Concrete ProfileDescription - MaterialName'. - Structure_Engine
DescriptionOrName string Gets the name from a IProperty. If null or empty, a default description name is provided instead. - Structure_Engine
Geometry IGeometry Gets the geometry of a GeometricalSection as its profile outlines the global XY plane. Method required for automatic display in UI packages. - 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
HasReinforcement bool Returns true if the ConcreteSection has BarRebarIntent defined with at least one IBarReinforcement in it. False if the ConcreteSection or BarRebarIntent is null or the IBarReinforcement count is zero. - 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
LongitudinalReinforcementLayout List<Point> Gets the LongitudinalReinforcement positions in the ConcreteSection as a list of Points. - Structure_Engine
MassPerMetre double Calculates the mass per length for the section as its area times density. Does not take any reinforcement into acount. MassPerUnitLength [kg/m] Structure_Engine
MaterialComposition MaterialComposition Returns a ConcreteSection's MaterialComposition, taking into account any LongitudinalReinforcement. - 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
ReinforcementLayout List<IGeometry> Gets the IBarReinforcement positions in the ConcreteSection as a list of points (centers) and curves (centerlines). - Structure_Engine
ReinforcementTransitionPoints List<double> Returns a list of the normalised locations (0 means start, 1 means end) in the cross section where the reinforcement changes. If section is null or does not contain any reinforcement, an empty list will be returned. - Structure_Engine
TransverseReinforcementLayout List<ICurve> Gets the TransverseReinforcement positions in the ConcreteSection as a list of Curves (centerlines). - Structure_Engine

Code and Schema

C# implementation

C#
public class ConcreteSection : BH.oM.Base.BHoMObject,
BH.oM.Base.IBHoMObject,
BH.oM.Base.IObject,
BH.oM.Structure.SectionProperties.IGeometricalSection,
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/ConcreteSection.json"
}

The JSON Schema is available on github here: