Add full stress calculation

Added calculation for the full stress tensor
This commit is contained in:
David Bowler 2022-06-10 10:42:20 +01:00
parent f8caa0f85e
commit 412b752a22
1 changed files with 19 additions and 0 deletions

View File

@ -222,6 +222,25 @@ contains
disp_force(3, ia_glob) = disp_force(3, ia_glob) + emp_energy * emp_force * unit_vec_z disp_force(3, ia_glob) = disp_force(3, ia_glob) + emp_energy * emp_force * unit_vec_z
if(flag_stress) then if(flag_stress) then
if(flag_full_stress) then if(flag_full_stress) then
! NB force direction is set by unit_vec so tracks first index
disp_stress(1,1) = disp_stress(1,1) + emp_energy * emp_force &
* rijx * unit_vec_x
disp_stress(1,2) = disp_stress(1,2) + emp_energy * emp_force &
* rijy * unit_vec_x
disp_stress(1,3) = disp_stress(1,3) + emp_energy * emp_force &
* rijz * unit_vec_x
disp_stress(2,1) = disp_stress(2,1) + emp_energy * emp_force &
* rijx * unit_vec_y
disp_stress(2,2) = disp_stress(2,2) + emp_energy * emp_force &
* rijy * unit_vec_y
disp_stress(2,3) = disp_stress(2,3) + emp_energy * emp_force &
* rijz * unit_vec_y
disp_stress(3,1) = disp_stress(3,1) + emp_energy * emp_force &
* rijx * unit_vec_z
disp_stress(3,2) = disp_stress(3,2) + emp_energy * emp_force &
* rijy * unit_vec_z
disp_stress(3,3) = disp_stress(3,3) + emp_energy * emp_force &
* rijz * unit_vec_z
else else
disp_stress(1,1) = disp_stress(1,1) + emp_energy * emp_force & disp_stress(1,1) = disp_stress(1,1) + emp_energy * emp_force &
* rijx * unit_vec_x * rijx * unit_vec_x