-
Toby Isaac authored
Reductions in the cost of computing, storing, and applying a Tabulation can be achieved for a finite element space that is a vector of "scalar" finite elements (the "scalar" element itself could be vector-valued). Reductions in the cost of storing and applying a Tabulation can't be realized until the PetscTabulation structure itself is changed, but at the very least reduction in the cost of computing a tabulation is possible with a new PetscFEType, PETSCFEVECTOR. To complete the interface, we also add PETSCDUALSPACESUM, a dual space whose dual basis is the sum of other dual bases, that parallels PETSCSPACESUM (the space and dual space of a PETSCFEVECTOR are a PETSCSPACESUM and PETSCDUALSPACESUM, respectively). To allow the user to specify whether the basis vector and value components of the PETSCFEVECTOR of blockwise or interleaved, we also have to make sure PETSCSPACESUM and PETSCDUALSPACESUM can have blockwise or interleaved behavior. We add both capabilities. PETSCFEVECTOR is now used by detecting compatible vector-valued dual and primal spaces in PetscFECreateFromSpaces().
2dce792e
Loading