Re-posted from the Partial Mash forum:
I had a similar experience, but after doing my own calculations and playing around a bit with BeerSmith (2.3.7) I have concluded that the gravity calculations in BeerSmith are wrong for partial mashes with trub loss. With no trub loss they are right on the money, but for some reason the introduction of trub losses changes the ppg that BeerSmith uses for the extract. I have attached two example recipes that demonstrate this. These recipes both have 4 lbs of base malt and 4 lbs of DME which has a potential of 1.045 (i.e. 45 ppg).
Recipe 1:
No trub loss, no kettle top-up. BH efficiency = Mash efficiency = 77%
Post-mash gravity = 1.036, Pre-Boil volume = 3.14 gallons, Pre-Boil Gravity = 1.093
The diiference between post-mash and pre-boil gravities is from the DME
The contribution from the DME is (93-36)*3.14/4 = 44.7 ppg, close enough to 45 considering all the rounding that took place
Recipe 2:
1 gallon trub loss, no kettle top-up. BH efficiency lowered to 64.2% to give mash efficiency of 77% again
Post-mash gravity = 1.026, Pre-Boil volume = 4.4 gallons, Pre-Boil Gravity = 1.075
The contribution from the DME is (75-26)*4.4/4 = 53.9 ppg, much higher than before
When you add trub loss the boil volume goes up, so for the same mash efficiency the post-mash gravity goes down by the ratio of the volumes (36*(3.14/4.4)=26). So far, so good. The difference between post-mash gravity and pre-boil gravity is only due to the addition of the extract, and there is no volume change. The fact that you are going to throw away trub later should have absolutely no impact on the gravity points added by the DME before the boil, but that is what happens in BeerSmith.
In my last brew I got a gravity substantially lower than BeerSmith predicted, and I was trying to figure out where I had gone wrong. I did my own gravity calculations and found that I got exactly what I should have, and that BeerSmith was giving me an erroneously high prediction. I started playing with BeerSmith and these simple example recipes to figure out where the problem lies. All I was able to determine is that it only happens when trub loss is non-zero.