The opening game of the day in the six-a-side tournament was a strange affair as the Reds lost 1-0 to the Swiss side but, with both teams progressing to the last four with that scoreline, the clock was run down for a large segment of the second half.
There was little more goalmouth action in the semi-final tie as a goalless draw with Schalke was notable only for Sam Byrne and James Wilson seeing shots saved and Joel Castro Pereira pulling off a couple of decent stops at the other end.
The penalty shoot-out went the Germans' way as they ran out comfortable 3-1 victors with only Liam Grimshaw converting his spot-kick. Joe Rothwell, Weir and Andreas Pereira all failed with their efforts.
The defeat set up a play-off with Grasshoppers and goals by Josh Harrop and Andreas Pereira handed Nicky Butt's side a commanding lead. Although the Zurich outfit rallied to level at 2-2, Weir supplied a simple tap-in after a Ben Pearson cross came off Andreas Pereira to seal third spot.
Fluminense 2-0 (Willock, Harrop)
Schalke 1-2 (Wilson)
Borussia Dortmund 3-2 (Wilson, McNair, Pearson)
Freiburg 3-0 (Weir, Rothwell, Pearson)
Grasshopper Zurich 0-1
Semi-final: Schalke 0-0 (lost 3-1 on pens)
3 / 4 Play-off: Grasshopper Zurich 3-2 (Harrop, Pereira, Weir)