/// <inheritdoc/> public Matrix GetDMatrixAt(Element targetElement, params double[] isoCoords) { var elm = targetElement as BarElement; if (elm == null) { throw new Exception(); } var xi = isoCoords[0]; var geo = elm.Section.GetCrossSectionPropertiesAt(xi); var mech = elm.Material.GetMaterialPropertiesAt(xi); var buf = //new Matrix(1, 1); targetElement.MatrixPool.Allocate(1, 1); ThrowUtil.ThrowIf(!CalcUtil.IsIsotropicMaterial(mech), "anistropic material not impolemented yet"); var g = mech.Ex / (2 * (1 + mech.NuXy)); buf.FillRow(0, geo.J * g); return(buf); }