ISAAR.MSolve.IGA/Elements/TSplineKirchhoffLoveShellElementMaterial.cs
/// <summary>
/// Calculates knots physical coordinates for post-processing with Paraview.
/// </summary>
/// <param name="element">An <see cref="Element"/> of type <see cref="TSplineKirchhoffLoveShellElementMaterial"/>.</param>
/// <returns>A <see cref="double"/> array calculating the coordinates of the element Knots'.
/// The rows of the matrix denote the knot numbering while the columns the displacements for each degree of freedom.</returns>
Calculates knots physical coordinates for post-processing with Paraview.
Calculates knots physical coordinates for post - processing with Paraview .
public double[,] CalculatePointsForPostProcessing(TSplineKirchhoffLoveShellElementMaterial element)
		{
			var localCoordinates = new double[4, 2]
			{
				{-1, -1},
				{-1, 1},
				{1, -1},
				{1, 1}
			};
			var knotParametricCoordinatesKsi = Vector.CreateFromArray(new double[] { -1, 1 });
			var knotParametricCoordinatesHeta = Vector.CreateFromArray(new double[] { -1, 1 });
			var elementControlPoints = element.ControlPoints.ToArray();
			var knotDisplacements = new double[4, 3];
			var paraviewKnotRenumbering = new int[] { 0, 3, 1, 2 };
			for (int j = 0; j < localCoordinates.GetLength(0); j++)
			{
				for (int i = 0; i < elementControlPoints.Length; i++)
				{
					knotDisplacements[paraviewKnotRenumbering[j], 0] += _tsplines.Values[i, j] * elementControlPoints[i].X;
					knotDisplacements[paraviewKnotRenumbering[j], 1] += _tsplines.Values[i, j] * elementControlPoints[i].Y;
					knotDisplacements[paraviewKnotRenumbering[j], 2] += _tsplines.Values[i, j] * elementControlPoints[i].Z;
				}
			}
			return knotDisplacements;
		}
public double [ , ] CalculatePointsForPostProcessing ( TSplineKirchhoffLoveShellElementMaterial element ) { var localCoordinates = new double [ 4 , 2 ] { { - 1 , - 1 } , { - 1 , 1 } , { 1 , - 1 } , { 1 , 1 } } ; var knotParametricCoordinatesKsi = Vector . CreateFromArray ( new double [ ] { - 1 , 1 } ) ; var knotParametricCoordinatesHeta = Vector . CreateFromArray ( new double [ ] { - 1 , 1 } ) ; var elementControlPoints = element . ControlPoints . ToArray ( ) ; var knotDisplacements = new double [ 4 , 3 ] ; var paraviewKnotRenumbering = new int [ ] { 0 , 3 , 1 , 2 } ; for ( int j = 0 ; j < localCoordinates . GetLength ( 0 ) ; j ++ ) { for ( int i = 0 ; i < elementControlPoints . Length ; i ++ ) { knotDisplacements [ paraviewKnotRenumbering [ j ] , 0 ] += _tsplines . Values [ i , j ] * elementControlPoints [ i ] . X ; knotDisplacements [ paraviewKnotRenumbering [ j ] , 1 ] += _tsplines . Values [ i , j ] * elementControlPoints [ i ] . Y ; knotDisplacements [ paraviewKnotRenumbering [ j ] , 2 ] += _tsplines . Values [ i , j ] * elementControlPoints [ i ] . Z ; } } return knotDisplacements ; }
Calculates knots physical coordinates for post-processing with Paraview.
Calculates knots physical coordinates for post - processing with Paraview .
A  array calculating the coordinates of the element Knots'.
The rows of the matrix denote the knot numbering while the columns the displacements for each degree of freedom.
A array calculating the coordinates of the element Knots ' . The rows of the matrix denote the knot numbering while the columns the displacements for each degree of freedom .
element
TSplineKirchhoffLoveShellElementMaterial
An  of type .
An of type .