| /petsc/src/dm/dt/fe/impls/basic/ |
| H A D | febasic.c | 209 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 D | plexproject.c | 70 …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 D | plexfem.c | 1464 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() 1543 …fegeom.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 D | dualspace.c | 1884 …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 D | petscfeimpl.h | 296 …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 D | ex2.c | 447 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() 515 …fegeom.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 D | fe.c | 1221 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 D | swarmpic.c | 1309 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 D | dmadapt.c | 901 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 D | ex3.c | 79 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 D | ex2.c | 142 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 D | ex4.c | 190 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()
|