def get_stress(log): """ get stress from lammps log """ with open(log, 'r') as fp: lines = fp.read().split('\n') for ii in lines: if ('Final Stress' in ii) and (not 'print' in ii): vstress = [float(jj) for jj in ii.split('=')[1].split()] stress = util.voigt_to_stress(vstress) return stress
def _get_stress(lines) : items = [] for ii in lines: if 'in kB' in ii: sv = [float(jj) for jj in ii.split()[2:8]] tmp = sv[4] sv[4] = sv[5] sv[5] = tmp items.append(util.voigt_to_stress(sv)) if len(items) == 0: raise OutcarItemError("cannot find item 'in kB'") return items