sisl icon indicating copy to clipboard operation
sisl copied to clipboard

Stress can not be read from a siesta out file: si.io.siesta.stdoutSileSiesta

Open mbrandbyge opened this issue 1 year ago • 6 comments

The "Voigt" reads ok, but the standard stress returns nothing.

mbrandbyge avatar Sep 27 '24 15:09 mbrandbyge

What did you try? What table of the stress wasn't read? There are some tests for these things, so I am wondering if you called it wrongly, or the output had other flags?

zerothi avatar Sep 28 '24 20:09 zerothi

image

mbrandbyge avatar Sep 29 '24 16:09 mbrandbyge

Calling without key does not return anything either.

mbrandbyge avatar Sep 29 '24 16:09 mbrandbyge

It's because that MD simulations has the stress tensor duplicated. So you should add read_stress(skip_final=False) to force it to return the last one.

Perhaps the sile should figure out if this is an MD simulation, or not, then return it if nothing is valued

zerothi avatar Sep 29 '24 19:09 zerothi

Ah, ok. In principle, it would be nice if there was a reader for out files for MD returning values for each step in the out.

mbrandbyge avatar Sep 30 '24 07:09 mbrandbyge

Ah, ok. In principle, it would be nice if there was a reader for out files for MD returning values for each step in the out.

There already is:

stdout = sisl.get_sile(...)
stdout.read_stress[:10]()

will read the first 10 stresses.

zerothi avatar Sep 30 '24 07:09 zerothi

@mbrandbyge could you share the file? I am trying to streamline the process, and I think I have the solution, just need the output to test it on!

zerothi avatar Oct 25 '24 12:10 zerothi