Reply To: Pressure in openLB
OpenLB – Open Source Lattice Boltzmann Code › Forums › on OpenLB › General Topics › Pressure in openLB › Reply To: Pressure in openLB
When I use setSlipBoundary, I got an error;
terminate called after throwing an instance of ‘std::runtime_error’
what(): Legacy post processors not supported on GPU_CUDA
Aborted
How should I do to resolve it?
I set this setSlipBoundary into marerial number 6 and 7 in “void prepareLattice” function. This instraction written by me is bellow. When I do the comment out at setSlipBoundary, the error does not appear.
void prepareLattice( SuperLattice<T,DESCRIPTOR>& sLattice,
UnitConverter<T,DESCRIPTOR> const& converter,
STLreader<T>& stlReader,
SuperGeometry<T,3>& superGeometry )
{
OstreamManager clout( std::cout,”prepareLattice” );
clout << “Prepare Lattice …” << std::endl;
const T omega = converter.getLatticeRelaxationFrequency();
clout << “omega” << omega << ” ” << std::endl;
// Material=1 –>bulk dynamics
auto bulkIndicator = superGeometry.getMaterialIndicator({1});
sLattice.defineDynamics<BGKdynamics>(bulkIndicator);
// Material=2 –>bounce back
setBounceBackBoundary(sLattice, superGeometry, 2);
// Setting of the boundary conditions
//if local boundary conditions are chosen
//setLocalVelocityBoundary(sLattice, omega, superGeometry, 3);
//setLocalPressureBoundary(sLattice, omega, superGeometry, 4);
//if interpolated boundary conditions are chosen
setInterpolatedVelocityBoundary(sLattice, omega, superGeometry, 3);
setInterpolatedPressureBoundary(sLattice, omega, superGeometry, 4);
// Material=5 –>bouzidi / bounce back
#ifdef BOUZIDI
setBouzidiBoundary<T,DESCRIPTOR>(sLattice, superGeometry, 5, stlReader);
#else
setBounceBackBoundary(sLattice, superGeometry, 5);
#endif
// Material = 6, 7
setSlipBoundary<T,DESCRIPTOR>(sLattice, superGeometry, 6);
setSlipBoundary<T,DESCRIPTOR>(sLattice, superGeometry, 7);
// Initial conditions
AnalyticalConst3D<T,T> rhoF( 1 );
Vector<T,3> velocityV;
velocityV[0] = converter.getCharLatticeVelocity();
clout<< “velocityV=” << velocityV[0] << ” ” << velocityV[1] << ” ” << velocityV[2] << ” ” <<std::endl;
AnalyticalConst3D<T,T> uF(velocityV);
// Initialize all values of distribution functions to their local equilibrium
sLattice.defineRhoU( bulkIndicator, rhoF, uF );
// sLattice.defineRhoU( superGeometry, 6, rhoF, uF );
sLattice.iniEquilibrium( bulkIndicator, rhoF, uF );
sLattice.setParameter<descriptors::OMEGA>(omega);
// Make the lattice ready for simulation
sLattice.initialize();
clout << “Prepare Lattice … OK” << std::endl;
}
Best