Skip to content

Commit 9f07b6c

Browse files
Merge branch 'develop' into update-setupmatlab-to-v2
2 parents 9ceaccf + b281c22 commit 9f07b6c

File tree

7 files changed

+11
-6
lines changed

7 files changed

+11
-6
lines changed

+precice/@Participant/Participant.m

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -247,7 +247,6 @@ function writeData(obj,meshName,dataName,valueIndices,values)
247247
end
248248
inSize = length(valueIndices);
249249
values = preciceGateway(uint8(61),meshName,dataName,int32(inSize),valueIndices,relativeReadTime);
250-
values = reshape(values,obj.getDataDimensions(meshName,dataName),[]);
251250
end
252251

253252
% requiresGradientDataFor

+precice/@Participant/private/preciceGateway.cpp

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -304,7 +304,8 @@ class MexFunction: public matlab::mex::Function {
304304
const TypedArray<double> relativeReadTime = inputs[5];
305305
std::vector<double> values(size[0]*dim);
306306
interface->readData(meshName,dataName,vertexIDs,relativeReadTime[0],values);
307-
outputs[0] = factory.createArray<double>({1, size[0]*dim}, values.data(), values.data()+values.size());
307+
assert(values.size() == dim*vertexIDs.size());
308+
outputs[0] = factory.createArray<double>({dim, vertexIDs.size()}, values.data(), values.data()+values.size());
308309
break;
309310
}
310311
case FunctionID::requiresGradientDataFor:
@@ -339,8 +340,8 @@ class MexFunction: public matlab::mex::Function {
339340
size_t dim = interface->getMeshDimensions(meshName);
340341
std::vector <double> positions(size[0]*dim);
341342
interface->getMeshVertexIDsAndCoordinates(meshName,ids,positions);
342-
outputs[0] = factory.createArray<int32_t>({size[0]}, ids.data(), ids.data()+ids.size());
343-
outputs[1] = factory.createArray<double>({size[0], dim}, positions.data(), positions.data()+positions.size());
343+
outputs[0] = factory.createArray<int32_t>({1, ids.size()}, ids.data(), ids.data()+ids.size());
344+
outputs[1] = factory.createArray<double>({dim, ids.size()}, positions.data(), positions.data()+positions.size());
344345
break;
345346
}
346347

README.md

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,13 +47,18 @@ The function syntax is mostly identical to the syntax of the C++ API. The follow
4747
As an example, the C++ API function
4848

4949
```bash
50-
readData(int dataID, int size, const int *valueIndices, double *values)
50+
void readData(
51+
::precice::string_view meshName,
52+
::precice::string_view dataName,
53+
::precice::span<const VertexID> ids,
54+
double relativeReadTime,
55+
::precice::span<double> values) const
5156
```
5257

5358
is found in the MATLAB bindings as
5459

5560
```bash
56-
values = readData(dataID, valueIndices)
61+
values = readData(meshName, dataName, ids, relativeReadTime)
5762
```
5863

5964
## Out of process variant
File renamed without changes.

0 commit comments

Comments
 (0)