#### 2.12 Iso Geometric Analysis based (IGA) elements

The following record describes the common part of IGA element record:

 *IGAElement (num#)(in) \ mat #(in) crossSect #(in) nodes #(ia) \ knotvectoru #(ra) knotvectorv #(ra) knotvectorw #(ra) \ [knotmultiplicityu #(ia)] [knotmultiplicityv #(ia)] \ [knotmultiplicityw #(ia)] \ degree #(ia) nip #(ia) \ ⟨[partitions #(ia)]⟩⟨[remote #()]⟩

The knotvectoru, knotvectorv, and knotvectorw parameters specify knot vectors in individual parametric directions, considering only distinct knots. Open knot vector is always assumed, so the multiplicity of the first and last knot should be equal to p + 1, where p is polynomial degree in coresponding direction (determined by degree parameter, see further).
The knot multiplicity can be set using optional parameters knotmultiplicityu, knotmultiplicityv, and knotmultiplicityw. By default, the open knot vector is assumed and multiplicity of internal knots is assumed to be equal to one. Note, that total number of knots in particular direction (including multiplicity) must be equal to number of control points in this direction increased by degree in this direction plus 1.
The degree of approximation for each parametric direction is determined from degree array, dimension of which is equal to number of spatial dimensions of the problem.
In case of elements with BSpline or Nurbs interpolation, the nodes forming the rectangular array of control points of the element are ordered in a such way, that u-index is changing most quickly, and w-index (or v-index in case of 2d problems) most slowly. In case of elements with T-spline interpolation, the nodes forming the T-mesh of the element are ordered arbitrarily.

The supported *IGAElement values are following:
Keywordbsplineplanestresselement
Parameters: None.
Keywordnurbsplanestresselement
Parameters: None.
Keywordnurbs3delement
Parameters: None.
Keywordtsplineplanestresselement
Parameters: localindexknotvectoru #(in) localindexknotvectorv #(in) localindexknotvectorw #(in)
The parameters localindexknotvectoru, localindexknotvectorv,
and localindexknotvectorw defined by the indices to global knot vectors (given by knotvectoru, knotvectorv, and knotvectorw parameters) specify the local knot vectors for each control point of T-mesh (node) in the same order as the nodes have been specified for the element. The local knot vector in a particular direction has p + 2 entries, where the p is the polynomial degree in that direction.