/// <summary>
        /// Factories the specified application.
        /// </summary>
        /// <param name="uniqueName">Name of the unique material.</param>
        /// <param name="temperature">The temperature.</param>
        /// <returns>MaterialMechanicsAnisotropic.</returns>
        internal static MaterialMechanicsAnisotropic Factory(
            string uniqueName,
            double temperature = 0)
        {
            MaterialMechanicsAnisotropic material = new MaterialMechanicsAnisotropic(uniqueName, temperature);

            return(material);
        }
        /// <summary>
        /// Factories the specified application.
        /// </summary>
        /// <param name="uniqueName">Name of the unique material.</param>
        /// <param name="symmetryType">Material symmetry type.</param>
        /// <param name="temperature">The temperature associated with the mechanical properties.</param>
        /// <returns>MaterialMechanics.</returns>
        internal static MaterialMechanics Factory(
            string uniqueName,
            eMaterialSymmetryType symmetryType,
            double temperature = 0)
        {
            switch (symmetryType)
            {
            case eMaterialSymmetryType.Anisotropic:
                return(MaterialMechanicsAnisotropic.Factory(uniqueName, temperature));

            case eMaterialSymmetryType.Isotropic:
                return(MaterialMechanicsIsotropic.Factory(uniqueName, temperature));

            case eMaterialSymmetryType.Orthotropic:
                return(MaterialMechanicsOrthotropic.Factory(uniqueName, temperature));

            case eMaterialSymmetryType.Uniaxial:
                return(MaterialMechanicsUniaxial.Factory(uniqueName, temperature));

            default:
                return(null);
            }
        }