-
Notifications
You must be signed in to change notification settings - Fork 918
Closed
Labels
Description
In CDiscAdjMultizoneDriver::HandleDataTransfer we have the following code structure:
bool DeformMesh = false;
for (unsigned short jZone = 0; jZone < nZone; jZone++){
if (jZone != iZone && interface_container[jZone][iZone] != nullptr) {
DeformMesh = DeformMesh || Transfer_Data(jZone, iZone);
}
}
if (DeformMesh) DynamicMeshUpdate(iZone, ExtIter);
Transfer_Data returns true if and only if the interface type is BOUNDARY_DISPLACEMENTS. If this happens once, no further call to Transfer_Data will occur for this particular iZone because of short-circuit evaluation of the ||.
Though I'm new to the adjoint driver, I can hardly imagine that this is intended. Maybe the order of the arguments of || should be swapped, or it should be coded as in CMultizoneDriver::Update?
TobiKattmann