Help with variable ramp()

In the attached input script, I am looking to do shock modeling of an aluminum crystal. In this set up, I am applying a velocity to a rigid wall of atoms to propagate a shockwave through the aluminum crystal. I would like to ramp up the velocity of the rigid wall (piston region) from 0 to 10 angstrom/picosecond over 5 picoseconds. I am using the variable vz_apply equal ramp(0.0, 10.0) to increase this piston
in.Alpistonramp7 (2.6 KB)
log.lammps (14.6 KB)
velocity. The thermo_style command shows that vz_apply is increasing from 0 to 10 over the 5 picoseconds, but the rest of thermo_style outputs lead me to believe the velocity piston set command is using vz_apply = 0 for the entire 5ps ramp -up.
What makes me think the velocity piston set command is utilizing vz_apply=0 is that the thermo_style outputs much more closely match the equilibration thermo values than the velocity piston set = 10 thermo values.
Have I implemented the velocity set or variable equal ramp() command incorrectly? All help is appreciated. Thank you!

No, it is syntactically correct or else LAMMPS would not accept it.

But you are misunderstanding how LAMMPS commands work. They are executed immediately, that is the velocity command will be executed before the run command and at that point your computed velocity will be zero. You need something that will act during the run and that would be for example the fix move command.

That said, for your setup, there is no value at all in using a ramp for the piston particles, since they remain otherwise immobile. So you could just directly use the velocity set command with the intended terminal velocity.