PVelocitySplat documentation?


#1

I haven’t had any luck finding documentation for PVelocitySplat. Does anyone have a link please?

Cheers,
Cg


#2

I am working on moving the documentation of Stoke, Krakatoa etc. to the new docs server, and will try to fill these gaps in the Magma documentation as I get to it. Here is what you need to know:

The operator’s tooltip description says “Splats particles onto a grid. The grid is reconstructed with linear sampling”. Incidently, the ParticleSplat operator has exactly the same description :slight_smile: So how are they different?

The PVelocitySplat was meant to be used mainly for Velocity field sampling. It samples only two channels (“Velocity” by default, although you can type in any channel name for that, and Density). It assumes the channels are Vector Fields (which is a bit strange, as Density generally isn’t, but it still produces a Vector field from the Density output socket, so you have to keep that in mind). It has a built-in Divergence removal, so you can produce fluid motion, or just the original velocity field with just one node.

In contrast, the ParticleSplat operator can create any number of fields from any particle channels, and produce the correct arity too. However, since it does not make an assumption about the arity of the input fields, it does not provide a Remove Divergence option, and is thus more general, but less streamlined for velocity sampling. If you want a Velocity field from it, you first have to pick the Velocity channel and add it to the list, and if you want to remove Divergence, you need to add a SimpleFluid operator after it. But the results would be identical. I have no benchmarked them, but there is a chance the PVelocitySplat would perform a bit faster.

The controls:

  • The Particles input socket expects an InputParticles node to provide the particle system to sample

  • The Position input socket expects the world space position to sample at.

  • The Channel Name property defines the Velocity channel to sample.

  • The Absolute and Relative Spacing values define the resolution of the grid, used depending on the Spacing Type drop-down list.
    [list] [*] When Spacing Type is set to Relative (default), the host grid resolution (the Spacing in the Stoke Field Magma or Stoke Field Simulator base object) will be used and multiplied by the Relative Spacing value. The default of 1.0 means “use the same spacing as the host object”. A value of 0.5 means “double the resolution, half the voxel size”, a value of 2.0 means “half the resolution, double the voxel size” of the host grid.

  • When Spacing Type is set to Absolute, the value in the Absolute Spacing spinner will be used as the sampling grid spacing without looking at the host object. That’s just the voxel size in generic units.
    [/:m]
    [
    ] The >Auto Bounds option (checked by default) will analyze the input data and make the grid the size of the input data plus the Bounds Padding number on each side. When unchecked, the bounds of the host object will be used. When the data is occupying only a fraction of the object’s grid, this can save a lot of memory.[/:m]
    [
    ] The >Remove Divergence removes the divergence from the field, making sure the amount of fluid coming out from each point in space is equal to the amount coming in. This is the same as what the SimpleFluid operator does, or the “Fluid Motion” option in the Stoke Particle Simulator.[/:m]
    [
    ] The Solver Timestep is in seconds and defaults to 1.0/30 which is 1 frame at 30 fps. It is used by the Remove Divergence option to analyze the field at different times. [/*:m][/list:u]

Please let me know what information you were looking for and whether this helps.