lattice coupling and copying velocities

What I am trying to do is couple 2 lattices together and transfer the velocity from lattice A (normal BGK lattice) to lattice B (Advection Diffusion lattice). It doesn’t seem to be working for some reason, would anyone be able to tell me what I am doing wrong. This is what I have to couple and copy the velocities over:

//Processor to copy velocity profile from lattice to AD lattice
template<typename T, template class DESCRIPTOR1,
template class DESCRIPTOR2>
struct copyVelocityProcessor : public BoxProcessingFunctional3D_LL<T,DESCRIPTOR1,T,DESCRIPTOR2>

virtual void process(Box3D domain,BlockLattice3D<T,DESCRIPTOR1>& lattice,BlockLattice3D<T,DESCRIPTOR2>& adlattice)
Dot3D absoluteOffset = lattice.getLocation();
//T omega= adlattice.get(5,6,7).getDynamics().getOmega();

for (plint x=domain.x0; x<domain.x1; ++x) {
for (plint y=domain.y0; y<domain.y1; ++y) {
for(plint z=domain.z0; z<domain.z1; ++z) {

Array<T, 3> velocity;


virtual copyVelocityProcessor<T,DESCRIPTOR1,DESCRIPTOR2>* clone() const
return new copyVelocityProcessor<T,DESCRIPTOR1,DESCRIPTOR2>(*this);
virtual void getModificationPattern(std::vector& isWritten) const {
isWritten[0] = true;
isWritten[1] = true;
virtual BlockDomain::DomainT appliesTo() const {
return BlockDomain::bulk;


Thanks in advance,