Realize that if you are tied up, full time, for a year, you'll most likely lose all your other clients. So, if that's okay you need to make it worth your while.
If you are financially in good shape as things are with several clients, then putting all your eggs in one basket, as it were, can be very risky.
Due to the damage, yes damage, such a position will do to your freelancing I would not be inclined to offer any discount.
The only possible reason I may consider some sort of discount is if the client was going to take on additional items. Such as paying for equipment/maintenance, paying for electricity, paying for healthcare (if necessary), paying for all your business overhead essentially. Because unless the client is covering some of that as well, there's really little benefit to you killing off your freelance business for this one client. Face it, your expenses are not going to change just because you have a lengthy contract. Your overhead will stay the same unless you are working on-site for them. And if you are indeed working on-site, then why not a traditional full-time employment position with all the benefits that are associated with that? (I know why... because it's cheaper for the client if you aren't actually an employee.)
I've had many a client that dangled the "we'll be looking for full time help soon" carrot in front of me. As if it were an incentive to work more or cheaper for them. The truth is, if your freelance business is doing well and you aren't struggling there's really little reason to drown it intentionally by focusing on one client full time.
All that being posted, I might offer something like a 20% discount based on a lengthy contract with steady payments. I'd offer the same discount I do to any client that has a great deal of work for me. I reward clients for repeatedly returning to me. But... I wouldn't build this into pricing. I'd reward it along the way... every 90 days I'd just give a discount without warning as a "reward" for steady, on-time, payments. This figure would not be mentioned to the client during fee negotiation and it would not be built into my calculations for the figures I need to negotiate. It's a "gift", a "reward" not a "discount".
If I were forced... I'd average my yearly income over my freelancing career (or the past 3-5 years) and then use that number as the figure to negotiate to. So if I've averaged $130k (random figure) over the past three years, the client would need to pay me $130k minimum. Truth is I'd probably add another 20-40% to that in order to cover the loss of existing clientele and the risk associated with that.
So, rather than trying to calculate hourly, I'd work backwards from annual income. The reason being that although we set hourly rates, most freelancers aren't working full 40 hour work weeks. We work more or less most weeks. So by using the annual income average you base figures on what you've pocketed, not just what you are asking for currently. Imagine a full 40 hour week for me at my current rate may amount to $4,000/week. But really I only worked 27 hours this week ($2700), 32 last week ($3200), 65 the week before ($6500), etc. So my hourly rate is not an entirely accurate indicator of my actual income. Averaging annual income over a few years is an accurate indicator of my current income.
(average annual income + 30%) / yearly work hours = hourly rate
or
(130,000 + 39,000) / 1,800 = $94/hour
(rounding up to nearest dollar.)
Whether or not that matches or comes close to your existing hourly rate is a different matter :)
If the client balks at that figure, you can easily explain or back it up with the fact that you are already averaging that amount annually and that there's little or no upside for you if you aren't at least making the same average income you already pocket.