Lines Matching refs:subsp

21   PetscSpace_Subspace *subsp;  in PetscSpaceDestroy_Subspace()  local
24 subsp = (PetscSpace_Subspace *)sp->data; in PetscSpaceDestroy_Subspace()
25 subsp->x = NULL; in PetscSpaceDestroy_Subspace()
26 PetscCall(PetscFree(subsp->x_alloc)); in PetscSpaceDestroy_Subspace()
27 subsp->Jx = NULL; in PetscSpaceDestroy_Subspace()
28 PetscCall(PetscFree(subsp->Jx_alloc)); in PetscSpaceDestroy_Subspace()
29 subsp->u = NULL; in PetscSpaceDestroy_Subspace()
30 PetscCall(PetscFree(subsp->u_alloc)); in PetscSpaceDestroy_Subspace()
31 subsp->Ju = NULL; in PetscSpaceDestroy_Subspace()
32 PetscCall(PetscFree(subsp->Ju_alloc)); in PetscSpaceDestroy_Subspace()
33 PetscCall(PetscFree(subsp->Q)); in PetscSpaceDestroy_Subspace()
34 PetscCall(PetscSpaceDestroy(&subsp->origSpace)); in PetscSpaceDestroy_Subspace()
35 PetscCall(PetscDualSpaceDestroy(&subsp->dualSubspace)); in PetscSpaceDestroy_Subspace()
36 PetscCall(PetscFree(subsp)); in PetscSpaceDestroy_Subspace()
45 PetscSpace_Subspace *subsp; in PetscSpaceView_Subspace() local
48 subsp = (PetscSpace_Subspace *)sp->data; in PetscSpaceView_Subspace()
53 PetscCall(PetscSpaceGetNumVariables(subsp->origSpace, &origDim)); in PetscSpaceView_Subspace()
54 PetscCall(PetscSpaceGetNumComponents(subsp->origSpace, &origNc)); in PetscSpaceView_Subspace()
57 if (subsp->x) { in PetscSpaceView_Subspace()
59 …for (o = 0; o < origDim; o++) PetscCall(PetscViewerASCIIPrintf(viewer, " %g\n", (double)subsp->x[o… in PetscSpaceView_Subspace()
61 if (subsp->Jx) { in PetscSpaceView_Subspace()
64 PetscCall(PetscViewerASCIIPrintf(viewer, " %g", (double)subsp->Jx[o * subDim + 0])); in PetscSpaceView_Subspace()
66 …for (s = 1; s < subDim; s++) PetscCall(PetscViewerASCIIPrintf(viewer, " %g", (double)subsp->Jx[o *… in PetscSpaceView_Subspace()
71 if (subsp->u) { in PetscSpaceView_Subspace()
73 …for (o = 0; o < origNc; o++) PetscCall(PetscViewerASCIIPrintf(viewer, " %g\n", (double)subsp->u[o]… in PetscSpaceView_Subspace()
75 if (subsp->Ju) { in PetscSpaceView_Subspace()
79 …for (s = 0; s < subNc; s++) PetscCall(PetscViewerASCIIPrintf(viewer, " %g", (double)subsp->Ju[o * … in PetscSpaceView_Subspace()
87 PetscCall(PetscSpaceView(subsp->origSpace, viewer)); in PetscSpaceView_Subspace()
94 PetscSpace_Subspace *subsp = (PetscSpace_Subspace *)sp->data; in PetscSpaceEvaluate_Subspace() local
100 origsp = subsp->origSpace; in PetscSpaceEvaluate_Subspace()
109 if (subsp->x) { in PetscSpaceEvaluate_Subspace()
110 for (j = 0; j < origDim; j++) inpoints[i * origDim + j] = subsp->x[j]; in PetscSpaceEvaluate_Subspace()
114 if (subsp->Jx) { in PetscSpaceEvaluate_Subspace()
116 …for (k = 0; k < subDim; k++) inpoints[i * origDim + j] += subsp->Jx[j * subDim + k] * points[i * s… in PetscSpaceEvaluate_Subspace()
133 const PetscReal *subq = &subsp->Q[i * origNb]; in PetscSpaceEvaluate_Subspace()
141 if (subsp->Jx) { in PetscSpaceEvaluate_Subspace()
146 … 0; o < origDim; o++) psi[(k * subDim + l) * subDim + n] += subsp->Jx[m * subDim + l] * subsp->Jx[… in PetscSpaceEvaluate_Subspace()
158 if (subsp->Ju) { in PetscSpaceEvaluate_Subspace()
161 … * subDim; m++) H[((j * subNb + i) * subNc + k) * subDim * subDim + m] += subsp->Ju[k * origNc + l… in PetscSpaceEvaluate_Subspace()
182 const PetscReal *subq = &subsp->Q[i * origNb]; in PetscSpaceEvaluate_Subspace()
190 if (subsp->Jx) { in PetscSpaceEvaluate_Subspace()
193 …for (m = 0; m < origDim; m++) psi[k * subDim + l] += subsp->Jx[m * subDim + l] * phi[k * origDim +… in PetscSpaceEvaluate_Subspace()
201 if (subsp->Ju) { in PetscSpaceEvaluate_Subspace()
204 …for (m = 0; m < subDim; m++) D[((j * subNb + i) * subNc + k) * subDim + m] += subsp->Ju[k * origNc… in PetscSpaceEvaluate_Subspace()
222 if (subsp->u) { in PetscSpaceEvaluate_Subspace()
224 for (j = 0; j < subNc; j++) B[i * subNc + j] = subsp->u[j]; in PetscSpaceEvaluate_Subspace()
230 const PetscReal *subq = &subsp->Q[i * origNb]; in PetscSpaceEvaluate_Subspace()
237 if (subsp->Ju) { in PetscSpaceEvaluate_Subspace()
239 … for (l = 0; l < origNc; l++) B[(j * subNb + i) * subNc + k] += subsp->Ju[k * origNc + l] * phi[l]; in PetscSpaceEvaluate_Subspace()
255 PetscSpace_Subspace *subsp; in PetscSpaceCreate_Subspace() local
258 PetscCall(PetscNew(&subsp)); in PetscSpaceCreate_Subspace()
259 sp->data = (void *)subsp; in PetscSpaceCreate_Subspace()
265 PetscSpace_Subspace *subsp; in PetscSpaceGetDimension_Subspace() local
268 subsp = (PetscSpace_Subspace *)sp->data; in PetscSpaceGetDimension_Subspace()
269 *dim = subsp->Nb; in PetscSpaceGetDimension_Subspace()
284 PetscSpace_Subspace *subsp = (PetscSpace_Subspace *)sp->data; in PetscSpaceSetUp_Subspace() local
287 if (subsp->setupcalled) PetscFunctionReturn(PETSC_SUCCESS); in PetscSpaceSetUp_Subspace()
288 subsp->setupcalled = PETSC_TRUE; in PetscSpaceSetUp_Subspace()
289 x = subsp->x; in PetscSpaceSetUp_Subspace()
290 Jx = subsp->Jx; in PetscSpaceSetUp_Subspace()
291 u = subsp->u; in PetscSpaceSetUp_Subspace()
292 Ju = subsp->Ju; in PetscSpaceSetUp_Subspace()
293 origSpace = subsp->origSpace; in PetscSpaceSetUp_Subspace()
294 dualSubspace = subsp->dualSubspace; in PetscSpaceSetUp_Subspace()
380 subsp->Q = V; in PetscSpaceSetUp_Subspace()
386 PetscSpace_Subspace *subsp = (PetscSpace_Subspace *)sp->data; in PetscSpacePolynomialGetTensor_Subspace() local
390 PetscCall(PetscSpacePolynomialGetTensor(subsp->origSpace, poly)); in PetscSpacePolynomialGetTensor_Subspace()
392 if (subsp->Jx) { in PetscSpacePolynomialGetTensor_Subspace()
396 PetscCall(PetscSpaceGetNumVariables(subsp->origSpace, &origDim)); in PetscSpacePolynomialGetTensor_Subspace()
402 for (j = 0; j < subDim; j++) nnz += (subsp->Jx[i * subDim + j] != 0.); in PetscSpacePolynomialGetTensor_Subspace()
408 for (i = 0; i < origDim; i++) nnz += (subsp->Jx[i * subDim + j] != 0.); in PetscSpacePolynomialGetTensor_Subspace()
449 PetscSpace_Subspace *subsp; in PetscSpaceCreateSubspace() local
474 subsp = (PetscSpace_Subspace *)(*subspace)->data; in PetscSpaceCreateSubspace()
475 subsp->Nb = subNb; in PetscSpaceCreateSubspace()
478 if (x) subsp->x_alloc = x; in PetscSpaceCreateSubspace()
479 if (Jx) subsp->Jx_alloc = Jx; in PetscSpaceCreateSubspace()
480 if (u) subsp->u_alloc = u; in PetscSpaceCreateSubspace()
481 if (Ju) subsp->Ju_alloc = Ju; in PetscSpaceCreateSubspace()
484 if (x) subsp->x = x; in PetscSpaceCreateSubspace()
485 if (Jx) subsp->Jx = Jx; in PetscSpaceCreateSubspace()
486 if (u) subsp->u = u; in PetscSpaceCreateSubspace()
487 if (Ju) subsp->Ju = Ju; in PetscSpaceCreateSubspace()
491 PetscCall(PetscMalloc1(origDim, &subsp->x_alloc)); in PetscSpaceCreateSubspace()
492 PetscCall(PetscArraycpy(subsp->x_alloc, x, origDim)); in PetscSpaceCreateSubspace()
493 subsp->x = subsp->x_alloc; in PetscSpaceCreateSubspace()
496 PetscCall(PetscMalloc1(origDim * subDim, &subsp->Jx_alloc)); in PetscSpaceCreateSubspace()
497 PetscCall(PetscArraycpy(subsp->Jx_alloc, Jx, origDim * subDim)); in PetscSpaceCreateSubspace()
498 subsp->Jx = subsp->Jx_alloc; in PetscSpaceCreateSubspace()
501 PetscCall(PetscMalloc1(subNc, &subsp->u_alloc)); in PetscSpaceCreateSubspace()
502 PetscCall(PetscArraycpy(subsp->u_alloc, u, subNc)); in PetscSpaceCreateSubspace()
503 subsp->u = subsp->u_alloc; in PetscSpaceCreateSubspace()
506 PetscCall(PetscMalloc1(origNc * subNc, &subsp->Ju_alloc)); in PetscSpaceCreateSubspace()
507 PetscCall(PetscArraycpy(subsp->Ju_alloc, Ju, origNc * subNc)); in PetscSpaceCreateSubspace()
508 subsp->Ju = subsp->Ju_alloc; in PetscSpaceCreateSubspace()
515 subsp->origSpace = origSpace; in PetscSpaceCreateSubspace()
517 subsp->dualSubspace = dualSubspace; in PetscSpaceCreateSubspace()