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

Scatter method shall not call dataHandle.size

See #63
parent 93b7c2a5
No related branches found
No related tags found
1 merge request!225Scatter method shall not call dataHandle.size
Pipeline #
......@@ -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.
Finish editing this message first!
Please register or to comment