34 DM da = NULL, swarm = NULL;
37 PetscFunctionBeginUser;
38 PetscCall(DMDACreate3d(PETSC_COMM_WORLD,
39 DM_BOUNDARY_NONE, DM_BOUNDARY_NONE, DM_BOUNDARY_NONE,
42 PETSC_DECIDE, PETSC_DECIDE, PETSC_DECIDE,
46 PetscCall(DMSetUp(da));
47 PetscCall(DMCreateGlobalVector(da, &vec));
49 PetscCall(DMCreate(PETSC_COMM_WORLD, &swarm));
50 PetscCall(DMSetType(swarm, DMSWARM));
51 PetscCall(DMSetDimension(swarm, 3));
52 PetscCall(DMSwarmSetType(swarm, DMSWARM_BASIC));
53 PetscCall(DMSwarmSetCellDM(swarm, da));
54 PetscCall(DMSwarmRegisterPetscDatatypeField(swarm,
"position", 3, PETSC_REAL));
55 PetscCall(DMSwarmFinalizeFieldRegister(swarm));
56 PetscCall(DMSwarmSetLocalSizes(swarm, 1, 0));
58 PetscCall(VecDestroy(&vec));
59 PetscCall(DMDestroy(&swarm));
60 PetscCall(DMDestroy(&da));
61 PetscFunctionReturn(0);
PetscErrorCode PicurvRunTests(const char *suite_name, const PicurvTestCase *cases, size_t case_count)
Shared test-support routine.