private void Chage_GraphicsAreas_Values(Node_ND[] Side_Nodes, int[] NNPE_Side, int Resolution, ref Side TheSide) { ParametricInterpolation_ND_Square Node_Interpolator = new ParametricInterpolation_ND_Square(NNPE_Side[0], NNPE_Side[1]); int Res_NNPE_l = Resolution * (NNPE_Side[0] - 1) + 1; int Res_NNPE_m = Resolution * (NNPE_Side[1] - 1) + 1; ParametricInterpolation_ND_Square Resolution_Interpolaor = new ParametricInterpolation_ND_Square(Res_NNPE_l, Res_NNPE_m); Vector Area_DisplayValues = Calculate_Area_DisplayValues(Side_Nodes, Node_Interpolator, Resolution_Interpolaor); int NA = Resolution * (NNPE_Side[0] - 1) * Resolution * (NNPE_Side[1] - 1); TheSide.AreaValues = new Vector[NA]; int index_1 = 0; int index_2 = NNPE_Side[0]; int index = 0; for (int j = 0; j < Res_NNPE_m - 1; j++) { for (int i = 0; i < Res_NNPE_l - 1; i++) { TheSide.AreaValues[index] = new Vector(4); TheSide.AreaValues[index].Values[0] = Area_DisplayValues.Values[index_1 + i]; TheSide.AreaValues[index].Values[1] = Area_DisplayValues.Values[index_1 + i + 1]; TheSide.AreaValues[index].Values[2] = Area_DisplayValues.Values[index_2 + i + 1]; TheSide.AreaValues[index].Values[3] = Area_DisplayValues.Values[index_2 + i]; //TheSide.AreaValues[index].Values[4] = TheSide.AreaValues[index].Values[0]; index++; } index_1 = index_2; index_2 += NNPE_Side[0]; } }
private Vector[] Calculate_Area_Locations(Node_ND[] ElementNodes, ParametricInterpolation_ND_Square Nodes_Interpolator, ParametricInterpolation_ND_Square TheResInterpolation) { int NNPE = TheResInterpolation.NNPE; Vector[] X = new Vector[NNPE]; Vector[] Nodal_X = Get_ElementNodal_X(ElementNodes); for (int i = 0; i < NNPE; i++) { X[i] = Nodes_Interpolator.Interpolate_Variable(TheResInterpolation.NodeXi[i], Nodal_X); } return(X); }
private Vector Calculate_Area_DisplayValues(Node_ND[] ElementNodes, ParametricInterpolation_ND_Square Nodes_Interpolator, ParametricInterpolation_ND_Square TheResInterpolation) { int NNPE = TheResInterpolation.NNPE; Vector DisplayValues = new Vector(NNPE); Vector NodalDisplayValues = Get_Nodal_DisplayValues(ElementNodes); for (int i = 0; i < NNPE; i++) { DisplayValues.Values[i] = Nodes_Interpolator.Interpolate_Variable(TheResInterpolation.NodeXi[i], NodalDisplayValues.Values); } return(DisplayValues); }