StructuralMaterial Class |
[This is preliminary documentation and is subject to change.]
Namespace: ModelExchanger.AnalysisDataModel.Libraries
public sealed class StructuralMaterial : StructuralAnalysisObjectBase, ILibraryElementAnalysisObject, IStructuralAnalysisObject, IAnalysisObject, IEquatable<StructuralMaterial>
The StructuralMaterial type exposes the following members.
Name | Description | |
---|---|---|
StructuralMaterial |
Create a material with a type and quality
|
Name | Description | |
---|---|---|
DesignProperties |
Custom design characteristics of the material. The format of the data has to follow this convention: "label of the design property" "|" "value of the design property"
| |
EModulus |
Young's modulus of elasticity
| |
GModulus |
Shear modulus
| |
Id |
The ID of the Analysis object.
Needs to be unique within the entire model
(Inherited from StructuralAnalysisObjectBase.) | |
Name |
The name of the Analysis object.
Needs to be unique within it's type
(Inherited from StructuralAnalysisObjectBase.) | |
PoissonCoefficient |
Poisson coefficient
| |
Quality |
The quality of the material
| |
StructuralName |
The name of the material in a Structural Model to which this material is mapped.
| |
Subtype |
The subtype of the material.
| |
ThermalExpansion |
The coefficient of thermal expansion of the material
| |
Type |
The type of material
| |
UnitMass |
Self-weight of the material
|
Name | Description | |
---|---|---|
Equals(Object) |
Check if this object is the same as the provided object.
(Overrides StructuralAnalysisObjectBaseEquals(Object).) | |
Equals(StructuralAnalysisObjectBase) |
Check if this object is the same as the provided object.
(Inherited from StructuralAnalysisObjectBase.) | |
Equals(StructuralMaterial) | Indicates whether the current object is equal to another object of the same type. | |
GetHashCode |
Retrieves the hashcode of the object
(Overrides StructuralAnalysisObjectBaseGetHashCode.) |
Name | Description | |
---|---|---|
PropertyChanged | (Inherited from StructuralAnalysisObjectBase.) |
Name | Description | |
---|---|---|
ToObjectIdentifier |
Converts the provided IAnalysisObject into an AnalysisObjectIdentifier (Defined by IAnalysisObjectExtensions.) |
using System; using System.Collections.Generic; using System.Linq; using ModelExchanger.AnalysisDataModel.Enums; using ModelExchanger.AnalysisDataModel.Libraries; using ModelExchanger.AnalysisDataModel.Models; using UnitsNet; namespace ModelExchanger.AnalysisDataModel.Example.Libraries { public sealed class StructuralMaterialExample : BaseExample<StructuralMaterial> { protected override IReadOnlyCollection<StructuralMaterial> CreateAnalysisObjects(AnalysisModel model) { return CreateConcreteMaterials() .Concat(CreateSteelMaterials()) .Concat(CreateAluminiumMaterials()) .Concat(CreateTimberMaterials()) .Concat(CreateMasonryMaterials()) .Concat(CreateGeneralMaterials()) .ToList(); } /// <summary> /// Creates concrete materials /// </summary> /// <returns>A collection of concrete materials</returns> private IReadOnlyCollection<StructuralMaterial> CreateConcreteMaterials() { return new StructuralMaterial[] { new StructuralMaterial(Guid.NewGuid(), "MAT1", MaterialType.Concrete, "C20/25") { UnitMass = Density.FromKilogramsPerCubicMeter(2500D), EModulus = Pressure.FromMegapascals(3.0000E4D), GModulus = Pressure.FromMegapascals(1.2500E5D), PoissonCoefficient = 0.2D, ThermalExpansion = CoefficientOfThermalExpansion.Zero }, new StructuralMaterial(Guid.NewGuid(), "MAT2", MaterialType.Concrete, "C25/30") { UnitMass = Density.FromKilogramsPerCubicMeter(2500D), EModulus = Pressure.FromMegapascals(3.1500E4D), GModulus = Pressure.FromMegapascals(1.3125E4D), PoissonCoefficient = 0.2D, ThermalExpansion = CoefficientOfThermalExpansion.Zero }, new StructuralMaterial(Guid.NewGuid(), "MAT3", MaterialType.Concrete, "C30/37") { UnitMass = Density.FromKilogramsPerCubicMeter(2500D), EModulus = Pressure.FromMegapascals(3.2800E4D), GModulus = Pressure.FromMegapascals(1.3667E4D), PoissonCoefficient = 0.2D, ThermalExpansion = CoefficientOfThermalExpansion.Zero } }; } /// <summary> /// Creates steel materials /// </summary> /// <returns>A collection of steel materials</returns> private IReadOnlyCollection<StructuralMaterial> CreateSteelMaterials() { return new StructuralMaterial[] { new StructuralMaterial(Guid.NewGuid(), "MAT4", MaterialType.Steel, "S235") { UnitMass = Density.FromKilogramsPerCubicMeter(7850D), EModulus = Pressure.FromMegapascals(2.1000E5D), GModulus = Pressure.FromMegapascals(8.0769E4D), PoissonCoefficient = 0.3D, ThermalExpansion = CoefficientOfThermalExpansion.Zero }, new StructuralMaterial(Guid.NewGuid(), "MAT5", MaterialType.Steel, "S235") { UnitMass = Density.FromKilogramsPerCubicMeter(7850D), EModulus = Pressure.FromMegapascals(2.1000E5D), GModulus = Pressure.FromMegapascals(8.0769E4D), PoissonCoefficient = 0.3D, ThermalExpansion = CoefficientOfThermalExpansion.Zero } }; } /// <summary> /// Creates aluminium materials /// </summary> /// <returns>A collection of aluminium materials</returns> private IReadOnlyCollection<StructuralMaterial> CreateAluminiumMaterials() { return new StructuralMaterial[] { new StructuralMaterial(Guid.NewGuid(), "MAT6", MaterialType.Aluminium, "EN-AW 5083") { UnitMass = Density.FromKilogramsPerCubicMeter(2700D), EModulus = Pressure.FromMegapascals(7.0000E4D), GModulus = Pressure.FromMegapascals(2.6923E4D), PoissonCoefficient = 0.3D, ThermalExpansion = CoefficientOfThermalExpansion.Zero }, new StructuralMaterial(Guid.NewGuid(), "MAT7", MaterialType.Aluminium, "EN-AW 8011A") { UnitMass = Density.FromKilogramsPerCubicMeter(2700D), EModulus = Pressure.FromMegapascals(7.0000E4D), GModulus = Pressure.FromMegapascals(2.6923E4D), PoissonCoefficient = 0.3D, ThermalExpansion = CoefficientOfThermalExpansion.Zero } }; } /// <summary> /// Creates timber materials /// </summary> /// <returns>A collection of timber materials</returns> private IReadOnlyCollection<StructuralMaterial> CreateTimberMaterials() { return new StructuralMaterial[] { new StructuralMaterial(Guid.NewGuid(), "MAT8", MaterialType.Timber, "D30 (EN 338)") { UnitMass = Density.FromKilogramsPerCubicMeter(640D), EModulus = Pressure.FromMegapascals(1.1000E4D), GModulus = Pressure.FromMegapascals(6.9000E2D), PoissonCoefficient = 0D, ThermalExpansion = CoefficientOfThermalExpansion.Zero }, new StructuralMaterial(Guid.NewGuid(), "MAT9", MaterialType.Timber, "C22 (EN 338)") { UnitMass = Density.FromKilogramsPerCubicMeter(410D), EModulus = Pressure.FromMegapascals(1.0000E4D), GModulus = Pressure.FromMegapascals(6.3000E2D), PoissonCoefficient = 0D, ThermalExpansion = CoefficientOfThermalExpansion.Zero }, new StructuralMaterial(Guid.NewGuid(), "MAT10", MaterialType.Timber, "GL 30c (EN 14080)") { UnitMass = Density.FromKilogramsPerCubicMeter(430D), EModulus = Pressure.FromMegapascals(1.3000E4D), GModulus = Pressure.FromMegapascals(6.5000E2D), PoissonCoefficient = 0D, ThermalExpansion = CoefficientOfThermalExpansion.Zero } }; } /// <summary> /// Creates masonry materials /// </summary> /// <returns>A collection of masonry materials</returns> private IReadOnlyCollection<StructuralMaterial> CreateMasonryMaterials() { return new StructuralMaterial[] { new StructuralMaterial(Guid.NewGuid(), "MAT11", MaterialType.Masonry, "Masonry") { UnitMass = Density.FromKilogramsPerCubicMeter(650D), EModulus = Pressure.FromMegapascals(3.1000E3D), GModulus = Pressure.FromMegapascals(1.2400E3D), PoissonCoefficient = 0.25D, ThermalExpansion = CoefficientOfThermalExpansion.Zero } }; } /// <summary> /// Creates general materials /// </summary> /// <returns>A collection of general materials</returns> private IReadOnlyCollection<StructuralMaterial> CreateGeneralMaterials() { return new StructuralMaterial[] { new StructuralMaterial(Guid.NewGuid(), "MAT12", MaterialType.Other, "General material") { UnitMass = Density.FromKilogramsPerCubicMeter(1000D), EModulus = Pressure.FromMegapascals(1.0000E4D), GModulus = Pressure.FromMegapascals(5.0000E3D), PoissonCoefficient = 0.50D, ThermalExpansion = CoefficientOfThermalExpansion.FromInverseKelvin(0.63D) } }; } } }