Question about compute smd/ulsph/stress


I want to calculate von-Mises stress using LAMMPS. And I found this command “compute smd/ulsph/stress” which can calculate that stress. however, when I was using it, I got the error says:

ERROR: compute smd/ulsph_stress could not access stress tensors. Are the matching pair styles present? (src/USER-SMD/compute_smd_ulsph_stress.cpp:103)

I’m a little bit confused about this error.
I was also thinking about the way of deriving it through the stress tensor from “compute stress/atom”, but I don’t know how to implement the calculation containing per-atom values like sigma_xx, sigma_yy…

Can anyone give me some clues on how to understand that error and the way of using per-atom values in calculation in LAMMPS? Thank you!

which pair style do you use? this compute is dependent on properties accumulated during force computations (as are all stress computes) so they have to be compatible and provide access to the corresponding information.

These kinds of computations usually need to be implemented as a compute in C++ or done in post-processing after dumping the per-atom properties in a custom trajectory file.

1 Like

Thank you for the help Mr. akohlmey!

I use pair_style hybrid containing tersoff, airebo, and morse in my system. I don’t know whether the pair styles are compatible with this command or not. Is there anyway to check it?

Oh! yeah. I see. It makes sense to me. I will try to dump in trajectory file and calculate the stress. Thank you very much!

They are not compatible. They have to be pair styles from the same package.

1 Like

Oh! I got it. Thank you very much Mr. akohlmey!