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:
- 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
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: