diff --git a/PRIVATE b/PRIVATE index 1364de052..1e8c66897 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit 1364de0521afa348acde95e282ab7aab4d470768 +Subproject commit 1e8c66897820468ab46958d995005e2b69204d0e diff --git a/src/grid/DAMASK_grid.f90 b/src/grid/DAMASK_grid.f90 index ae7a480c7..5a69ff57e 100644 --- a/src/grid/DAMASK_grid.f90 +++ b/src/grid/DAMASK_grid.f90 @@ -173,7 +173,7 @@ program DAMASK_grid step_discretization => load_step%get('discretization') do m = 1, step_mech%length select case (step_mech%getKey(m)) - case('L','dotF','F') + case('L','dot_F','F') N_def = N_def + 1 end select enddo @@ -196,10 +196,10 @@ program DAMASK_grid readMech: do m = 1, step_mech%length select case (step_mech%getKey(m)) - case('dotF','L','F') ! assign values for the deformation BC matrix + case('dot_F','L','F') ! assign values for the deformation BC matrix temp_valueVector = 0.0_pReal - if (step_mech%getKey(m) == 'dotF') then ! in case of dotF, set type to dotF - newLoadCase%deformation%myType = 'dotF' + if (step_mech%getKey(m) == 'dot_F') then ! in case of dot_F, set type to dot_F + newLoadCase%deformation%myType = 'dot_F' else if (step_mech%getKey(m) == 'F') then newLoadCase%deformation%myType = 'F' else @@ -207,7 +207,7 @@ program DAMASK_grid endif step_deformation => step_mech%get(m) do j = 1, 9 - temp_maskVector(j) = step_deformation%get_asString(j) /= 'x' ! true if not a x + temp_maskVector(j) = step_deformation%get_asString(j) /= 'x' ! true if not a 'x' if (temp_maskVector(j)) temp_valueVector(j) = step_deformation%get_asFloat(j) ! read value where applicable enddo newLoadCase%deformation%mask = transpose(reshape(temp_maskVector,[ 3,3])) ! mask in 3x3 notation @@ -216,7 +216,7 @@ program DAMASK_grid temp_valueVector = 0.0_pReal step_stress => step_mech%get(m) do j = 1, 9 - temp_maskVector(j) = step_stress%get_asString(j) /= 'x' ! true if not an asterisk + temp_maskVector(j) = step_stress%get_asString(j) /= 'x' ! true if not a 'x' if (temp_maskVector(j)) temp_valueVector(j) = step_stress%get_asFloat(j) ! read value where applicable enddo newLoadCase%stress%mask = transpose(reshape(temp_maskVector,[ 3,3])) diff --git a/src/grid/grid_mech_FEM.f90 b/src/grid/grid_mech_FEM.f90 index d7ee82427..dfbd3f2f3 100644 --- a/src/grid/grid_mech_FEM.f90 +++ b/src/grid/grid_mech_FEM.f90 @@ -345,7 +345,7 @@ subroutine grid_mech_FEM_forward(cutBack,guess,timeinc,timeinc_old,loadCaseTime, if (deformation_BC%myType=='L') then ! calculate F_aimDot from given L and current F F_aimDot = F_aimDot & + merge(matmul(deformation_BC%values, F_aim_lastInc),.0_pReal,deformation_BC%mask) - elseif(deformation_BC%myType=='dotF') then ! F_aimDot is prescribed + elseif(deformation_BC%myType=='dot_F') then ! F_aimDot is prescribed F_aimDot = F_aimDot & + merge(deformation_BC%values,.0_pReal,deformation_BC%mask) elseif (deformation_BC%myType=='F') then ! aim at end of load case is prescribed @@ -372,7 +372,7 @@ subroutine grid_mech_FEM_forward(cutBack,guess,timeinc,timeinc_old,loadCaseTime, F_aim = F_aim_lastInc + F_aimDot * timeinc if (stress_BC%myType=='P') then P_aim = P_aim + merge((stress_BC%values - P_aim)/loadCaseTime*timeinc,.0_pReal,stress_BC%mask) - elseif (stress_BC%myType=='dotP') then !UNTESTED + elseif (stress_BC%myType=='dot_P') then !UNTESTED P_aim = P_aim + merge(stress_BC%values*timeinc,.0_pReal,stress_BC%mask) endif diff --git a/src/grid/grid_mech_spectral_basic.f90 b/src/grid/grid_mech_spectral_basic.f90 index 1a9e66908..d2f6b40da 100644 --- a/src/grid/grid_mech_spectral_basic.f90 +++ b/src/grid/grid_mech_spectral_basic.f90 @@ -311,7 +311,7 @@ subroutine grid_mech_spectral_basic_forward(cutBack,guess,timeinc,timeinc_old,lo if (deformation_BC%myType=='L') then ! calculate F_aimDot from given L and current F F_aimDot = F_aimDot & + merge(matmul(deformation_BC%values, F_aim_lastInc),.0_pReal,deformation_BC%mask) - elseif(deformation_BC%myType=='dotF') then ! F_aimDot is prescribed + elseif(deformation_BC%myType=='dot_F') then ! F_aimDot is prescribed F_aimDot = F_aimDot & + merge(deformation_BC%values,.0_pReal,deformation_BC%mask) elseif (deformation_BC%myType=='F') then ! aim at end of load case is prescribed @@ -332,7 +332,7 @@ subroutine grid_mech_spectral_basic_forward(cutBack,guess,timeinc,timeinc_old,lo F_aim = F_aim_lastInc + F_aimDot * timeinc if (stress_BC%myType=='P') then P_aim = P_aim + merge((stress_BC%values - P_aim)/loadCaseTime*timeinc,.0_pReal,stress_BC%mask) - elseif (stress_BC%myType=='dotP') then !UNTESTED + elseif (stress_BC%myType=='dot_P') then !UNTESTED P_aim = P_aim + merge(stress_BC%values*timeinc,.0_pReal,stress_BC%mask) endif diff --git a/src/grid/grid_mech_spectral_polarisation.f90 b/src/grid/grid_mech_spectral_polarisation.f90 index 8380fa6c1..3d495ddf0 100644 --- a/src/grid/grid_mech_spectral_polarisation.f90 +++ b/src/grid/grid_mech_spectral_polarisation.f90 @@ -347,7 +347,7 @@ subroutine grid_mech_spectral_polarisation_forward(cutBack,guess,timeinc,timeinc if (deformation_BC%myType=='L') then ! calculate F_aimDot from given L and current F F_aimDot = F_aimDot & + merge(matmul(deformation_BC%values, F_aim_lastInc),.0_pReal,deformation_BC%mask) - elseif(deformation_BC%myType=='dotF') then ! F_aimDot is prescribed + elseif(deformation_BC%myType=='dot_F') then ! F_aimDot is prescribed F_aimDot = F_aimDot & + merge(deformation_BC%values,.0_pReal,deformation_BC%mask) elseif (deformation_BC%myType=='F') then ! aim at end of load case is prescribed @@ -372,7 +372,7 @@ subroutine grid_mech_spectral_polarisation_forward(cutBack,guess,timeinc,timeinc F_aim = F_aim_lastInc + F_aimDot * timeinc if (stress_BC%myType=='P') then P_aim = P_aim + merge((stress_BC%values - P_aim)/loadCaseTime*timeinc,.0_pReal,stress_BC%mask) - elseif (stress_BC%myType=='dotP') then !UNTESTED + elseif (stress_BC%myType=='dot_P') then !UNTESTED P_aim = P_aim + merge(stress_BC%values*timeinc,.0_pReal,stress_BC%mask) endif diff --git a/src/grid/spectral_utilities.f90 b/src/grid/spectral_utilities.f90 index a21318c6f..11d278219 100644 --- a/src/grid/spectral_utilities.f90 +++ b/src/grid/spectral_utilities.f90 @@ -90,7 +90,7 @@ module spectral_utilities type, public :: tLoadCase type(rotation) :: rot !< rotation of BC type(tBoundaryCondition) :: stress, & !< stress BC - deformation !< deformation BC (dotF or L) + deformation !< deformation BC (dot_F or L) real(pReal) :: time !< length of increment integer :: incs, & !< number of increments outputfrequency, & !< frequency of result writes