61 plb::OnLatticeBoundaryCondition3D<T,Descriptor>& boundaryCondition,
T shearRate)
64 plb::Box3D top = plb::Box3D(0, nx-1, 0, ny-1, nz-1, nz-1);
65 plb::Box3D bottom = plb::Box3D(0, nx-1, 0, ny-1, 0, 0);
68 lattice.periodicity().toggle(0,
true);
69 lattice.periodicity().toggle(1,
true);
70 lattice.periodicity().toggle(2,
false);
72 boundaryCondition.setVelocityConditionOnBlockBoundaries ( lattice, top );
73 boundaryCondition.setVelocityConditionOnBlockBoundaries ( lattice, bottom );
75 T vHalf = (nz-1)*shearRate*0.5;
76 setBoundaryVelocity(lattice, top, plb::Array<T,3>(-vHalf,0.0,0.0));
77 setBoundaryVelocity(lattice, bottom, plb::Array<T,3>(vHalf,0.0,0.0));
85 setExternalVector( lattice, lattice.getBoundingBox(),
86 Descriptor<T>::ExternalField::forceBeginsAt, plb::Array<
T,Descriptor<T>::d>(0.0,0.0,0.0));
void operator()(plint iX, plint iY, plint iZ, T &rho, hemo::Array< T, 3 > &u) const
Definition hemocellInit.hh:50
T couetteVelocity(plint iY, T shearRateLU, T zeroCoordinate)
Definition hemocellInit.hh:40
void iniLatticeSquareCouette(plb::MultiBlockLattice3D< T, Descriptor > &lattice, plint nx, plint ny, plint nz, plb::OnLatticeBoundaryCondition3D< T, Descriptor > &boundaryCondition, T shearRate)
Definition hemocellInit.hh:59