You've got to do it something like this to light the leds ( say leds[0] through to led[5] ) in sequence where the trailing and leading leds are less bright than the current led.
You have a clock which runs from 0 to 5, and depending on the number on the clock, you light 3 leds. The outer 2 at 50% and the middle at 100%.
If it is all too fast, experiment first with interleaving delay() between the analogWrite() statements, then work out a better way using millis().
byte clock = 0 ;
byte led[6] = { 2,3,4,5,6,7 } ; // led[0] on pin 2 , led[1] on pin through to led[5] on pin 7
...
...
loop() {
analogWrite( led[ ( clock + 0 ) % 6 ] , 127 ) ; // trailing led half brightness.
analogWrite( led[ ( clock + 1 ) % 6 ] , 256 ) ; // central led full brightness
analogWrite( led[ ( clock + 2 ) % 6 ] , 127 ) ; // leading led half brightness
analogWrite( led[ ( clock + 3 ) % 6 ] , 0 ) ; // off
analogWrite( led[ ( clock + 4 ) % 6 ] , 0 ) ; // off
analogWrite( led[ ( clock + 5 ) % 6 ] , 0 ) ; // off
clock ++ ;
if ( clock > 5 ) clock = 0 ;
}
I'm not sure what you intend with the solenoids. That is not clearly explained.