fix ID group-ID rigid/nve custom v_atom(atom-style)
During the running, when the value of v_atom changes, will the rigid body set by this fix change? If so, is there any way to set the rigid body only once at the beginning, and then keep it unchanged?
Or, for the atom-style variable, is there any operation that can calculate its value immediately? Just like what $ does for the equal-style variable (but invalid for the atom-style variable).
The assignment of each particle to a rigid body (or not) is done once at the start of the simulation and remains fixed throughout, according to the documentation for fix rigid. (It is hard to imagine how a rigid body could remain rigid if particles were forever leaving or joining it!)
Not really. It would be illogical. There cannot be one since you have to have a way to store the result. For ${} or $() expansion the (global) result replaces the variable text and is then processed. There is no equivalent for per-atom values.
What can be done to store (or cache) per-atom values is to use fix store/state or fix ave/atom 1 1 1.