I don't really see how you can fit 2 iterations which take 20 seconds into 1 second so you need to come up with better explanation like what is throughput (requests per second to start with, how many requests per second you want to add each second or minute of the ramp-up, etc.)
With regards to implementation itself I believe you're looking for Throughput Shaping Timer and Concurrency Thread Group combination.
In Throughput Shaping Timer you can easily define ramp-up/ramp-down behaviour as well as the time to hold the load:

and you can connect it to the Concurrency Thread Group via Feedback Function:

this way Concurrency Thread Group will be able to kick off extra threads (virtual users) if current amount is not enough to reach/maintain the defined throughput.
This way you can precisely control the number of requests per second at each stage of your performance test.