Skip to content

There is something wrong about the update of crystal orientation. The Euler angles 'psi_t', 'dir_cos' or 'xs, xm' are not updated within the loop. #1

@Budong-zhangliang

Description

@Budong-zhangliang
  1. There is no explicit mathematical update or transformation applied to psi_t within the loop. The Euler angles are initialized once and then simply passed through the state variables from one time step to the next.

    (1) Initialization:

    • For the first time step, psi_t is initialized using values from the angle array, which are presumably read from an external file:
      psi_t(1) = angle(nElement(km),1)*PI/180.0
      psi_t(2) = angle(nElement(km),2)*PI/180.0
      psi_t(3) = angle(nElement(km),3)*PI/180.0

    (2) Reading from State Variables:

    • For subsequent time steps, psi_t is read from the stateOld array:
      do i = 1,3
        n = n + 1
        psi_t(i) = stateOld(km,n)
      end do

    (3) Storing Back to State Variables:

    • At the end of each loop iteration, psi_t is stored back into the stateNew array:
      do i = 1,3
        n = n + 1
        stateNew(km,n) = psi_t(i)
      end do
  2. The dir_cos matrix, as calculated in the subroutine, is not used after its computation. Instead, the dir_cos_0 matrix is used for transforming slip systems and rotating the elastic tensor.

The dir_cos matrix is calculated using the calc_Dir_Cos subroutine and then transformed using the rel_spin matrix:

call calc_Dir_Cos(psi_t, dir_cos_0)
call aa_dot_bb(3, dir_cos_0, rel_spin, dir_cos)
  1. The xs and xm arrays are calculated but not used in any subsequent operations or calculations within the provided subroutine.

The xs and xm arrays are calculated using the calc_Rot_Slip and calc_Rot_Norm subroutines:

call calc_Rot_Slip(xs0, xs, F_el_0, num_slip_sys)
call calc_Rot_Norm(xm0, xm, F_el_inv_0, num_slip_sys)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions