Lines Matching refs:sw
319 static PetscErrorCode InitializeWeights(DM sw, AppCtx *user) in InitializeWeights() argument
326 PetscCall(DMSwarmGetLocalSize(sw, &Np)); in InitializeWeights()
327 PetscCall(DMSwarmGetField(sw, "w_q", NULL, NULL, (void **)&weight)); in InitializeWeights()
328 PetscCall(DMSwarmSortGetAccess(sw)); in InitializeWeights()
335 PetscCall(DMSwarmSortRestoreAccess(sw)); in InitializeWeights()
336 PetscCall(DMSwarmRestoreField(sw, "w_q", NULL, NULL, (void **)&weight)); in InitializeWeights()
340 static PetscErrorCode CreateSwarm(DM dm, AppCtx *user, DM *sw) in CreateSwarm() argument
346 PetscCall(DMCreate(PetscObjectComm((PetscObject)dm), sw)); in CreateSwarm()
347 PetscCall(DMSetType(*sw, DMSWARM)); in CreateSwarm()
348 PetscCall(DMSetDimension(*sw, dim)); in CreateSwarm()
349 PetscCall(DMSwarmSetType(*sw, DMSWARM_PIC)); in CreateSwarm()
350 PetscCall(DMSwarmSetCellDM(*sw, dm)); in CreateSwarm()
351 PetscCall(DMSwarmRegisterPetscDatatypeField(*sw, "w_q", 1, PETSC_SCALAR)); in CreateSwarm()
352 PetscCall(DMSwarmRegisterPetscDatatypeField(*sw, "species", 1, PETSC_INT)); in CreateSwarm()
353 PetscCall(DMSwarmFinalizeFieldRegister(*sw)); in CreateSwarm()
354 PetscCall(DMSwarmComputeLocalSizeFromOptions(*sw)); in CreateSwarm()
355 PetscCall(DMSwarmInitializeCoordinates(*sw)); in CreateSwarm()
356 PetscCall(InitializeWeights(*sw, user)); in CreateSwarm()
357 PetscCall(DMSetFromOptions(*sw)); in CreateSwarm()
358 PetscCall(DMSetApplicationContext(*sw, user)); in CreateSwarm()
359 PetscCall(PetscObjectSetName((PetscObject)*sw, "Particles")); in CreateSwarm()
360 PetscCall(DMViewFromOptions(*sw, NULL, "-sw_view")); in CreateSwarm()
361 PetscCall(DMSwarmVectorDefineField(*sw, "w_q")); in CreateSwarm()
394 static PetscErrorCode InitializeConstants(DM sw, AppCtx *user) in InitializeConstants() argument
401 PetscCall(DMSwarmGetCellDM(sw, &dm)); in InitializeConstants()
402 PetscCall(DMGetDimension(sw, &dim)); in InitializeConstants()
403 PetscCall(DMSwarmGetLocalSize(sw, &Np)); in InitializeConstants()
405 PetscCall(DMSwarmGetField(sw, "w_q", NULL, NULL, (void **)&weight)); in InitializeConstants()
408 PetscCall(DMSwarmRestoreField(sw, "w_q", NULL, NULL, (void **)&weight)); in InitializeConstants()
447 DM dm, sw; in main() local
462 PetscCall(CreateSwarm(dm, &user, &sw)); in main()
464 PetscCall(InitializeConstants(sw, &user)); in main()
481 PetscCall(DMCreateMassMatrix(sw, potential_dm, &M_p)); in main()
484 PetscCall(DMSwarmCreateGlobalVectorFromField(sw, "w_q", &f)); in main()
488 PetscCall(DMSwarmDestroyGlobalVectorFromField(sw, "w_q", &f)); in main()
507 PetscCall(DMDestroy(&sw)); in main()