fixed bug in loadcase rotation: when not specifying "deg" the rotation was reset to 0,0,0..!

This commit is contained in:
Duancheng Ma 2012-09-06 14:05:28 +00:00
parent 4f6e0eda32
commit b9a2890665
1 changed files with 8 additions and 7 deletions

View File

@ -207,18 +207,19 @@ program DAMASK_spectral_Driver
case('guessreset','dropguessing')
loadCases(currentLoadCase)%followFormerTrajectory = .false. ! do not continue to predict deformation along former trajectory
case('euler') ! rotation of currentLoadCase given in euler angles
l = 0_pInt ! assuming values given in radians
k = 1_pInt ! assuming keyword indicating degree/radians
l = 0_pInt ! assuming values given in degrees
k = 0_pInt ! assuming keyword indicating degree/radians
select case (IO_lc(IO_stringValue(line,positions,i+1_pInt)))
case('rad','radian')
l = 1_pInt
k = 1_pInt
case('deg','degree')
l = 1_pInt ! for conversion from degree to radian
case('rad','radian')
case default
k = 0_pInt ! immediately readingk in angles, assuming radians
end select
forall(j = 1_pInt:3_pInt) temp33_Real(j,1) = &
IO_floatValue(line,positions,i+k+j) * real(l,pReal) * inRad
loadCases(currentLoadCase)%rotation = math_EulerToR(temp33_Real(:,1))
forall(j = 1_pInt:3_pInt) temp_valueVector(j) = IO_floatValue(line,positions,i+k+j)
if (k == 1_pInt) temp_valueVector(1:3) = temp_valueVector(1:3) * inRad ! convert to rad
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
temp_valueVector = 0.0_pReal
forall (j = 1_pInt:9_pInt) temp_valueVector(j) = IO_floatValue(line,positions,i+j)