Lines Matching refs:fem
4 static PetscErrorCode PetscFEDestroy_Basic(PetscFE fem) in PetscFEDestroy_Basic() argument
6 PetscFE_Basic *b = (PetscFE_Basic *)fem->data; in PetscFEDestroy_Basic()
46 PETSC_INTERN PetscErrorCode PetscFESetUp_Basic(PetscFE fem) in PetscFESetUp_Basic() argument
54 PetscCall(PetscDualSpaceGetDimension(fem->dualSpace, &pdim)); in PetscFESetUp_Basic()
55 PetscCall(PetscMalloc1(pdim * pdim, &fem->invV)); in PetscFESetUp_Basic()
62 PetscCall(PetscDualSpaceGetFunctional(fem->dualSpace, j, &f)); in PetscFESetUp_Basic()
65 PetscCall(PetscSpaceEvaluate(fem->basisSpace, Nq, points, Bf, NULL, NULL)); in PetscFESetUp_Basic()
68 fem->invV[j * pdim + k] = 0.0; in PetscFESetUp_Basic()
71 …for (c = 0; c < Nc; ++c) fem->invV[j * pdim + k] += Bf[(q * pdim + k) * Nc + c] * weights[q * Nc +… in PetscFESetUp_Basic()
79 PetscCallBLAS("LAPACKgetrf", LAPACKREALgetrf_(&n, &n, fem->invV, &n, pivots, &info)); in PetscFESetUp_Basic()
81 PetscCallBLAS("LAPACKgetri", LAPACKREALgetri_(&n, fem->invV, &n, pivots, work, &n, &info)); in PetscFESetUp_Basic()
87 PetscErrorCode PetscFEGetDimension_Basic(PetscFE fem, PetscInt *dim) in PetscFEGetDimension_Basic() argument
90 PetscCall(PetscDualSpaceGetDimension(fem->dualSpace, dim)); in PetscFEGetDimension_Basic()
122 PETSC_INTERN PetscErrorCode PetscFEComputeTabulation_Basic(PetscFE fem, PetscInt npoints, const Pet… in PetscFEComputeTabulation_Basic() argument
134 PetscCall(PetscDualSpaceGetDM(fem->dualSpace, &dm)); in PetscFEComputeTabulation_Basic()
136 PetscCall(PetscDualSpaceGetDimension(fem->dualSpace, &pdim)); in PetscFEComputeTabulation_Basic()
137 PetscCall(PetscFEGetNumComponents(fem, &Nc)); in PetscFEComputeTabulation_Basic()
142 PetscCall(PetscSpaceEvaluate(fem->basisSpace, npoints, points, tmpB, tmpD, tmpH)); in PetscFEComputeTabulation_Basic()
146 PetscCall(TensorContract_Private(npoints, pdim, Nc, pdim, tmpB, fem->invV, B)); in PetscFEComputeTabulation_Basic()
150 PetscCall(TensorContract_Private(npoints, pdim, Nc * dim, pdim, tmpD, fem->invV, D)); in PetscFEComputeTabulation_Basic()
154 PetscCall(TensorContract_Private(npoints, pdim, Nc * dim * dim, pdim, tmpH, fem->invV, H)); in PetscFEComputeTabulation_Basic()
1249 static PetscErrorCode PetscFEInitialize_Basic(PetscFE fem) in PetscFEInitialize_Basic() argument
1252 fem->ops->setfromoptions = NULL; in PetscFEInitialize_Basic()
1253 fem->ops->setup = PetscFESetUp_Basic; in PetscFEInitialize_Basic()
1254 fem->ops->view = PetscFEView_Basic; in PetscFEInitialize_Basic()
1255 fem->ops->destroy = PetscFEDestroy_Basic; in PetscFEInitialize_Basic()
1256 fem->ops->getdimension = PetscFEGetDimension_Basic; in PetscFEInitialize_Basic()
1257 fem->ops->computetabulation = PetscFEComputeTabulation_Basic; in PetscFEInitialize_Basic()
1258 fem->ops->integrate = PetscFEIntegrate_Basic; in PetscFEInitialize_Basic()
1259 fem->ops->integratebd = PetscFEIntegrateBd_Basic; in PetscFEInitialize_Basic()
1260 fem->ops->integrateresidual = PetscFEIntegrateResidual_Basic; in PetscFEInitialize_Basic()
1261 fem->ops->integratebdresidual = PetscFEIntegrateBdResidual_Basic; in PetscFEInitialize_Basic()
1262 fem->ops->integratehybridresidual = PetscFEIntegrateHybridResidual_Basic; in PetscFEInitialize_Basic()
1263 fem->ops->integratejacobianaction = NULL /* PetscFEIntegrateJacobianAction_Basic */; in PetscFEInitialize_Basic()
1264 fem->ops->integratejacobian = PetscFEIntegrateJacobian_Basic; in PetscFEInitialize_Basic()
1265 fem->ops->integratebdjacobian = PetscFEIntegrateBdJacobian_Basic; in PetscFEInitialize_Basic()
1266 fem->ops->integratehybridjacobian = PetscFEIntegrateHybridJacobian_Basic; in PetscFEInitialize_Basic()
1278 PETSC_EXTERN PetscErrorCode PetscFECreate_Basic(PetscFE fem) in PetscFECreate_Basic() argument
1283 PetscValidHeaderSpecific(fem, PETSCFE_CLASSID, 1); in PetscFECreate_Basic()
1285 fem->data = b; in PetscFECreate_Basic()
1287 PetscCall(PetscFEInitialize_Basic(fem)); in PetscFECreate_Basic()