7void Ordering::DofsToVDofs<Ordering::byNODES>(
int ndofs,
int vdim,
11 int size = dofs.
Size();
13 for (
int vd = 1; vd < vdim; vd++)
15 for (
int i = 0; i < size; i++)
17 dofs[i+size*vd] = Map<byNODES>(ndofs, vdim, dofs[i], vd);
23void Ordering::DofsToVDofs<Ordering::byVDIM>(
int ndofs,
int vdim,
27 int size = dofs.
Size();
29 for (
int vd = vdim-1; vd >= 0; vd--)
31 for (
int i = 0; i < size; i++)
33 dofs[i+size*vd] = Map<byVDIM>(ndofs, vdim, dofs[i], vd);
41 if (in_ord == out_ord)
46 int nvdofs = v.
Size();
47 int nldofs = nvdofs/vdim;
52 for (
int d = 0; d < vdim; d++)
55 for (
int i = 0; i < nldofs; i++)
64 for (
int i = 0; i < nldofs; i++)
67 for (
int d = 0; d < vdim; d++)
void SetSize(int nsize)
Change the logical size of the array, keep existing entries.
int Size() const
Return the logical size of the array.
static int Map(int ndofs, int vdim, int dof, int vd)
static void Reorder(Vector &v, int vdim, Type in_ord, Type out_ord)
Reorder Vector v from its current ordering in_ord to out_ord.
int Size() const
Returns the size of the vector.