Skip to content

BH.oM.Structure.MaterialFragments.Concrete

Structural concrete material to be used on structural elements and properties or as a fragment of the physical material.

Class structure

Implemented interfaces and base types

The Concrete 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. -
Density double - Density [kg/m³]
DampingRatio double Dynamic damping ratio, expressed as a ratio between actual damping and critical damping. For structures, typically taken as 0.02 (i.e. 2%). Ratio [-]
PoissonsRatio double Ratio between axial and transverse strain. Used together with YoungsModulus to derive the ShearModulus for isotropic materials. Ratio [-]
ThermalExpansionCoeff double The strain induced in the material per unit change of temperature. ThermalExpansionCoefficient [1/K]
YoungsModulus double Modulus of elasticity of the material. Ratio between axial stress and axial strain. YoungsModulus [Pa]
CylinderStrength double Compressive stress capacity of the concrete from cylinder testing. Stress [Pa]
CubeStrength double Compressive stress capacity of the concrete from cube testing. Stress [Pa]

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 material based on its properties. - Structure_Engine
DescriptionOrName string Gets the name from a IProperty. If null or empty, a default description name is provided instead. - Structure_Engine
IDescription string Generates a default description for the IProperty, based on its properties. - Structure_Engine
IMaterialType MaterialType Gets the material type from the MaterialFragment. - Structure_Engine
IsNull bool Checks if a MaterialFragment is null and outputs relevant error message. - Structure_Engine
MaterialType MaterialType Gets the material type from the MaterialFragment. For a Concrete material this will always return type Concrete. - Structure_Engine
ShearModulus double Shear modulus of the isotropic material fragment. Evaluated based on YoungsModulus and PoissonsRatio as G = E/2(1+ν). ShearModulus [Pa] Structure_Engine

Code and Schema

C# implementation

C#
public class Concrete : BH.oM.Base.BHoMObject,
BH.oM.Base.IBHoMObject,
BH.oM.Base.IObject,
BH.oM.Structure.MaterialFragments.IIsotropic,
BH.oM.Structure.MaterialFragments.IMaterialFragment,
BH.oM.Base.IFragment,
BH.oM.Physical.Materials.IMaterialProperties,
BH.oM.Structure.IProperty,
BH.oM.Physical.Materials.IDensityProvider

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/MaterialFragments/Concrete.json"
}

The JSON Schema is available on github here: