Data storage

Glossary

Alias Shape Description
dofval [ndof] degrees of freedom
nodevec [nnode, ndim] nodal vector
elemvec [nelem, nne, ndim] nodal vector stored per element
elemmat [nelem, nne*ndim, nne*ndim] matrix stored per element
qscalar [nelem, nip] scalar stored per integration point
qtensor [nelem, nip, tdim, tdim, …] tensor stored per integration point

dofval

  • Degrees-of-freedom
  • Shape [ndof]
  • xt::xtensor<double,1>

nodevec

  • Nodal vectors
  • Shape [nnode, ndim]
  • xt::xtensor<double,2>

elemvec

  • Nodal vectors stored per element
  • Allows treatment of all elements independently, no connectivity needed
  • Shape [nelem, nne, ndim]
  • xt::xtensor<double,3>

elemmat

  • Matrices stored per element
  • Shape [nelem, nne*ndim, nne*ndim]
  • xt::xtensor<double,3>

qscalar

  • Scalars stored per integration point
  • Shape [nelem, nip]
  • xt::xtensor<double,2>

qtensor (2nd order)

  • 2nd-order tensors stored per integration point
  • For certain elements, the number of dimensions of the tensor can be larger than the number of dimensions of the element (tdim >= ndim)
  • Shape [nelem, nip, tdim, tdim]
  • xt::xtensor<double,4>

qtensor (4th order)

  • 4th-order tensors stored per integration point
  • For certain elements, the number of dimensions of the tensor can be larger than the number of dimensions of the element (tdim >= ndim)
  • Shape [nelem, nip, tdim, tdim, tdim, tdim]
  • xt::xtensor<double,4>