UCL-CCS / SCEMa

HMM implementation featuring Deal.II (FE) and LAMMPS (MD)
GNU General Public License v3.0
15 stars 7 forks source link

HMM stress/strain data extraction #17

Open mvassaux opened 5 years ago

mvassaux commented 5 years ago

How to output the stresses and strains data from an HMM run, for each integration (Gauss) point?

mvassaux commented 5 years ago

The function void FEProblem<dim>::output_lhistory () in the file headers/FE_problem.h does write the strain tensor and the stress tensor, in a single file for all the cells that are taken care of by the same processor (at the macroscale level).

So at the end, you have N_proc,macro files which contain the stress/strain data for the number of FE cells computed by each processor. The data in each file only concerns the last time step.

The files are named as such: sprintf(filename, "%s/pr_%d.lhistory.csv", macrologloc.c_str(), this_FE_process); So only the data of the last computed step is kept, if you modify the filename to include the timestep, let say that way: sprintf(filename, "%s/%d.pr_%d.lhistory.csv", macrologloc.c_str(), timestep, this_FE_process); Then the data is kept for every timestep and you can analyse it as you want.

The function is only called when timestep%freq_output_lhist==0, so by changing the value of freq_output_lhist you can change the frequency at which you want to save the strain/stress data.