Lines Matching refs:mesh

218 static PetscErrorCode PerturbMesh(DM *mesh, PetscScalar *coordVals, PetscInt npoints, PetscInt dim)  in PerturbMesh()  argument
225 PetscCall(DMGetCoordinateDim(*mesh, &dim)); in PerturbMesh()
226 PetscCall(DMGetLocalBoundingBox(*mesh, minCoords, maxCoords)); in PerturbMesh()
250 static PetscErrorCode SkewMesh(DM *mesh, PetscScalar *coordVals, PetscInt npoints, PetscInt dim) in SkewMesh() argument
287 static PetscErrorCode TransformMesh(UserCtx *user, DM *mesh) in TransformMesh() argument
294 PetscCall(DMGetCoordinates(*mesh, &coords)); in TransformMesh()
297 PetscCall(DMGetCoordinateDim(*mesh, &dim)); in TransformMesh()
302 PetscCall(PerturbMesh(mesh, coordVals, npoints, dim)); in TransformMesh()
305 PetscCall(SkewMesh(mesh, coordVals, npoints, dim)); in TransformMesh()
308 PetscCall(SkewMesh(mesh, coordVals, npoints, dim)); in TransformMesh()
309 PetscCall(PerturbMesh(mesh, coordVals, npoints, dim)); in TransformMesh()
315 PetscCall(DMSetCoordinates(*mesh, coords)); in TransformMesh()
319 static PetscErrorCode CreateMesh(MPI_Comm comm, UserCtx *user, DM *mesh) in CreateMesh() argument
322 PetscCall(DMCreate(comm, mesh)); in CreateMesh()
323 PetscCall(DMSetType(*mesh, DMPLEX)); in CreateMesh()
324 PetscCall(DMSetFromOptions(*mesh)); in CreateMesh()
327 if (user->mesh_transform != NONE) PetscCall(TransformMesh(user, mesh)); in CreateMesh()
330 PetscCall(DMSetApplicationContext(*mesh, user)); in CreateMesh()
331 PetscCall(DMViewFromOptions(*mesh, NULL, "-dm_view")); in CreateMesh()
381 static PetscErrorCode SetupDiscretization(DM mesh, PetscErrorCode (*setup)(DM, UserCtx *), UserCtx … in SetupDiscretization() argument
383 DM cdm = mesh; in SetupDiscretization()
389 PetscCall(DMGetDimension(mesh, &dim)); in SetupDiscretization()
390 PetscCall(DMPlexIsSimplex(mesh, &simplex)); in SetupDiscretization()
393 …PetscCall(PetscFECreateDefault(PetscObjectComm((PetscObject)mesh), dim, dim, simplex, "velocity_",… in SetupDiscretization()
396 …PetscCall(PetscFECreateDefault(PetscObjectComm((PetscObject)mesh), dim, 1, simplex, "pressure_", -… in SetupDiscretization()
399 …PetscCall(PetscFECreateDefault(PetscObjectComm((PetscObject)mesh), dim, 1, simplex, "divErr_", -1,… in SetupDiscretization()
406 PetscCall(DMSetField(mesh, 0, NULL, (PetscObject)fevel)); in SetupDiscretization()
407 PetscCall(DMSetField(mesh, 1, NULL, (PetscObject)fepres)); in SetupDiscretization()
408 PetscCall(DMSetField(mesh, 2, NULL, (PetscObject)fedivErr)); in SetupDiscretization()
409 PetscCall(DMCreateDS(mesh)); in SetupDiscretization()
410 PetscCall((*setup)(mesh, user)); in SetupDiscretization()
413 PetscCall(DMCopyDisc(mesh, cdm)); in SetupDiscretization()
430 DM mesh; in main() local
448 PetscCall(CreateMesh(PETSC_COMM_WORLD, &user, &mesh)); in main()
449 PetscCall(SNESSetDM(snes, mesh)); in main()
450 PetscCall(SetupDiscretization(mesh, SetupProblem, &user)); in main()
451 PetscCall(DMPlexSetSNESLocalFEM(mesh, PETSC_FALSE, &user)); in main()
455 PetscCall(DMCreateFieldIS(mesh, NULL, NULL, &fieldIS)); in main()
459 PetscCall(DMCreateGlobalVector(mesh, &computed)); in main()
484 PetscCall(DMDestroy(&mesh)); in main()