// ....Compute element matrix..................................... public override double[,] ComputeMatrix() { ComputeGeometry(); ComputeStrainDisplacementTransformation(); ComputeMaterial(); // Ke = 0.5*thickness*determinant*BT*E*B var temp = MatrizenAlgebra.MultTransposedMatrix(0.5 * ElementCrossSection.QuerschnittsWerte[0] * Determinant, b, e); matrix = MatrizenAlgebra.Mult(temp, b); return(matrix); }
// ....Compute element matrix..................................... public override double[,] ComputeMatrix() { MatrizenAlgebra.Clear(elementMatrix); ComputeMaterial(); for (var i = 0; i < GCoord.Length; i++) { z0 = GCoord[i]; g0 = GWeight[i]; for (var j = 0; j < GCoord.Length; j++) { z1 = GCoord[j]; g1 = GWeight[j]; for (var k = 0; k < GCoord.Length; k++) { z2 = GCoord[k]; g2 = GWeight[k]; ComputeGeometry(z0, z1, z2); Sx = ComputeSx(z0, z1, z2); ComputeStrainDisplacementTransformation(); // Ke = determinant*g0*g1*g2*BT*E*B var temp = MatrizenAlgebra.MultTransposedMatrix(Determinant * g0 * g1 * g2, b, e); MatrizenAlgebra.MultAddMatrix(elementMatrix, temp, b); } } } return(elementMatrix); }