public void FillMaterialProperties() { if (_materialProperties == null) { return; } _materialProperties.GetMaterialType(Name, out var materialType, out var symmetryType); Type = materialType; Mechanics = MaterialMechanics.Factory(Name, symmetryType); }
/// <summary> /// Factories the specified application. /// </summary> /// <param name="uniqueName">Name of the unique.</param> /// <param name="symmetryType">LoadType of the symmetry.</param> /// <param name="sectionName">Name of the section.</param> /// <param name="rebarArea">The rebar area.</param> /// <param name="temperatures">The temperatures.</param> /// <returns>MaterialMechanics.</returns> public static MaterialMechanics Factory(string uniqueName, eMaterialSymmetryType symmetryType, string sectionName = "", double rebarArea = 0, double[] temperatures = null) { //if (Registry.Materials.Keys.Contains(uniqueName)) return (MaterialMechanics)Registry.Materials[uniqueName]; MaterialMechanics materialMechanics = new MaterialMechanics(uniqueName, symmetryType); if (_materialProperties != null) { materialMechanics.FillTemperature(); materialMechanics.FillDamping(); materialMechanics.FillWeightAndMass(); materialMechanics.FillStressStrainCurve(sectionName, rebarArea); materialMechanics.FillMechanicalProperties(); } //Registry.Materials.Add(uniqueName, materialMechanics); return(materialMechanics); }