I have been messing around looking for ways to improve on the typical "solenoid engine".
One avenue I have been researching is the best way to add permanent magnets to the 'piston' with the object of gaining a longer power stroke.
My best configuration so far is to make a soft iron/steel piston about twice the length of the solenoid coil, I put a permanent magnet each end, mounted in opposition so that, for example, there is a north pole at each end and two south poles induced in opposition at the mid point of the piston.
The coil I am using is 500 Ohm, 50mm long, 45mm diameter and 20mm bore diameter.
The armature, i.e. "piston", is 18mm diameter mild steel 110mm long.
There is a neo. magnet on each end, they are cylindrical 20mm diameter and 12mm long.
When DC power is applied the piston slides to the end of available travel which is limited by the magnets being unable to pass into the bore. Reversing the polarity slides it back the other way, almost 60mm.
I used electronic kitchen scales to measure the thrust at different point of the travel and found, somewhat to my suprise, that the force is almost uniform for the entire length of the stroke!
With 20V on the coil the force at the beginning of the stroke was measured at 136 grams, midway 127 grams and 122 grams near the end of the stroke.
I therefore have no hesitation in recommending this form of 'piston' to anyone seeking to build themselves a model "solenoid" engine!