Initializing domain with a specific velocities


I want to initialize my domain with specific velocities. Following is the class created to apply velocity

class ImposeVelocity{
ImposeVelocity(MultiTensorField3D<T,3> velocity_)
{ }

void operator()(plint iX, plint iY, plint iZ, T& rho, Array<T,3>& u) const {
    rho = 0.0;
    u[0] = velocity.get(iX,iY,iZ)[0];
    u[1] = velocity.get(iX,iY,iZ)[1];
    u[2] = velocity.get(iX,iY,iZ)[2];

MultiTensorField3D<T,3> velocity;

Then I have used this in initializing :

// Initializing with equilibrium values
    initializeAtEquilibrium (a_lattice, a_lattice.getBoundingBox(),new BounceBackNodes<T>(ymixer), ImposeVelocity<T>(domainvelocity));
defineDynamics(a_lattice, a_lattice.getBoundingBox(), new BounceBackNodes<T>(ymixer), new BounceBack<T,DESCRIPTOR>);
a_lattice.initialize(); // Initializes the lattice with constant density and zero velocity

But I am getting following compilation error:

undefined reference to `void plb::initializeAtEquilibrium<double, plb::descriptors::D3Q19Descriptor, ImposeVelocity >(plb::MultiBlockLattice3D<double, plb::descriptors::D3Q19Descriptor>&, plb::Box3D, plb::DomainFunctional3D*, ImposeVelocity)’|

Can anyone suggest how I can impose velocity in whole domain?

Thanks in advance.