The way I do it,
I have inserted a large sieve inside my boiler with all the grain in.
The heating element at the bottom of the boiler keep the wort at mashing temperature, and the wort is constantly pumped into the sieve so that it runs thru the grain during mashing.
When mashing is done, I raise the sieve and let it drain into the boiler, while it is heated to boiling temperature. (this is when most people would add hot water into the raised sieve, I don't).
Here is the data from the brew I made 3 days ago:
Added 30L of water to the system in the beginning.
Ended up with 22L virgin wort in the fermenter.
Post boil OG = 1.052
Mild Ale Malt 5kg
Crystal Malt 400g
Amber malt 70g
Pale Amber Malt 70g