Gavo, dry yield values and attenuation values are two entirely different things. Dry yield (as far as sugars are concerned) refer to the amount of dry sugar available in the product...so liquid malts are ~80% (because 20% is water), simple sugars are 99-100% dry, dry malt extracts are 95-97% (they have moisture content). The fermentability of the dextrose is lower than its dry weight, because it is a monohydrate....it is not anhydrous.
I don't know how you are managing to get a higher OG in beersmith...I made no changes to the dry yield from default values. Same in promash. And manual calculations turn out the same.
The formula for gravity are as follows;where sgp=specific gravity points, EE= extract efficiency as a decimal (grain only, otherwise ignore it), wt = weight, v = volume.
using HWE (another way of experessing potential....which doesn't make it's way into beersmith. but 386HWE=100%dry yield),
sgp= hwe x EE x wt /V............all quantities in metric.
Using ppg;
sgp = Wt(lb) x ppg x EE / V(g)............all quantities in US measures.
So, without using a program, the example at hand is 1.7kg of lme (310HWE) and 1kg of dex (386HWE). EE is irrelevant, because we;re dealing with extract.
spg = (386 x 1)+(310 x 1.7) /23
= 386 + 527 /23
= 913/23
= 39.69 points, which rounds up to 1040. (the 1 point difference to beersmith is due to the potentials in the ingredient list not being exactly 100 and 80...depends on which brand you pick. It'll go up or down a point either way, depending on rounding, but 1 point is purely academic anyway.)
You could get the same result with the ppg...the only problem is you would need to convert all measures to fit the damn formula.
Easy enough if you do it in a spreadsheet, though.....alternatively, you could convert the dyfg to hwe by multiplying by 386.
There was a poll recently 'which software do you use', and there were a couple of responses (don't know who from) saying pad and pencil....these are the formulas that would be used. As an extension to that, if you have a recipe of a given volume adn known OG, and you want to know what the og would be at a differant volume....you multiply by the original volume, and divide by the new.