예제 #1
0
        public void FillMaterialProperties()
        {
            if (_materialProperties == null)
            {
                return;
            }

            _materialProperties.GetMaterialType(Name,
                                                out var materialType,
                                                out var symmetryType);

            Type      = materialType;
            Mechanics = MaterialMechanics.Factory(Name, symmetryType);
        }
예제 #2
0
        /// <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);
        }