fixed bug in loadcase rotation: when not specifying "deg" the rotation was reset to 0,0,0..!
This commit is contained in:
parent
4f6e0eda32
commit
b9a2890665
|
@ -207,18 +207,19 @@ program DAMASK_spectral_Driver
|
||||||
case('guessreset','dropguessing')
|
case('guessreset','dropguessing')
|
||||||
loadCases(currentLoadCase)%followFormerTrajectory = .false. ! do not continue to predict deformation along former trajectory
|
loadCases(currentLoadCase)%followFormerTrajectory = .false. ! do not continue to predict deformation along former trajectory
|
||||||
case('euler') ! rotation of currentLoadCase given in euler angles
|
case('euler') ! rotation of currentLoadCase given in euler angles
|
||||||
l = 0_pInt ! assuming values given in radians
|
l = 0_pInt ! assuming values given in degrees
|
||||||
k = 1_pInt ! assuming keyword indicating degree/radians
|
k = 0_pInt ! assuming keyword indicating degree/radians
|
||||||
select case (IO_lc(IO_stringValue(line,positions,i+1_pInt)))
|
select case (IO_lc(IO_stringValue(line,positions,i+1_pInt)))
|
||||||
|
case('rad','radian')
|
||||||
|
l = 1_pInt
|
||||||
|
k = 1_pInt
|
||||||
case('deg','degree')
|
case('deg','degree')
|
||||||
l = 1_pInt ! for conversion from degree to radian
|
l = 1_pInt ! for conversion from degree to radian
|
||||||
case('rad','radian')
|
|
||||||
case default
|
case default
|
||||||
k = 0_pInt ! immediately readingk in angles, assuming radians
|
|
||||||
end select
|
end select
|
||||||
forall(j = 1_pInt:3_pInt) temp33_Real(j,1) = &
|
forall(j = 1_pInt:3_pInt) temp_valueVector(j) = IO_floatValue(line,positions,i+k+j)
|
||||||
IO_floatValue(line,positions,i+k+j) * real(l,pReal) * inRad
|
if (k == 1_pInt) temp_valueVector(1:3) = temp_valueVector(1:3) * inRad ! convert to rad
|
||||||
loadCases(currentLoadCase)%rotation = math_EulerToR(temp33_Real(:,1))
|
loadCases(currentLoadCase)%rotation = math_EulerToR(temp_valueVector(1:3)) ! convert rad Eulers to rotation matrix
|
||||||
case('rotation','rot') ! assign values for the rotation of currentLoadCase matrix
|
case('rotation','rot') ! assign values for the rotation of currentLoadCase matrix
|
||||||
temp_valueVector = 0.0_pReal
|
temp_valueVector = 0.0_pReal
|
||||||
forall (j = 1_pInt:9_pInt) temp_valueVector(j) = IO_floatValue(line,positions,i+j)
|
forall (j = 1_pInt:9_pInt) temp_valueVector(j) = IO_floatValue(line,positions,i+j)
|
||||||
|
|
Loading…
Reference in New Issue