I discovered the following examples inside the documentation to fix bpm/rotational:
bond_style bpm/rotational myfix 1000 time id1 id2
fix myfix all store/local 1000 3
dump 1 all local 1000 dump.broken f_myfix[1] f_myfix[2] f_myfix[3]
dump_modify 1 write_header no
I didn’t see fix store/local in the documentation, so I dug further. However, the fix store/local line above throws an error. I have several questions:
Is the documentation for fix bpm/rotational supposed to contain the “fix myfix all store/local” line? (i.e., should that fix style work?)
The file fix_store_local.h contains the line FixStyle(STORE_LOCAL,FixStoreLocal);
instead of something like FixStyle(store/local,FixStoreLocal);
I assume this is not a typo, given that there are other similar fix headers (e.g., fix_dummy.h, fix_store.h, fix_srp.h, fix_group.h) that have similar syntax in them, which leads me to my question, What do the fix styles that have all-caps styles in the headers do? Is there some way to “unlock” them?
Are things like “fix 1 all DUMMY” and “fix 2 all STORE_LOCAL 1000 3” supposed to proceed without error? They seem to work for me.
Thanks (and I realize I’m digging around under the proverbial hood a bit here).
No. This example is incorrect. It contradicts the remainder of the documentation, it should be:
bond_style bpm/rotational store/local myfix 1000 time id1 id2
dump 1 all local 1000 dump.broken f_myfix[1] f_myfix[2] f_myfix[3]
You can see this in the examples/bpm/impact folder inputs
By convention they are “internal” commands, i.e. used internally to realized redundant functionality like storing intermediate data.
It seems that nobody so far has bothered to ask this question but rather the assumption is that nobody will use undocumented commands unless as a developer internally (since the “documentation” of those commands in only in the comments).
We could probably add a warning or throw an error if an uppercase style of anything is requested in the input. Will have to discuss with @sjplimp if that is a good idea or whether we should leave this as is.
I spoke too soon; I meant that the second and third answers make sense. The first, however…should it perhaps be the following (based on the documentation elsewhere):
bond_style bpm/rotational store/local myfix 1000 time id1 id2
dump 1 all local 1000 dump.broken f_myfix[1] f_myfix[2] f_myfix[3]
dump_modify 1 write_header no
(i.e., the dump line was fine, it was the bond_style line that was erroneous, and the fix line should have been omitted)?