Home
last modified time | relevance | path

Searched refs:fegeom (Results 1 – 12 of 12) sorted by relevance

/petsc/src/dm/dt/fe/impls/basic/
H A Dfebasic.c209 PetscFEGeom fegeom; in PetscFEIntegrate_Basic() local
211 fegeom.dim = cgeom->dim; in PetscFEIntegrate_Basic()
212 fegeom.dimEmbed = cgeom->dimEmbed; in PetscFEIntegrate_Basic()
213 fegeom.xi = NULL; in PetscFEIntegrate_Basic()
215 fegeom.v = x; in PetscFEIntegrate_Basic()
216 fegeom.xi = cgeom->xi; in PetscFEIntegrate_Basic()
217 fegeom.J = &cgeom->J[e * Np * dE * dE]; in PetscFEIntegrate_Basic()
218 fegeom.invJ = &cgeom->invJ[e * Np * dE * dE]; in PetscFEIntegrate_Basic()
219 fegeom.detJ = &cgeom->detJ[e * Np]; in PetscFEIntegrate_Basic()
220 } else fegeom.xi = NULL; in PetscFEIntegrate_Basic()
[all …]
/petsc/src/dm/impls/plex/
H A Dplexproject.c70 …e(DM dm, PetscDS ds, DM dmIn, PetscDS dsIn, PetscReal time, PetscFEGeom *fegeom, PetscFVCellGeom *… in DMProjectPoint_Func_Private() argument
83 isAffine = fegeom->isAffine; in DMProjectPoint_Func_Private()
113 if (dim != fegeom->dim) { in DMProjectPoint_Func_Private()
114 … dimension %" PetscInt_FMT " != %" PetscInt_FMT " dual basis spatial dimension", fegeom->dim, dim); in DMProjectPoint_Func_Private()
119 … CoordinatesRefToReal(coordDim, fegeom->dim, fegeom->xi, fegeom->v, fegeom->J, refpoint, x); in DMProjectPoint_Func_Private()
122 v0 = &fegeom->v[tp * coordDim]; in DMProjectPoint_Func_Private()
146 PetscCall(PetscDualSpacePullback(sp[f], fegeom, numPoints, Nc[f], pointEval)); in DMProjectPoint_Func_Private()
207 PetscFEGeom fegeom, fgeomN[2]; in DMProjectPoint_Field_Private() local
265 fegeom.dim = cgeom->dim; in DMProjectPoint_Field_Private()
266 fegeom.dimEmbed = cgeom->dimEmbed; in DMProjectPoint_Field_Private()
[all …]
H A Dplexfem.c1464 PetscFEGeom fegeom; in DMPlexComputeL2DiffLocal() local
1475 fegeom.dimEmbed = coordDim; in DMPlexComputeL2DiffLocal()
1504 …coordDim * (Nq + 1), &coords, Nq, &fegeom.detJ, coordDim * coordDim * Nq, &fegeom.J, coordDim * co… in DMPlexComputeL2DiffLocal()
1512 … PetscCall(DMPlexComputeCellGeometryFEM(dm, c, quad, coords, fegeom.J, fegeom.invJ, fegeom.detJ)); in DMPlexComputeL2DiffLocal()
1539 qgeom.dimEmbed = fegeom.dimEmbed; in DMPlexComputeL2DiffLocal()
1540 qgeom.J = &fegeom.J[q * coordDim * coordDim]; in DMPlexComputeL2DiffLocal()
1541 qgeom.invJ = &fegeom.invJ[q * coordDim * coordDim]; in DMPlexComputeL2DiffLocal()
1542 qgeom.detJ = &fegeom.detJ[q]; in DMPlexComputeL2DiffLocal()
1543fegeom.detJ[q] > 0.0, PETSC_COMM_SELF, PETSC_ERR_ARG_OUTOFRANGE, "Invalid determinant %g for eleme… in DMPlexComputeL2DiffLocal()
1555 PetscCall(PetscFree6(funcVal, interpolant, coords, fegeom.detJ, fegeom.J, fegeom.invJ)); in DMPlexComputeL2DiffLocal()
[all …]
/petsc/src/dm/dt/dualspace/interface/
H A Ddualspace.c1884 …sp, PetscDualSpaceTransformType trans, PetscBool isInverse, PetscFEGeom *fegeom, PetscInt Nv, Pets… in PetscDualSpaceTransform() argument
1891 PetscAssertPointer(fegeom, 4); in PetscDualSpaceTransform()
1899 …PetscCall(PetscDTAltVPullbackMatrix(dim, dim, isInverse ? fegeom->J : fegeom->invJ, dsp->k, Jstar)… in PetscDualSpaceTransform()
1940 …sp, PetscDualSpaceTransformType trans, PetscBool isInverse, PetscFEGeom *fegeom, PetscInt Nv, Pets… in PetscDualSpaceTransformGradient() argument
1942 const PetscInt dim = dsp->dm->dim, dE = fegeom->dimEmbed; in PetscDualSpaceTransformGradient()
1947 PetscAssertPointer(fegeom, 4); in PetscDualSpaceTransformGradient()
1956 vals[(v * Nc + c) * dim] *= fegeom->invJ[0]; in PetscDualSpaceTransformGradient()
1959 …DMPlex_MultTranspose2DReal_Internal(fegeom->invJ, 1, &vals[(v * Nc + c) * dim], &vals[(v * Nc + c)… in PetscDualSpaceTransformGradient()
1962 …DMPlex_MultTranspose3DReal_Internal(fegeom->invJ, 1, &vals[(v * Nc + c) * dim], &vals[(v * Nc + c)… in PetscDualSpaceTransformGradient()
1971 …for (c = 0; c < Nc; ++c) DMPlex_MultTransposeReal_Internal(fegeom->invJ, dim, dE, 1, &vals[(v * Nc… in PetscDualSpaceTransformGradient()
[all …]
/petsc/include/petsc/private/
H A Dpetscfeimpl.h296 …etscFEInterpolate_Static(PetscFE fe, const PetscScalar x[], PetscFEGeom *fegeom, PetscInt q, Petsc… in PetscFEInterpolate_Static() argument
311 PetscCall(PetscFEPushforward(fe, fegeom, 1, interpolant)); in PetscFEInterpolate_Static()
315 …tatic(PetscFE fe, PetscTabulation T, const PetscScalar x[], PetscFEGeom *fegeom, PetscInt q, Petsc… in PetscFEInterpolateAtPoints_Static() argument
329 PetscCall(PetscFEPushforward(fe, fegeom, 1, interpolant)); in PetscFEInterpolateAtPoints_Static()
333 …dient_Static(PetscFE fe, PetscInt k, const PetscScalar x[], PetscFEGeom *fegeom, PetscInt q, Petsc… in PetscFEInterpolateGradient_Static() argument
347 …dim == fegeom->dimEmbed, PETSC_COMM_SELF, PETSC_ERR_ARG_INCOMP, "Geometry dim %" PetscInt_FMT " mu… in PetscFEInterpolateGradient_Static()
365 PetscCall(PetscFEPushforwardGradient(fe, fegeom, 1, interpolant)); in PetscFEInterpolateGradient_Static()
398 …dient_Static(PetscFE fe, PetscInt k, const PetscScalar x[], PetscFEGeom *fegeom, PetscInt q, Petsc… in PetscFEInterpolateFieldAndGradient_Static() argument
413 …dim == fegeom->dimEmbed, PETSC_COMM_SELF, PETSC_ERR_ARG_INCOMP, "Geometry dim %" PetscInt_FMT " mu… in PetscFEInterpolateFieldAndGradient_Static()
431 PetscCall(PetscFEPushforwardHessian(fe, fegeom, 1, &interpolantGrad[off])); in PetscFEInterpolateFieldAndGradient_Static()
[all …]
/petsc/src/dm/impls/swarm/tests/
H A Dex2.c447 PetscFEGeom fegeom; in InterpolateGradient() local
457 fegeom.dimEmbed = coordDim; in InterpolateGradient()
482 …lant, coordDim * Nq, &coords, Nq, &fegeom.detJ, coordDim * coordDim * Nq, &fegeom.J, coordDim * co… in InterpolateGradient()
497 …PetscCall(DMPlexComputeCellGeometryFEM(dm, cell, quad, coords, fegeom.J, fegeom.invJ, fegeom.detJ)… in InterpolateGradient()
515fegeom.detJ[q] > 0.0, PETSC_COMM_SELF, PETSC_ERR_ARG_OUTOFRANGE, "Invalid determinant %g for eleme… in InterpolateGradient()
516 …Call(PetscFEInterpolateGradient_Static((PetscFE)obj, 1, &x[fieldOffset], &fegeom, q, interpolant)); in InterpolateGradient()
521 …= 0; d < coordDim; ++d) grad[fc * coordDim + d] += interpolant[fc * dim + d] * wt * fegeom.detJ[q]; in InterpolateGradient()
544 PetscCall(PetscFree6(gradsum, interpolant, coords, fegeom.detJ, fegeom.J, fegeom.invJ)); in InterpolateGradient()
/petsc/src/dm/dt/fe/interface/
H A Dfe.c1221 PetscErrorCode PetscFEPushforward(PetscFE fe, PetscFEGeom *fegeom, PetscInt Nv, PetscScalar vals[]) in PetscFEPushforward() argument
1224 PetscCall(PetscDualSpacePushforward(fe->dualSpace, fegeom, Nv, fe->numComponents, vals)); in PetscFEPushforward()
1249 PetscErrorCode PetscFEPushforwardGradient(PetscFE fe, PetscFEGeom *fegeom, PetscInt Nv, PetscScalar… in PetscFEPushforwardGradient() argument
1252 PetscCall(PetscDualSpacePushforwardGradient(fe->dualSpace, fegeom, Nv, fe->numComponents, vals)); in PetscFEPushforwardGradient()
1280 PetscErrorCode PetscFEPushforwardHessian(PetscFE fe, PetscFEGeom *fegeom, PetscInt Nv, PetscScalar … in PetscFEPushforwardHessian() argument
1283 PetscCall(PetscDualSpacePushforwardHessian(fe->dualSpace, fegeom, Nv, fe->numComponents, vals)); in PetscFEPushforwardHessian()
2357 …, PetscInt Nf, PetscInt r, PetscInt q, PetscTabulation T[], PetscFEGeom *fegeom, const PetscScalar… in PetscFEEvaluateFieldJets_Internal() argument
2367 const PetscInt dE = fegeom->dimEmbed; in PetscFEEvaluateFieldJets_Internal()
2397 PetscCall(PetscFEPushforwardHessian(fe, fegeom, 1, &u_x[hOffset + fOffset * dE * dE])); in PetscFEEvaluateFieldJets_Internal()
2399 PetscCall(PetscFEPushforward(fe, fegeom, 1, &u[fOffset])); in PetscFEEvaluateFieldJets_Internal()
[all …]
/petsc/src/dm/impls/swarm/
H A Dswarmpic.c1309 PetscFEGeom fegeom; in DMProjectFieldLocal_Swarm() local
1330 fegeom.dim = dim; in DMProjectFieldLocal_Swarm()
1331 fegeom.dimEmbed = dE; in DMProjectFieldLocal_Swarm()
1332 fegeom.v = v0; in DMProjectFieldLocal_Swarm()
1333 fegeom.xi = v0ref; in DMProjectFieldLocal_Swarm()
1334 fegeom.J = J; in DMProjectFieldLocal_Swarm()
1335 fegeom.invJ = invJ; in DMProjectFieldLocal_Swarm()
1336 fegeom.detJ = &detJ; in DMProjectFieldLocal_Swarm()
1384 CoordinatesRealToRef(dE, dim, fegeom.xi, fegeom.v, fegeom.invJ, xr, &xi[p * dim]); in DMProjectFieldLocal_Swarm()
1400 …PetscCall(PetscFEEvaluateFieldJets_Internal(ds, Nfu, 0, p, T, &fegeom, closure, NULL, u, u_x, NULL… in DMProjectFieldLocal_Swarm()
/petsc/src/snes/utils/dm/
H A Ddmadapt.c901 PetscFEGeom fegeom; in DMAdaptorComputeErrorIndicator_Gradient() local
906 fegeom.dim = dim; in DMAdaptorComputeErrorIndicator_Gradient()
907 fegeom.dimEmbed = cdim; in DMAdaptorComputeErrorIndicator_Gradient()
912 … * Nc, &gradient, cdim * Nq, &coords, Nq, &fegeom.detJ, cdim * cdim * Nq, &fegeom.J, cdim * cdim *… in DMAdaptorComputeErrorIndicator_Gradient()
914 …scCall(DMPlexComputeCellGeometryFEM(plex, cell, quad, coords, fegeom.J, fegeom.invJ, fegeom.detJ)); in DMAdaptorComputeErrorIndicator_Gradient()
925 …PetscCall(PetscFEInterpolateFieldAndGradient_Static((PetscFE)obj, 1, x, &fegeom, q, interpolant, i… in DMAdaptorComputeErrorIndicator_Gradient()
929 field[fc] += interpolant[fc] * wt * fegeom.detJ[q]; in DMAdaptorComputeErrorIndicator_Gradient()
930 …= 0; d < cdim; ++d) gradient[fc * cdim + d] += interpolantGrad[fc * dim + d] * wt * fegeom.detJ[q]; in DMAdaptorComputeErrorIndicator_Gradient()
942 PetscCall(PetscFree6(field, gradient, coords, fegeom.detJ, fegeom.J, fegeom.invJ)); in DMAdaptorComputeErrorIndicator_Gradient()
/petsc/src/ts/tutorials/hamiltonian/
H A Dex3.c79 PetscFEGeom *fegeom; // Geometric information for the DM cells member
842 PetscCall(DMFieldCreateFEGeom(coordField, cellIS, quad, PETSC_FEGEOM_BASIC, &user->fegeom)); in CreateMesh()
1087 PetscCall(PetscFEGeomGetChunk(user->fegeom, c - cStart, c - cStart + 1, &chunkgeom)); in ComputeFieldAtParticles_Primal()
1112 PetscCall(PetscFEGeomRestoreChunk(user->fegeom, 0, 1, &chunkgeom)); in ComputeFieldAtParticles_Primal()
1697 PetscCall(PetscFEGeomDestroy(&user.fegeom)); in main()
H A Dex2.c142 PetscFEGeom *fegeom; // Geometric information for the DM cells member
934 PetscCall(DMFieldCreateFEGeom(coordField, cellIS, quad, PETSC_FEGEOM_BASIC, &ctx->fegeom)); in CreateMesh()
1671 PetscCall(PetscFEGeomGetChunk(ctx->fegeom, c - cStart, c - cStart + 1, &chunkgeom)); in ComputeFieldAtParticles_Primal()
1696 PetscCall(PetscFEGeomRestoreChunk(ctx->fegeom, 0, 1, &chunkgeom)); in ComputeFieldAtParticles_Primal()
1797 PetscCall(PetscFEGeomGetChunk(ctx->fegeom, c - cStart, c - cStart + 1, &chunkgeom)); in ComputeFieldAtParticles_Mixed()
1822 PetscCall(PetscFEGeomRestoreChunk(ctx->fegeom, 0, 1, &chunkgeom)); in ComputeFieldAtParticles_Mixed()
2447 PetscCall(PetscFEGeomDestroy(&ctx.fegeom)); in main()
H A Dex4.c190 PetscFEGeom *fegeom; // Geometric information for the DM cells member
1450 PetscCall(DMFieldCreateFEGeom(coordField, cellIS, quad, PETSC_FEGEOM_BASIC, &ctx->fegeom)); in CreateMesh()
2275 PetscCall(PetscFEGeomGetChunk(ctx->fegeom, c - cStart, c - cStart + 1, &chunkgeom)); in ComputeFieldAtParticles_Primal()
2300 PetscCall(PetscFEGeomRestoreChunk(ctx->fegeom, 0, 1, &chunkgeom)); in ComputeFieldAtParticles_Primal()
2402 PetscCall(PetscFEGeomGetChunk(ctx->fegeom, c - cStart, c - cStart + 1, &chunkgeom)); in ComputeFieldAtParticles_Mixed()
2427 PetscCall(PetscFEGeomRestoreChunk(ctx->fegeom, 0, 1, &chunkgeom)); in ComputeFieldAtParticles_Mixed()
3071 PetscCall(PetscFEGeomDestroy(&ctx.fegeom)); in main()