Skip to content

BH.oM.Structure.MaterialFragments.GenericIsotropicMaterial

Generic isotropic material to be used for isotropic materials not yet explicitly supported.

Class structure

Implemented interfaces and base types

The GenericIsotropicMaterial 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]

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 GenericIsotropicMaterial material this will always return type Undefined. - 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 GenericIsotropicMaterial : 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/GenericIsotropicMaterial.json"
}

The JSON Schema is available on github here: