示例#1
0
        public static bool IsIsotropicMaterial(AnisotropicMaterialInfo inf)
        {
            var arr1 = new double[] { inf.Ex, inf.Ey, inf.Ez };
            var arr2 = new double[]
            {
                inf.NuXy, inf.NuYx,
                inf.NuXz, inf.NuZx,
                inf.NuZy, inf.NuYz
            };

            return(arr1.Distinct().Count() == 1 && arr2.Distinct().Count() == 1);
        }
示例#2
0
        /// <inheritdoc />
        public override AnisotropicMaterialInfo GetMaterialPropertiesAt(params double[] isoCoords)
        {
            var buf = new AnisotropicMaterialInfo();

            buf.Ex = buf.Ey = buf.Ez = _youngModulus;

            buf.NuXy         = buf.NuYx =
                buf.NuXz     = buf.NuZx =
                    buf.NuZy = buf.NuYz =
                        this._poissonRatio;

            return(buf);
        }
示例#3
0
        public override TriangleCoordinatedMechanicalProperties GetMaterialPropertiesAt(TriangleElement targetElement, params double[] isoCoords)
        {
            var buf = new TriangleCoordinatedMechanicalProperties();
            var mat = new AnisotropicMaterialInfo();

            mat.Ex = mat.Ey = mat.Ez = this.E;

            mat.NuXy         = mat.NuYx =
                mat.NuYz     = mat.NuZy =
                    mat.NuXz = mat.NuZx =
                        this.Nu;

            buf.Matterial = mat;

            return(buf);
        }
示例#4
0
        public override AnisotropicMaterialInfo GetMaterialPropertiesAt(params double[] isoCoords)
        {
            var buf = new AnisotropicMaterialInfo();

            buf.Ex = this.Ex;
            buf.Ey = this.Ey;
            buf.Ez = this.Ez;

            buf.NuXy = this.NuXy;
            buf.NuYx = this.NuYx;

            buf.NuXz = this.NuXz;
            buf.NuZx = this.NuZx;

            buf.NuZy = this.NuZy;
            buf.NuYz = this.NuYz;

            buf.Rho = this.rho;
            buf.Mu  = this.mu;

            return(buf);
        }