BH.oM.Structure.SurfaceProperties.SlabOnDeck¶
Property for 2D analytical elements representing a slab on a corrugated deck. Generally used to represent concrete on metal deck.
Class structure¶
Implemented interfaces and base types¶
The SlabOnDeck 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.SurfaceProperties.ISurfaceProperty
- BH.oM.Structure.IProperty
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. | - |
Material | IMaterialFragment | The primary material for the SurfaceProperty, representing the material above the corrugated deck, generally concrete. | - |
DeckMaterial | IMaterialFragment | The secondary material for the SurfaceProperty, representing the corrugated deck, generally steel. | - |
SlabThickness | double | The thickness of slab above the top flute of the deck ribs. | Length [m] |
Direction | PanelDirection | Specifies if the ribs are running in local x or y direction. | - |
DeckName | string | The name of the deck used; especially important if it is a specific manufactured product. | - |
DeckHeight | double | Nominal height of the metal deck, from top flute to bottom flute. | Length [m] |
DeckSpacing | double | Centre-centre distance between the ribs. Measured perpendicular to the rib direction. If this length is greater than the sum of BottomWidth and TopWidth, the deck is trapezoidal. If lesser, the deck has a dovetail shape. | Length [m] |
DeckBottomWidth | double | Width of bottom flute. | Length [m] |
DeckTopWidth | double | Width of the top flute. | Length [m] |
DeckThickness | double | Thickness of the decking stock. This is generally very small compared to the total thickness of the slab | Length [m] |
DeckVolumeFactor | double | The ratio between the actual volume of deck material in a given panel and the value calculated as DeckThickness * area of the panel. | - |
PanelType | PanelType | Defines what type of element this property will be used. Used by some analysis packages. | - |
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 |
---|---|---|---|---|
Construction | Construction | Creates a physical Construction from a structural ISurfaceProperty. Extracts the Structural MaterialFragment and creates a physical material with the same name. | - | Structure_Engine |
Description | string | Generates a default description for the SurfaceProperty as 'Thickness of MaterialName on DeckName DeckMaterialName corrugated deck with height and thickness'. | - | Structure_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 SurfaceProperty 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 |
IConstruction | Construction | Creates a physical Construction from a structural ISurfaceProperty. Extracts the Structural MaterialFragment and creates a physical material with the same name. | - | Structure_Engine |
IDescription | string | Generates a default description for the IProperty, based on its properties. | - | Structure_Engine |
IDescription | string | Generates a default description for the SurfaceProperty, based on type, dimensions and material. | - | Structure_Engine |
IMassPerArea | double | Calculates the mass per area for the property. | MassPerUnitArea [kg/m²] | Structure_Engine |
IMaterialComposition | MaterialComposition | Returns a SurfaceProperty's MaterialComposition. | - | Structure_Engine |
InvalidSurfaceProperty | bool | - | - | Lusas_Engine |
IsNull | bool | Checks if a SurfaceProperty is null and outputs relevant error message. | - | Structure_Engine |
ITotalThickness | double | Gets the total thickness of the surface property. | Length [m] | Structure_Engine |
IVolumePerArea | double | Gets the volume per area of the property for the purpose of calculating solid volume. | Length [m] | Structure_Engine |
MassPerArea | double | Calculates the mass per area for the property as the sum of the masses of the slab and the deck. | MassPerUnitArea [kg/m²] | Structure_Engine |
MaterialComposition | MaterialComposition | Returns a SurfaceProperty's MaterialComposition. | - | Structure_Engine |
Modifiers | double[] | Gets any modifiers from a property as an array of doubles. The modifiers are used to scale one or more of the property 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: FXX, FXY, FYY, MXX, MXY, MYY, VXZ, VYZ, Mass, Weight. Method returns null if no modifiers are found. |
- | Structure_Engine |
TotalThickness | double | Gets the total thickness of the surface property. | Length [m] | Structure_Engine |
VolumePerArea | double | Gets the volume per area of the property for the purpose of calculating solid volume. | Length [m] | Structure_Engine |
Code and Schema¶
C# implementation¶
C#
public class SlabOnDeck : BH.oM.Base.BHoMObject,
BH.oM.Base.IBHoMObject,
BH.oM.Base.IObject,
BH.oM.Structure.SurfaceProperties.ISurfaceProperty,
BH.oM.Structure.IProperty
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/SurfaceProperties/SlabOnDeck.json"
}
The JSON Schema is available on github here: