| /petsc/src/dm/dt/fe/impls/composite/ |
| H A D | fecomposite.c | 6 static PetscErrorCode PetscFEDestroy_Composite(PetscFE fem) in PetscFEDestroy_Composite() argument 8 PetscFE_Composite *cmp = (PetscFE_Composite *)fem->data; in PetscFEDestroy_Composite() 16 static PetscErrorCode PetscFESetUp_Composite(PetscFE fem) in PetscFESetUp_Composite() argument 18 PetscFE_Composite *cmp = (PetscFE_Composite *)fem->data; in PetscFESetUp_Composite() 31 PetscCall(PetscDualSpaceGetDM(fem->dualSpace, &K)); in PetscFESetUp_Composite() 39 PetscCall(PetscDualSpaceGetDimension(fem->dualSpace, &pdim)); in PetscFESetUp_Composite() 40 PetscCall(PetscSpaceGetDimension(fem->basisSpace, &spdim)); in PetscFESetUp_Composite() 43 PetscCall(PetscDualSpaceGetSection(fem->dualSpace, §ion)); in PetscFESetUp_Composite() 59 …PetscCheck(sd == spdim, PetscObjectComm((PetscObject)fem), PETSC_ERR_PLIB, "Subelement %" PetscInt… in PetscFESetUp_Composite() 63 PetscCall(PetscMalloc1(cmp->numSubelements * spdim * spdim, &fem->invV)); in PetscFESetUp_Composite() [all …]
|
| /petsc/src/dm/dt/fe/interface/ |
| H A D | fe.c | 112 PetscErrorCode PetscFESetType(PetscFE fem, PetscFEType name) in PetscFESetType() argument 118 PetscValidHeaderSpecific(fem, PETSCFE_CLASSID, 1); in PetscFESetType() 119 PetscCall(PetscObjectTypeCompare((PetscObject)fem, name, &match)); in PetscFESetType() 124 …PetscCheck(r, PetscObjectComm((PetscObject)fem), PETSC_ERR_ARG_UNKNOWN_TYPE, "Unknown PetscFE type… in PetscFESetType() 126 PetscTryTypeMethod(fem, destroy); in PetscFESetType() 127 fem->ops->destroy = NULL; in PetscFESetType() 129 PetscCall((*r)(fem)); in PetscFESetType() 130 PetscCall(PetscObjectChangeTypeName((PetscObject)fem, name)); in PetscFESetType() 149 PetscErrorCode PetscFEGetType(PetscFE fem, PetscFEType *name) in PetscFEGetType() argument 152 PetscValidHeaderSpecific(fem, PETSCFE_CLASSID, 1); in PetscFEGetType() [all …]
|
| /petsc/src/dm/dt/fe/impls/opencl/ |
| H A D | feopencl.c | 7 static PetscErrorCode PetscFEDestroy_OpenCL(PetscFE fem) in PetscFEDestroy_OpenCL() argument 9 PetscFE_OpenCL *ocl = (PetscFE_OpenCL *)fem->data; in PetscFEDestroy_OpenCL() 46 static PetscErrorCode PetscFEOpenCLGenerateIntegrationCode(PetscFE fem, char **string_buffer, Petsc… in PetscFEOpenCLGenerateIntegrationCode() argument 48 PetscFE_OpenCL *ocl = (PetscFE_OpenCL *)fem->data; in PetscFEOpenCLGenerateIntegrationCode() 67 PetscCall(PetscFEGetSpatialDimension(fem, &dim)); in PetscFEOpenCLGenerateIntegrationCode() 68 PetscCall(PetscFEGetDimension(fem, &N_b)); in PetscFEOpenCLGenerateIntegrationCode() 69 PetscCall(PetscFEGetNumComponents(fem, &N_c)); in PetscFEOpenCLGenerateIntegrationCode() 70 PetscCall(PetscFEGetQuadrature(fem, &q)); in PetscFEOpenCLGenerateIntegrationCode() 109 PetscCall(PetscFEGetCellTabulation(fem, 1, &T)); in PetscFEOpenCLGenerateIntegrationCode() 438 static PetscErrorCode PetscFEOpenCLGetIntegrationKernel(PetscFE fem, PetscBool useAux, cl_program *… in PetscFEOpenCLGetIntegrationKernel() argument [all …]
|
| /petsc/src/dm/impls/swarm/ |
| H A D | swarmpic_plex.c | 19 …FECreateDefault_scalar_pk1(DM dm, PetscInt dim, PetscBool isSimplex, PetscInt qorder, PetscFE *fem) in private_PetscFECreateDefault_scalar_pk1() argument 56 PetscCall(PetscFECreate(PetscObjectComm((PetscObject)dm), fem)); in private_PetscFECreateDefault_scalar_pk1() 59 PetscCall(PetscFESetType(*fem, PETSCFEBASIC)); in private_PetscFECreateDefault_scalar_pk1() 60 PetscCall(PetscFESetBasisSpace(*fem, P)); in private_PetscFECreateDefault_scalar_pk1() 61 PetscCall(PetscFESetDualSpace(*fem, Q)); in private_PetscFECreateDefault_scalar_pk1() 62 PetscCall(PetscFESetNumComponents(*fem, Nc)); in private_PetscFECreateDefault_scalar_pk1() 63 PetscCall(PetscFESetUp(*fem)); in private_PetscFECreateDefault_scalar_pk1() 76 PetscCall(PetscFESetQuadrature(*fem, q)); in private_PetscFECreateDefault_scalar_pk1() 77 PetscCall(PetscFESetFaceQuadrature(*fem, fq)); in private_PetscFECreateDefault_scalar_pk1()
|
| /petsc/src/dm/dt/fe/impls/basic/ |
| H A D | febasic.c | 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() [all …]
|
| /petsc/src/dm/impls/plex/ |
| H A D | plexglvis.c | 118 PetscFE fem = (PetscFE)disc; in DMSetUpGLVisViewer_Plex() local 124 PetscCall(PetscFEGetNumComponents(fem, &Nc)); in DMSetUpGLVisViewer_Plex() 125 PetscCall(PetscFEGetDualSpace(fem, &sp)); in DMSetUpGLVisViewer_Plex() 308 static PetscErrorCode GLVisCreateFE(PetscFE femIn, char name[32], PetscFE *fem, IS *perm) in GLVisCreateFE() argument 371 PetscCall(PetscFECreate(comm, fem)); in GLVisCreateFE() 373 PetscCall(PetscObjectSetName((PetscObject)*fem, name)); in GLVisCreateFE() 374 PetscCall(PetscFESetType(*fem, PETSCFEBASIC)); in GLVisCreateFE() 375 PetscCall(PetscFESetNumComponents(*fem, dof)); in GLVisCreateFE() 376 PetscCall(PetscFESetBasisSpace(*fem, P)); in GLVisCreateFE() 377 PetscCall(PetscFESetDualSpace(*fem, Q)); in GLVisCreateFE() [all …]
|
| H A D | plexgmsh.c | 1398 …etscBool continuity, PetscDTNodeType nodeType, PetscInt dim, PetscInt Nc, PetscInt k, PetscFE *fem) in GmshCreateFE() argument 1449 PetscCall(PetscFECreate(comm, fem)); in GmshCreateFE() 1450 PetscCall(PetscFESetType(*fem, PETSCFEBASIC)); in GmshCreateFE() 1451 PetscCall(PetscFESetNumComponents(*fem, Nc)); in GmshCreateFE() 1452 PetscCall(PetscFESetBasisSpace(*fem, P)); in GmshCreateFE() 1453 PetscCall(PetscFESetDualSpace(*fem, Q)); in GmshCreateFE() 1454 PetscCall(PetscFESetQuadrature(*fem, q)); in GmshCreateFE() 1455 PetscCall(PetscFESetFaceQuadrature(*fem, fq)); in GmshCreateFE() 1457 PetscCall(PetscObjectSetOptionsPrefix((PetscObject)*fem, prefix)); in GmshCreateFE() 1458 PetscCall(PetscFESetFromOptions(*fem)); in GmshCreateFE() [all …]
|
| H A D | plexproject.c | 902 PetscFE fem, subfem; in DMProjectLocal_Generic_Plex() local 918 PetscCall(PetscDSGetDiscretization(dsIn, f, (PetscObject *)&fem)); in DMProjectLocal_Generic_Plex() 920 subfem = fem; in DMProjectLocal_Generic_Plex() 921 } else PetscCall(PetscFEGetHeightSubspace(fem, htIncIn, &subfem)); in DMProjectLocal_Generic_Plex() 928 PetscCall(PetscDSGetDiscretization(dsAux, f, (PetscObject *)&fem)); in DMProjectLocal_Generic_Plex() 930 subfem = fem; in DMProjectLocal_Generic_Plex() 931 } else PetscCall(PetscFEGetHeightSubspace(fem, htIncAux, &subfem)); in DMProjectLocal_Generic_Plex()
|
| H A D | plex.c | 644 PetscBool fem = PETSC_FALSE; in VecView_Plex_Local() local 654 fem = PETSC_TRUE; in VecView_Plex_Local() 658 if (fem) { in VecView_Plex_Local() 693 if (fem) { in VecView_Plex_Local()
|
| /petsc/src/snes/tutorials/ |
| H A D | ex75.c | 9 PetscBool fem; /* Flag for FEM tests */ member 15 options->fem = PETSC_FALSE; in ProcessOptions() 17 PetscCall(PetscOptionsBool("-fem", "Run FEM tests", "ex75.c", options->fem, &options->fem, NULL)); in ProcessOptions() 552 if (!ctx->fem) PetscFunctionReturn(PETSC_SUCCESS);
|
| /petsc/src/snes/utils/dm/ |
| H A D | dminterpolatesnes.c | 529 PetscFE fem = NULL; in DMInterpolate_Quad_Private() local 555 fem = (PetscFE)obj; in DMInterpolate_Quad_Private() 556 PetscCall(PetscFECreateTabulation(fem, 1, 1, xir, 0, &T)); in DMInterpolate_Quad_Private() 599 …PetscCheck(fem, ctx->comm, PETSC_ERR_ARG_WRONG, "Cannot have a higher order interpolant if the dis… in DMInterpolate_Quad_Private() 602 PetscCall(PetscFEComputeTabulation(fem, 1, xir, 0, T)); in DMInterpolate_Quad_Private()
|
| /petsc/doc/ |
| H A D | index.md | 76 - [DUNE-FEM](https://dune-project.org/sphinx/content/sphinx/dune-fem/) Python and C++-based finite …
|
| H A D | petsc.bib | 8537 @Unpublished{ petsc-fem, 10486 @Misc{ petsc-fem:homepage, 17554 keywords = {fem, multigrid}, 17577 keywords = {amg, fem, multigrid},
|
| /petsc/share/petsc/datafiles/meshes/ |
| H A D | testcase3D.cas | 6902 (dynamesh/smooth/fem/stabilization/krylov-size-last-used 0) 6903 (dynamesh/smooth/fem/stabilization/krylov-size 10) 6904 (dynamesh/smooth/fem/precondition/max-cycles 1) 6905 (dynamesh/smooth/fem/precondition/alpha 0.3) 6906 (dynamesh/smooth/fem/use-max-residual? #t) 6907 (dynamesh/smooth/fem/amg-conservative-coarsening? #f) 6908 (dynamesh/smooth/fem/amg-divergence-epsilon 1000000.) 6909 (dynamesh/smooth/fem/amg-tolerance 1e-09) 6910 (dynamesh/smooth/fem/amg-scale-matrix? #f) 6911 (dynamesh/smooth/fem/amg-stabilization 3) [all …]
|
| /petsc/src/dm/interface/ |
| H A D | dm.c | 5897 …ErrorCode DMCreateFEDefault(DM dm, PetscInt Nc, const char prefix[], PetscInt qorder, PetscFE *fem) in DMCreateFEDefault() argument 5907 PetscAssertPointer(fem, 5); in DMCreateFEDefault() 5911 PetscCall(PetscFECreateByCell(PETSC_COMM_SELF, dim, Nc, ct, prefix, qorder, fem)); in DMCreateFEDefault()
|
| /petsc/src/ts/utils/dmplexlandau/ |
| H A D | plexland.c | 907 static PetscErrorCode adaptToleranceFEM(PetscFE fem, Vec sol, PetscInt type, PetscInt grid, LandauC… in adaptToleranceFEM() argument 926 PetscCall(PetscFEGetQuadrature(fem, &quad)); in adaptToleranceFEM()
|