Beat the butter and sugar together in an electric mixer until pale and fluffy then beat in the grapefruit zest. Lightly beat the egg yolks with a fork and add gradually, beating well after each addition. Drain off any liquid that is in the ricotta and stir the cheese into the batter. Put the egg whites in a separate bowl and beat until they form medium peaks.
Stir the grapefruit juice into the batter then fold in the flour, almond flour and baking powder. Add 2 big tbsp of the beaten whites to loosen the batter, then fold in the rest. Scrape into a buttered 8 inch spring-form cake tin. Place in an oven preheated to 350°F and bake for 45 to 50 minutes. A skewer inserted into the middle should come out clean.
Remove the band around the cake and leave to cool a bit. It is lovely served just slightly warm, but you can let it cool completely. Dust with powdered sugar and serve with whipped cream.