Skip to content
Snippets Groups Projects
Commit 785ac4db authored by Oliver Sander's avatar Oliver Sander
Browse files

Scatter method shall not call dataHandle.size

See #63
parent fbb7fa45
No related branches found
No related tags found
No related merge requests found
......@@ -96,20 +96,21 @@ namespace Dune {
// the macro index and scatter it
for (const auto entity : entities(gridView, Codim<codim>()))
{
int numberOfParams = dataHandle.size(entity);
// get data from UG message buffer and write to DUNE message buffer
auto ugEntity = gridView.grid().getRealImplementation(entity).getTarget();
typedef typename DataHandle::DataType DataType;
auto numberOfParams = ugEntity->message_buffer_size() / sizeof(DataType);
if (!numberOfParams)
continue;
// get data from UG message buffer and write to DUNE message buffer
auto ugEntity = gridView.grid().getRealImplementation(entity).getTarget();
auto buffer = ugEntity->message_buffer();
assert(buffer);
LBMessageBuffer lbMessageBuffer;
for(int paramIdx = 0; paramIdx < numberOfParams; paramIdx++)
for (std::size_t paramIdx = 0; paramIdx < numberOfParams; paramIdx++)
{
typedef typename DataHandle::DataType DataType;
DataType *dataPointer = (DataType*)(buffer + paramIdx*sizeof(DataType));
lbMessageBuffer.write(*dataPointer);
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment