Lines Matching refs:sw
50 static PetscErrorCode CreateSwarm(DM dm, AppCtx *user, DM *sw) in CreateSwarm() argument
56 PetscCall(DMCreate(PetscObjectComm((PetscObject)dm), sw)); in CreateSwarm()
57 PetscCall(DMSetType(*sw, DMSWARM)); in CreateSwarm()
58 PetscCall(DMSetDimension(*sw, dim)); in CreateSwarm()
59 PetscCall(DMSwarmSetType(*sw, DMSWARM_PIC)); in CreateSwarm()
60 PetscCall(DMSwarmSetCellDM(*sw, dm)); in CreateSwarm()
61 PetscCall(DMSwarmRegisterPetscDatatypeField(*sw, "w_q", 1, PETSC_SCALAR)); in CreateSwarm()
62 PetscCall(DMSwarmRegisterPetscDatatypeField(*sw, "velocity", dim, PETSC_REAL)); in CreateSwarm()
63 PetscCall(DMSwarmRegisterPetscDatatypeField(*sw, "species", 1, PETSC_INT)); in CreateSwarm()
64 PetscCall(DMSwarmFinalizeFieldRegister(*sw)); in CreateSwarm()
65 PetscCall(DMSwarmComputeLocalSizeFromOptions(*sw)); in CreateSwarm()
66 PetscCall(DMSwarmInitializeCoordinates(*sw)); in CreateSwarm()
67 PetscCall(DMSwarmInitializeVelocitiesFromOptions(*sw, user->v0)); in CreateSwarm()
68 PetscCall(DMSetFromOptions(*sw)); in CreateSwarm()
69 PetscCall(PetscObjectSetName((PetscObject)*sw, "Particles")); in CreateSwarm()
70 PetscCall(DMViewFromOptions(*sw, NULL, "-swarm_view")); in CreateSwarm()
74 static PetscErrorCode TestDistribution(DM sw, PetscReal confidenceLevel, AppCtx *user) in TestDistribution() argument
84 PetscCall(PetscObjectGetComm((PetscObject)sw, &comm)); in TestDistribution()
85 PetscCall(DMSwarmGetCellDM(sw, &dm)); in TestDistribution()
87 PetscCall(DMGetDimension(sw, &dim)); in TestDistribution()
101 PetscCall(DMSwarmCreateLocalVectorFromField(sw, DMSwarmPICField_coor, &locx)); in TestDistribution()
102 PetscCall(DMSwarmCreateLocalVectorFromField(sw, "velocity", &locv)); in TestDistribution()
103 PetscCall(DMSwarmCreateLocalVectorFromField(sw, "w_q", &locw)); in TestDistribution()
118 PetscCall(DMSwarmDestroyLocalVectorFromField(sw, DMSwarmPICField_coor, &locx)); in TestDistribution()
119 PetscCall(DMSwarmDestroyLocalVectorFromField(sw, "velocity", &locv)); in TestDistribution()
120 PetscCall(DMSwarmDestroyLocalVectorFromField(sw, "w_q", &locw)); in TestDistribution()
126 DM dm, sw; in main() local
133 PetscCall(CreateSwarm(dm, &user, &sw)); in main()
134 PetscCall(TestDistribution(sw, 0.01, &user)); in main()
135 PetscCall(DMDestroy(&sw)); in main()