Open tarun-mitruka opened 8 months ago
Usage of const auto& localFE = localView.tree().child(0).finiteElement();
should also be generalized everywhere because it already assumes that the basis is a power basis. This already then reduces the functionality as it cannot be applied to for example, to Kirchhoff plates which only has a scalar basis. For example, see here.
The current implementation restricts the function
localSolutionBlockVector
and classesVolume
andTraction
to handle a basis withRootBasis::PreBasis::Node::degree() = Traits::worlddim
. This should be generalized such that for element formulations like the 5P shell can still use these features when here, for example,RootBasis::PreBasis::Node::degree() = 5
whereasTraits::worlddim = 3
.Similarly, finite elements have an assumption that the number of children are same same at every node. This will not work, for example for
LinearElastic
, if we have quadratic displacements in x-direction (ux
) but linear displacements in y-direction (uy
) because then there are nodes with onlyux
and nouy
degrees of freedom. This will, for example, break the following line:K.template block<myDim, myDim>(i * myDim, j * myDim) += bopI.transpose() * C * bopJ * intElement;