Lines Matching refs:spdim

26   PetscInt           dim, pdim, spdim, j, s;  in PetscFESetUp_Composite()  local
40 PetscCall(PetscSpaceGetDimension(fem->basisSpace, &spdim)); in PetscFESetUp_Composite()
41 PetscCall(PetscMalloc1(cmp->numSubelements * spdim, &cmp->embedding)); in PetscFESetUp_Composite()
56 for (k = 0; k < dof; k++) cmp->embedding[s * spdim + sd++] = off + k; in PetscFESetUp_Composite()
59spdim, PetscObjectComm((PetscObject)fem), PETSC_ERR_PLIB, "Subelement %" PetscInt_FMT " has %" Pet… in PetscFESetUp_Composite()
63 PetscCall(PetscMalloc1(cmp->numSubelements * spdim * spdim, &fem->invV)); in PetscFESetUp_Composite()
64 PetscCall(PetscMalloc2(spdim, &pivots, spdim, &work)); in PetscFESetUp_Composite()
66 PetscCall(PetscMalloc1(cmp->numSubelements * spdim * spdim, &invVscalar)); in PetscFESetUp_Composite()
71 for (j = 0; j < spdim; ++j) { in PetscFESetUp_Composite()
77 PetscCall(PetscDualSpaceGetFunctional(fem->dualSpace, cmp->embedding[s * spdim + j], &f)); in PetscFESetUp_Composite()
79 PetscCall(PetscMalloc1(f->numPoints * spdim * Nc, &Bf)); in PetscFESetUp_Composite()
81 for (k = 0; k < spdim; ++k) { in PetscFESetUp_Composite()
83 invVscalar[(s * spdim + j) * spdim + k] = 0.0; in PetscFESetUp_Composite()
84 …for (q = 0; q < Nq; ++q) invVscalar[(s * spdim + j) * spdim + k] += Bf[q * spdim + k] * weights[q]; in PetscFESetUp_Composite()
88 PetscCall(PetscBLASIntCast(spdim, &n)); in PetscFESetUp_Composite()
89 …PetscCallBLAS("LAPACKgetrf", LAPACKgetrf_(&n, &n, &invVscalar[s * spdim * spdim], &n, pivots, &inf… in PetscFESetUp_Composite()
90 …PetscCallBLAS("LAPACKgetri", LAPACKgetri_(&n, &invVscalar[s * spdim * spdim], &n, pivots, work, &n… in PetscFESetUp_Composite()
93 …for (s = 0; s < cmp->numSubelements * spdim * spdim; s++) fem->invV[s] = PetscRealPart(invVscalar[… in PetscFESetUp_Composite()
106 PetscInt spdim; /* Dimension of subelement FE space P */ in PetscFEComputeTabulation_Composite() local
120 PetscCall(PetscSpaceGetDimension(fem->basisSpace, &spdim)); in PetscFEComputeTabulation_Composite()
145 if (K >= 0) PetscCall(DMGetWorkArray(dm, npoints * spdim, MPIU_REAL, &tmpB)); in PetscFEComputeTabulation_Composite()
146 if (K >= 1) PetscCall(DMGetWorkArray(dm, npoints * spdim * dim, MPIU_REAL, &tmpD)); in PetscFEComputeTabulation_Composite()
147 if (K >= 2) PetscCall(DMGetWorkArray(dm, npoints * spdim * dim * dim, MPIU_REAL, &tmpH)); in PetscFEComputeTabulation_Composite()
158 for (j = 0; j < spdim; ++j) { in PetscFEComputeTabulation_Composite()
159 const PetscInt i = (p * pdim + cmp->embedding[s * spdim + j]) * comp; in PetscFEComputeTabulation_Composite()
162 … for (k = 0; k < spdim; ++k) B[i] += fem->invV[(s * spdim + k) * spdim + j] * tmpB[p * spdim + k]; in PetscFEComputeTabulation_Composite()
167 for (j = 0; j < spdim; ++j) { in PetscFEComputeTabulation_Composite()
169 const PetscInt i = ((p * pdim + cmp->embedding[s * spdim + j]) * comp + 0) * dim + d; in PetscFEComputeTabulation_Composite()
172 …for (k = 0; k < spdim; ++k) D[i] += fem->invV[(s * spdim + k) * spdim + j] * tmpD[(p * spdim + k) … in PetscFEComputeTabulation_Composite()
178 for (j = 0; j < spdim; ++j) { in PetscFEComputeTabulation_Composite()
180 … const PetscInt i = ((p * pdim + cmp->embedding[s * spdim + j]) * comp + 0) * dim * dim + d; in PetscFEComputeTabulation_Composite()
183 …for (k = 0; k < spdim; ++k) H[i] += fem->invV[(s * spdim + k) * spdim + j] * tmpH[(p * spdim + k) … in PetscFEComputeTabulation_Composite()
189 if (K >= 0) PetscCall(DMRestoreWorkArray(dm, npoints * spdim, MPIU_REAL, &tmpB)); in PetscFEComputeTabulation_Composite()
190 if (K >= 1) PetscCall(DMRestoreWorkArray(dm, npoints * spdim * dim, MPIU_REAL, &tmpD)); in PetscFEComputeTabulation_Composite()
191 if (K >= 2) PetscCall(DMRestoreWorkArray(dm, npoints * spdim * dim * dim, MPIU_REAL, &tmpH)); in PetscFEComputeTabulation_Composite()