Skip to content

Reply To: Modifying field values for neighboring cells inside a postprocessor

OpenLB – Open Source Lattice Boltzmann Code Forums on OpenLB General Topics Modifying field values for neighboring cells inside a postprocessor Reply To: Modifying field values for neighboring cells inside a postprocessor

#9280
Danial.Khazaeipoul
Participant

I understand answering a diverse range of questions here in the forum could be quite demanding and appreciate the fact that you’re taking your time to assist us getting started with OpenLB. I’m also considering attending the upcoming spring school.

In this case I suggest you go ahead with the atomic-based approach you outlined and we go from there.

I am going to try adopting the code to use the atomicMin operation in the third kernel. For now, I’m performing a few preliminary code test before moving to the next step. However, the following test code gives a compile-time error which I believe it’s due to the fact that getComponentPointer is defined as protected:

auto bubbleIDPtr = cell.template getFieldPointer<FreeSurface::TEST_ID>().getComponentPointer(0);

error: function "olb::ColumnVector<COLUMN, D>::ptr::getComponentPointer(unsigned int) [with COLUMN=olb::cpu::sisd::Column<olb::CellID>, D=1U]" ../../../src/core/columnVector.h(238): here is inaccessible

error: function "olb::gpu::cuda::FieldPtr<T, DESCRIPTOR, FIELD>::getComponentPointer(unsigned int) [with T=double, DESCRIPTOR=olb::descriptors::D3Q27<olb::descriptors::FORCE, olb::FreeSurface::MASS, olb::FreeSurface::EPSILON, olb::FreeSurface::CELL_TYPE, olb::FreeSurface::CELL_FLAGS, olb::FreeSurface::TEMP_MASS_EXCHANGE, olb::FreeSurface::PREVIOUS_VELOCITY, olb::FreeSurface::TEST_ID>, FIELD=olb::FreeSurface::TEST_ID]"
../../../src/core/platform/gpu/cuda/context.hh(113): here is inaccessible