Пример #1
0
        /*** Private methods ***************************************************************************************************/

        private static double GetAlongTheMemberResult(IScheme scheme, IModel model, Dictionary <int, double[, ]> elementBoundaryDisplacements, double x, int startNodeNumber, int elementNumber)
        {
            IBeamProperty beamProperty = model.Beam.Properties.Where(beam => beam.Number == elementNumber).FirstOrDefault();
            double        L            = beamProperty.Lb;
            double        s            = ResultHelper.GetScalingParameter(scheme, x, startNodeNumber, L);

            double[,] currentShapeFunctionsVector = GetShapeFunctionsVector(s, L);
            double[,] result = MatrixTransformation.Multiply(currentShapeFunctionsVector, elementBoundaryDisplacements[elementNumber]);
            return(result[0, 0]);
        }
Пример #2
0
        private static double GetAlongTheMemberResult(IModel model, Dictionary <int, double[, ]> elementBoundaryDisplacements, int elementNumber)
        {
            IBeamProperty beamProperty = model.Beam.Properties.Where(beam => beam.Number == elementNumber).FirstOrDefault();
            double        L            = beamProperty.Lb;

            double[,] currentShapeFunctionsVector = GetShapeFunctionsVector(L);
            double[,] result;
            result = MatrixTransformation.Multiply(currentShapeFunctionsVector, elementBoundaryDisplacements[elementNumber]);
            double resultFactor = beamProperty.Ey * beamProperty.Iy / Math.Pow(beamProperty.Lb, 3);

            result = MatrixTransformation.Multiply(result, resultFactor);
            return(result[0, 0]);
        }