corrected initialization order
This commit is contained in:
parent
e18a6f6c7f
commit
0127828f70
|
@ -443,7 +443,27 @@ program DAMASK_spectral_AL
|
||||||
F_real,[ res(3),res(2) ,res(1)+2_pInt],&
|
F_real,[ res(3),res(2) ,res(1)+2_pInt],&
|
||||||
1, res(3)*res(2)*(res(1)+2_pInt),fftw_planner_flag)
|
1, res(3)*res(2)*(res(1)+2_pInt),fftw_planner_flag)
|
||||||
if (debugGeneral) write(6,'(a)') 'FFTW initialized'
|
if (debugGeneral) write(6,'(a)') 'FFTW initialized'
|
||||||
|
|
||||||
|
!--------------------------------------------------------------------------------------------------
|
||||||
|
! init fields to no deformation
|
||||||
|
ielem = 0_pInt
|
||||||
|
do k = 1_pInt, res(3); do j = 1_pInt, res(2); do i = 1_pInt, res(1)
|
||||||
|
ielem = ielem + 1_pInt
|
||||||
|
F_real(i,j,k,1:3,1:3) = math_I3; F_lastInc(i,j,k,1:3,1:3) = math_I3
|
||||||
|
coordinates(i,j,k,1:3) = geomdim/real(res * [i,j,k], pReal) - geomdim/real(2_pInt*res,pReal)
|
||||||
|
call CPFEM_general(3_pInt,coordinates(i,j,k,1:3),math_I3,math_I3,temperature(i,j,k),&
|
||||||
|
0.0_pReal,ielem,1_pInt,sigma,dsde,P(i,j,k,1:3,1:3),dPdF(i,j,k,1:3,1:3,1:3,1:3))
|
||||||
|
enddo; enddo; enddo
|
||||||
|
|
||||||
|
ielem = 0_pInt
|
||||||
|
do k = 1_pInt, res(3); do j = 1_pInt, res(2); do i = 1_pInt, res(1)
|
||||||
|
ielem = ielem + 1_pInt
|
||||||
|
call CPFEM_general(2_pInt,coordinates(i,j,k,1:3),math_I3,math_I3,temperature(i,j,k),&
|
||||||
|
0.0_pReal,ielem,1_pInt,sigma,dsde,P(i,j,k,1:3,1:3),dPdF(i,j,k,1:3,1:3,1:3,1:3))
|
||||||
|
C = C + dPdF(i,j,k,1:3,1:3,1:3,1:3)
|
||||||
|
enddo; enddo; enddo
|
||||||
|
C_inc0 = C * wgt ! linear reference material stiffness
|
||||||
|
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
! calculation of discrete angular frequencies, ordered as in FFTW (wrap around) and remove the given highest frequencies
|
! calculation of discrete angular frequencies, ordered as in FFTW (wrap around) and remove the given highest frequencies
|
||||||
do k = 1_pInt, res(3)
|
do k = 1_pInt, res(3)
|
||||||
|
@ -477,26 +497,6 @@ program DAMASK_spectral_AL
|
||||||
gamma_hat(1,1,1, 1:3,1:3,1:3,1:3) = 0.0_pReal ! singular point at xi=(0.0,0.0,0.0) i.e. i=j=k=1
|
gamma_hat(1,1,1, 1:3,1:3,1:3,1:3) = 0.0_pReal ! singular point at xi=(0.0,0.0,0.0) i.e. i=j=k=1
|
||||||
endif
|
endif
|
||||||
|
|
||||||
!--------------------------------------------------------------------------------------------------
|
|
||||||
! init fields to no deformation
|
|
||||||
ielem = 0_pInt
|
|
||||||
do k = 1_pInt, res(3); do j = 1_pInt, res(2); do i = 1_pInt, res(1)
|
|
||||||
ielem = ielem + 1_pInt
|
|
||||||
F_real(i,j,k,1:3,1:3) = math_I3; F_lastInc(i,j,k,1:3,1:3) = math_I3
|
|
||||||
coordinates(i,j,k,1:3) = geomdim/real(res * [i,j,k], pReal) - geomdim/real(2_pInt*res,pReal)
|
|
||||||
call CPFEM_general(3_pInt,coordinates(i,j,k,1:3),math_I3,math_I3,temperature(i,j,k),&
|
|
||||||
0.0_pReal,ielem,1_pInt,sigma,dsde,temp33_Real ,dPdF(i,j,k,1:3,1:3,1:3,1:3))
|
|
||||||
enddo; enddo; enddo
|
|
||||||
|
|
||||||
ielem = 0_pInt
|
|
||||||
do k = 1_pInt, res(3); do j = 1_pInt, res(2); do i = 1_pInt, res(1)
|
|
||||||
ielem = ielem + 1_pInt
|
|
||||||
call CPFEM_general(2_pInt,coordinates(i,j,k,1:3),math_I3,math_I3,temperature(i,j,k),&
|
|
||||||
0.0_pReal,ielem,1_pInt,sigma,dsde,temp33_Real ,dPdF(i,j,k,1:3,1:3,1:3,1:3))
|
|
||||||
C = C + dPdF(i,j,k,1:3,1:3,1:3,1:3)
|
|
||||||
enddo; enddo; enddo
|
|
||||||
C_inc0 = C * wgt ! linear reference material stiffness
|
|
||||||
|
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
! possible restore deformation gradient from saved state
|
! possible restore deformation gradient from saved state
|
||||||
if (restartInc > 1_pInt) then ! using old values from file
|
if (restartInc > 1_pInt) then ! using old values from file
|
||||||
|
@ -671,7 +671,7 @@ program DAMASK_spectral_AL
|
||||||
iter = 0_pInt
|
iter = 0_pInt
|
||||||
err_crit = huge(1.0_pReal) ! go into loop
|
err_crit = huge(1.0_pReal) ! go into loop
|
||||||
callCPFEM=.true.
|
callCPFEM=.true.
|
||||||
guessmax = 2
|
guessmax = 3
|
||||||
guesses = 0
|
guesses = 0
|
||||||
|
|
||||||
!##################################################################################################
|
!##################################################################################################
|
||||||
|
@ -690,9 +690,9 @@ program DAMASK_spectral_AL
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
! stress BC handling
|
! stress BC handling
|
||||||
if(size_reduced > 0_pInt) then ! calculate stress BC if applied
|
if(size_reduced > 0_pInt) then ! calculate stress BC if applied
|
||||||
err_stress = maxval(abs(mask_stress * (lambda_av - bc(loadcase)%P))) ! maximum deviaton (tensor norm not applicable)
|
err_stress = maxval(abs(mask_stress * (P_star_av - bc(loadcase)%P))) ! maximum deviaton (tensor norm not applicable)
|
||||||
F_aim = F_aim + math_mul3333xx33(S_lastInc,bc(loadcase)%P- lambda_av)
|
F_aim = F_aim + math_mul3333xx33(S_lastInc,bc(loadcase)%P- P_star_av)
|
||||||
err_stress_tol = maxval(abs(lambda_av)) * err_stress_tolrel ! don't use any tensor norm because the comparison should be coherent
|
err_stress_tol = maxval(abs(P_star_av)) * err_stress_tolrel ! don't use any tensor norm because the comparison should be coherent
|
||||||
else
|
else
|
||||||
err_stress_tol = + huge(1.0_pReal)
|
err_stress_tol = + huge(1.0_pReal)
|
||||||
endif
|
endif
|
||||||
|
|
Loading…
Reference in New Issue