# Finding the velocity at a specific point using the PixelFlow library

How would I find the velocity at a specific point for the basic 2D flow like in the example:

``````// FLUID SIMULATION EXAMPLE
import com.thomasdiewald.pixelflow.java.DwPixelFlow;
import com.thomasdiewald.pixelflow.java.fluid.DwFluid2D;

// fluid simulation
DwFluid2D fluid;

// render target
PGraphics2D pg_fluid;

public void setup() {
size(800, 800, P2D);

// library context
DwPixelFlow context = new DwPixelFlow(this);

// fluid simulation
fluid = new DwFluid2D(context, width, height, 1);

// some fluid parameters
fluid.param.dissipation_velocity = 0.70f;
fluid.param.dissipation_density  = 0.99f;

// adding data to the fluid simulation
public void update(DwFluid2D fluid) {
if (mousePressed) {
float px     = mouseX;
float py     = height-mouseY;
float vx     = (mouseX - pmouseX) * +15;
float vy     = (mouseY - pmouseY) * -15;
fluid.addDensity (px, py, 20, 0.0f, 0.4f, 1.0f, 1.0f);
fluid.addDensity (px, py, 8, 1.0f, 1.0f, 1.0f, 1.0f);
}
}
});

pg_fluid = (PGraphics2D) createGraphics(width, height, P2D);
}

public void draw() {
// update simulation
fluid.update();

// clear render target
pg_fluid.beginDraw();
pg_fluid.background(0);
pg_fluid.endDraw();

// render fluid stuff
fluid.renderFluidTextures(pg_fluid, 0);

// display
image(pg_fluid, 0, 0);
}
``````
1 Like

Hi @BongoTurtle,

Last time I had to retrieve the velocity using the PixelFlow library I used this example code as a reference.

I pretty much copy-pasted the snippet between line 90 and 128. The velocity sampling happens on line 118 and 119:

``````float vel_x = data_vel[gid_fluid * 2 + 0];
float vel_y = data_vel[gid_fluid * 2 + 1];
``````
1 Like

Iâ€™m not sure what all I need to copy in, and when I try to run the example code it doesnâ€™t like the line at the top â€śpackage Fluid2D.Fluid_GetStarted_TexDataTransfer3;â€ť or â€śpublic class Fluid_GetStarted_TexDataTransfer3 extends PApplet {â€ť.

Ok I figured out how to get it working but itâ€™s very slow even for a relatively small number of grid points. The way I need to use it only requires being able to test certain points but anywhere on a 1080p screen, so Iâ€™m wondering if itâ€™s possible only to load the velocity at certain points without having to test all the others? It seems the only way to test the velocity is to test the entire screen at even intervals.