[skip sc] Fdot --> dotF
This commit is contained in:
parent
6455627af9
commit
6c79093a75
2
PRIVATE
2
PRIVATE
|
@ -1 +1 @@
|
||||||
Subproject commit 256c0d23c005c82987954d7f8bbf996e033f7821
|
Subproject commit 1364de0521afa348acde95e282ab7aab4d470768
|
|
@ -1,6 +1,6 @@
|
||||||
step:
|
step:
|
||||||
- mech:
|
- mech:
|
||||||
Fdot: [0, 0, 0, 1e-3, 0, 0, 0, 0, 0]
|
dotF: [0, 0, 0, 1e-3, 0, 0, 0, 0, 0]
|
||||||
P: [x, x, x, x, x, x, x, x, x]
|
P: [x, x, x, x, x, x, x, x, x]
|
||||||
discretization:
|
discretization:
|
||||||
t: 60
|
t: 60
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
step:
|
step:
|
||||||
- mech:
|
- mech:
|
||||||
Fdot: [0, 0, 1e-3, 0, 0, 0, 0, 0, 0]
|
dotF: [0, 0, 1e-3, 0, 0, 0, 0, 0, 0]
|
||||||
P: [x, x, x, x, x, x, x, x, x]
|
P: [x, x, x, x, x, x, x, x, x]
|
||||||
discretization:
|
discretization:
|
||||||
t: 60
|
t: 60
|
||||||
|
|
|
@ -1,13 +1,13 @@
|
||||||
step:
|
step:
|
||||||
- mech:
|
- mech:
|
||||||
Fdot: [1.0e-3,0,0, 0,x,0, 0,0,x]
|
dotF: [1.0e-3,0,0, 0,x,0, 0,0,x]
|
||||||
P: [ x,x,x, x,0,x, x,x,0]
|
P: [ x,x,x, x,0,x, x,x,0]
|
||||||
discretization:
|
discretization:
|
||||||
t: 10
|
t: 10
|
||||||
N: 40
|
N: 40
|
||||||
f_out: 4
|
f_out: 4
|
||||||
- mech:
|
- mech:
|
||||||
Fdot: [1.0e-3,0,0, 0,x,0, 0,0,x]
|
dotF: [1.0e-3,0,0, 0,x,0, 0,0,x]
|
||||||
P: [ x,x,x, x,0,x, x,x,0]
|
P: [ x,x,x, x,0,x, x,x,0]
|
||||||
discretization:
|
discretization:
|
||||||
t: 60
|
t: 60
|
||||||
|
|
|
@ -173,7 +173,7 @@ program DAMASK_grid
|
||||||
step_discretization => load_step%get('discretization')
|
step_discretization => load_step%get('discretization')
|
||||||
do m = 1, step_mech%length
|
do m = 1, step_mech%length
|
||||||
select case (step_mech%getKey(m))
|
select case (step_mech%getKey(m))
|
||||||
case('L','Fdot','F')
|
case('L','dotF','F')
|
||||||
N_def = N_def + 1
|
N_def = N_def + 1
|
||||||
end select
|
end select
|
||||||
enddo
|
enddo
|
||||||
|
@ -196,10 +196,10 @@ program DAMASK_grid
|
||||||
|
|
||||||
readMech: do m = 1, step_mech%length
|
readMech: do m = 1, step_mech%length
|
||||||
select case (step_mech%getKey(m))
|
select case (step_mech%getKey(m))
|
||||||
case('Fdot','L','F') ! assign values for the deformation BC matrix
|
case('dotF','L','F') ! assign values for the deformation BC matrix
|
||||||
temp_valueVector = 0.0_pReal
|
temp_valueVector = 0.0_pReal
|
||||||
if (step_mech%getKey(m) == 'Fdot') then ! in case of Fdot, set type to fdot
|
if (step_mech%getKey(m) == 'dotF') then ! in case of dotF, set type to dotf
|
||||||
newLoadCase%deformation%myType = 'fdot'
|
newLoadCase%deformation%myType = 'dotf'
|
||||||
else if (step_mech%getKey(m) == 'F') then
|
else if (step_mech%getKey(m) == 'F') then
|
||||||
newLoadCase%deformation%myType = 'f'
|
newLoadCase%deformation%myType = 'f'
|
||||||
else
|
else
|
||||||
|
|
|
@ -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
|
if (deformation_BC%myType=='l') then ! calculate F_aimDot from given L and current F
|
||||||
F_aimDot = F_aimDot &
|
F_aimDot = F_aimDot &
|
||||||
+ merge(matmul(deformation_BC%values, F_aim_lastInc),.0_pReal,deformation_BC%mask)
|
+ merge(matmul(deformation_BC%values, F_aim_lastInc),.0_pReal,deformation_BC%mask)
|
||||||
elseif(deformation_BC%myType=='fdot') then ! F_aimDot is prescribed
|
elseif(deformation_BC%myType=='dotf') then ! F_aimDot is prescribed
|
||||||
F_aimDot = F_aimDot &
|
F_aimDot = F_aimDot &
|
||||||
+ merge(deformation_BC%values,.0_pReal,deformation_BC%mask)
|
+ merge(deformation_BC%values,.0_pReal,deformation_BC%mask)
|
||||||
elseif (deformation_BC%myType=='f') then ! aim at end of load case is prescribed
|
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
|
F_aim = F_aim_lastInc + F_aimDot * timeinc
|
||||||
if (stress_BC%myType=='p') then
|
if (stress_BC%myType=='p') then
|
||||||
P_aim = P_aim + merge((stress_BC%values - P_aim)/loadCaseTime*timeinc,.0_pReal,stress_BC%mask)
|
P_aim = P_aim + merge((stress_BC%values - P_aim)/loadCaseTime*timeinc,.0_pReal,stress_BC%mask)
|
||||||
elseif (stress_BC%myType=='pdot') then !UNTESTED
|
elseif (stress_BC%myType=='dotp') then !UNTESTED
|
||||||
P_aim = P_aim + merge(stress_BC%values*timeinc,.0_pReal,stress_BC%mask)
|
P_aim = P_aim + merge(stress_BC%values*timeinc,.0_pReal,stress_BC%mask)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
|
@ -308,13 +308,13 @@ subroutine grid_mech_spectral_basic_forward(cutBack,guess,timeinc,timeinc_old,lo
|
||||||
|
|
||||||
!-----------------------------------------------------------------------------------------------
|
!-----------------------------------------------------------------------------------------------
|
||||||
! calculate rate for aim
|
! calculate rate for aim
|
||||||
if (deformation_BC%myType=='l') then ! calculate F_aimDot from given L and current F
|
if (deformation_BC%myType=='l') then ! calculate F_aimDot from given L and current F
|
||||||
F_aimDot = F_aimDot &
|
F_aimDot = F_aimDot &
|
||||||
+ merge(matmul(deformation_BC%values, F_aim_lastInc),.0_pReal,deformation_BC%mask)
|
+ merge(matmul(deformation_BC%values, F_aim_lastInc),.0_pReal,deformation_BC%mask)
|
||||||
elseif(deformation_BC%myType=='fdot') then ! F_aimDot is prescribed
|
elseif(deformation_BC%myType=='dotf') then ! F_aimDot is prescribed
|
||||||
F_aimDot = F_aimDot &
|
F_aimDot = F_aimDot &
|
||||||
+ merge(deformation_BC%values,.0_pReal,deformation_BC%mask)
|
+ merge(deformation_BC%values,.0_pReal,deformation_BC%mask)
|
||||||
elseif (deformation_BC%myType=='f') then ! aim at end of load case is prescribed
|
elseif (deformation_BC%myType=='f') then ! aim at end of load case is prescribed
|
||||||
F_aimDot = F_aimDot &
|
F_aimDot = F_aimDot &
|
||||||
+ merge((deformation_BC%values - F_aim_lastInc)/loadCaseTime,.0_pReal,deformation_BC%mask)
|
+ merge((deformation_BC%values - F_aim_lastInc)/loadCaseTime,.0_pReal,deformation_BC%mask)
|
||||||
endif
|
endif
|
||||||
|
@ -332,11 +332,11 @@ subroutine grid_mech_spectral_basic_forward(cutBack,guess,timeinc,timeinc_old,lo
|
||||||
F_aim = F_aim_lastInc + F_aimDot * timeinc
|
F_aim = F_aim_lastInc + F_aimDot * timeinc
|
||||||
if (stress_BC%myType=='p') then
|
if (stress_BC%myType=='p') then
|
||||||
P_aim = P_aim + merge((stress_BC%values - P_aim)/loadCaseTime*timeinc,.0_pReal,stress_BC%mask)
|
P_aim = P_aim + merge((stress_BC%values - P_aim)/loadCaseTime*timeinc,.0_pReal,stress_BC%mask)
|
||||||
elseif (stress_BC%myType=='pdot') then !UNTESTED
|
elseif (stress_BC%myType=='dotp') then !UNTESTED
|
||||||
P_aim = P_aim + merge(stress_BC%values*timeinc,.0_pReal,stress_BC%mask)
|
P_aim = P_aim + merge(stress_BC%values*timeinc,.0_pReal,stress_BC%mask)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
F = reshape(utilities_forwardField(timeinc,F_lastInc,Fdot, & ! estimate of F at end of time+timeinc that matches rotated F_aim on average
|
F = reshape(utilities_forwardField(timeinc,F_lastInc,Fdot, & ! estimate of F at end of time+timeinc that matches rotated F_aim on average
|
||||||
rotation_BC%rotate(F_aim,active=.true.)),[9,grid(1),grid(2),grid3])
|
rotation_BC%rotate(F_aim,active=.true.)),[9,grid(1),grid(2),grid3])
|
||||||
call DMDAVecRestoreArrayF90(da,solution_vec,F,ierr); CHKERRQ(ierr)
|
call DMDAVecRestoreArrayF90(da,solution_vec,F,ierr); CHKERRQ(ierr)
|
||||||
|
|
||||||
|
|
|
@ -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
|
if (deformation_BC%myType=='l') then ! calculate F_aimDot from given L and current F
|
||||||
F_aimDot = F_aimDot &
|
F_aimDot = F_aimDot &
|
||||||
+ merge(matmul(deformation_BC%values, F_aim_lastInc),.0_pReal,deformation_BC%mask)
|
+ merge(matmul(deformation_BC%values, F_aim_lastInc),.0_pReal,deformation_BC%mask)
|
||||||
elseif(deformation_BC%myType=='fdot') then ! F_aimDot is prescribed
|
elseif(deformation_BC%myType=='dotf') then ! F_aimDot is prescribed
|
||||||
F_aimDot = F_aimDot &
|
F_aimDot = F_aimDot &
|
||||||
+ merge(deformation_BC%values,.0_pReal,deformation_BC%mask)
|
+ merge(deformation_BC%values,.0_pReal,deformation_BC%mask)
|
||||||
elseif (deformation_BC%myType=='f') then ! aim at end of load case is prescribed
|
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
|
F_aim = F_aim_lastInc + F_aimDot * timeinc
|
||||||
if (stress_BC%myType=='p') then
|
if (stress_BC%myType=='p') then
|
||||||
P_aim = P_aim + merge((stress_BC%values - P_aim)/loadCaseTime*timeinc,.0_pReal,stress_BC%mask)
|
P_aim = P_aim + merge((stress_BC%values - P_aim)/loadCaseTime*timeinc,.0_pReal,stress_BC%mask)
|
||||||
elseif (stress_BC%myType=='pdot') then !UNTESTED
|
elseif (stress_BC%myType=='dotp') then !UNTESTED
|
||||||
P_aim = P_aim + merge(stress_BC%values*timeinc,.0_pReal,stress_BC%mask)
|
P_aim = P_aim + merge(stress_BC%values*timeinc,.0_pReal,stress_BC%mask)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
|
@ -90,7 +90,7 @@ module spectral_utilities
|
||||||
type, public :: tLoadCase
|
type, public :: tLoadCase
|
||||||
type(rotation) :: rot !< rotation of BC
|
type(rotation) :: rot !< rotation of BC
|
||||||
type(tBoundaryCondition) :: stress, & !< stress BC
|
type(tBoundaryCondition) :: stress, & !< stress BC
|
||||||
deformation !< deformation BC (Fdot or L)
|
deformation !< deformation BC (dotF or L)
|
||||||
real(pReal) :: time !< length of increment
|
real(pReal) :: time !< length of increment
|
||||||
integer :: incs, & !< number of increments
|
integer :: incs, & !< number of increments
|
||||||
outputfrequency, & !< frequency of result writes
|
outputfrequency, & !< frequency of result writes
|
||||||
|
|
Loading…
Reference in New Issue