[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:
|
||||
- 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]
|
||||
discretization:
|
||||
t: 60
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
step:
|
||||
- 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]
|
||||
discretization:
|
||||
t: 60
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
step:
|
||||
- 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]
|
||||
discretization:
|
||||
t: 10
|
||||
N: 40
|
||||
f_out: 4
|
||||
- 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]
|
||||
discretization:
|
||||
t: 60
|
||||
|
|
|
@ -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','Fdot','F')
|
||||
case('L','dotF','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('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
|
||||
if (step_mech%getKey(m) == 'Fdot') then ! in case of Fdot, set type to fdot
|
||||
newLoadCase%deformation%myType = 'fdot'
|
||||
if (step_mech%getKey(m) == 'dotF') then ! in case of dotF, set type to dotf
|
||||
newLoadCase%deformation%myType = 'dotf'
|
||||
else if (step_mech%getKey(m) == 'F') then
|
||||
newLoadCase%deformation%myType = 'f'
|
||||
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
|
||||
F_aimDot = F_aimDot &
|
||||
+ 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 &
|
||||
+ 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=='pdot') then !UNTESTED
|
||||
elseif (stress_BC%myType=='dotp') then !UNTESTED
|
||||
P_aim = P_aim + merge(stress_BC%values*timeinc,.0_pReal,stress_BC%mask)
|
||||
endif
|
||||
|
||||
|
|
|
@ -308,13 +308,13 @@ subroutine grid_mech_spectral_basic_forward(cutBack,guess,timeinc,timeinc_old,lo
|
|||
|
||||
!-----------------------------------------------------------------------------------------------
|
||||
! 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 &
|
||||
+ 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 &
|
||||
+ 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 &
|
||||
+ merge((deformation_BC%values - F_aim_lastInc)/loadCaseTime,.0_pReal,deformation_BC%mask)
|
||||
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
|
||||
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=='pdot') then !UNTESTED
|
||||
elseif (stress_BC%myType=='dotp') then !UNTESTED
|
||||
P_aim = P_aim + merge(stress_BC%values*timeinc,.0_pReal,stress_BC%mask)
|
||||
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])
|
||||
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
|
||||
F_aimDot = F_aimDot &
|
||||
+ 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 &
|
||||
+ 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=='pdot') then !UNTESTED
|
||||
elseif (stress_BC%myType=='dotp') then !UNTESTED
|
||||
P_aim = P_aim + merge(stress_BC%values*timeinc,.0_pReal,stress_BC%mask)
|
||||
endif
|
||||
|
||||
|
|
|
@ -90,7 +90,7 @@ module spectral_utilities
|
|||
type, public :: tLoadCase
|
||||
type(rotation) :: rot !< rotation of BC
|
||||
type(tBoundaryCondition) :: stress, & !< stress BC
|
||||
deformation !< deformation BC (Fdot or L)
|
||||
deformation !< deformation BC (dotF or L)
|
||||
real(pReal) :: time !< length of increment
|
||||
integer :: incs, & !< number of increments
|
||||
outputfrequency, & !< frequency of result writes
|
||||
|
|
Loading…
Reference in New Issue