public Vector3D ComputeGrandientC(Particle particle, Particle neighbour){
		if(particle.equals(neighbour)){	// k==i
			Vector3D vec = new Vector3D(0,0,0);
			List<Particle> neighbours = particle.getNeighbours();
			for(Particle neigh:neighbours){
				if(! neigh.equals(particle)){
					Vector3D gradient = KernelGradient(particle.getPosStar(), neigh.getPosStar());
					vec.Add(gradient);
				}
			}
			vec.Scale(1 / REST_DENSITY);
			return vec;
			
		}else{	// k == j
			Vector3D gradient = KernelGradient(particle.getPosStar(), neighbour.getPosStar());
			gradient.Scale(-1 / REST_DENSITY);
			return gradient;
		}
	}