disabled multiphysics output because homogenization output was not accessible anymore
This commit is contained in:
parent
e16eb379ad
commit
146d151357
|
@ -3100,15 +3100,16 @@ subroutine crystallite_integrateStateFPI()
|
||||||
|
|
||||||
!$OMP DO PRIVATE(p,c)
|
!$OMP DO PRIVATE(p,c)
|
||||||
do e = eIter(1),eIter(2); do i = iIter(1,e),iIter(2,e); do g = gIter(1,e),gIter(2,e) ! iterate over elements, ips and grains
|
do e = eIter(1),eIter(2); do i = iIter(1,e),iIter(2,e); do g = gIter(1,e),gIter(2,e) ! iterate over elements, ips and grains
|
||||||
if (crystallite_todo(g,i,e) .and. .not. crystallite_converged(g,i,e)) &
|
if (crystallite_todo(g,i,e) .and. .not. crystallite_converged(g,i,e)) then !ToDo: should this be independent of todo/converged?
|
||||||
call constitutive_microstructure(crystallite_temperature(i,e), crystallite_Fe(1:3,1:3,g,i,e), &
|
call constitutive_microstructure(crystallite_temperature(i,e), crystallite_Fe(1:3,1:3,g,i,e), &
|
||||||
crystallite_Fp(1:3,1:3,g,i,e), g, i, e) ! update dependent state variables to be consistent with basic states
|
crystallite_Fp(1:3,1:3,g,i,e), g, i, e) ! update dependent state variables to be consistent with basic states
|
||||||
call constitutive_damage_microstructure(crystallite_Tstar_v(1:6,g,i,e), & !ToDo: should this be independent of todo/converged?
|
call constitutive_damage_microstructure(crystallite_Tstar_v(1:6,g,i,e), &
|
||||||
crystallite_Fe(1:3,1:3,g,i,e), &
|
crystallite_Fe(1:3,1:3,g,i,e), &
|
||||||
g,i,e) ! update dependent state variables to be consistent with basic states
|
g,i,e) ! update dependent state variables to be consistent with basic states
|
||||||
call constitutive_thermal_microstructure(crystallite_Tstar_v(1:6,g,i,e), &
|
call constitutive_thermal_microstructure(crystallite_Tstar_v(1:6,g,i,e), &
|
||||||
crystallite_Lp(1:3,1:3,g,i,e), &
|
crystallite_Lp(1:3,1:3,g,i,e), &
|
||||||
g,i,e) ! update dependent state variables to be consistent with basic states
|
g,i,e) ! update dependent state variables to be consistent with basic states
|
||||||
|
endif
|
||||||
p = mappingConstitutive(2,g,i,e)
|
p = mappingConstitutive(2,g,i,e)
|
||||||
c = mappingConstitutive(1,g,i,e)
|
c = mappingConstitutive(1,g,i,e)
|
||||||
plasticState(p)%previousDotState2(:,c) = plasticState(p)%previousDotState(:,c)
|
plasticState(p)%previousDotState2(:,c) = plasticState(p)%previousDotState(:,c)
|
||||||
|
@ -3149,7 +3150,7 @@ subroutine crystallite_integrateStateFPI()
|
||||||
|
|
||||||
!$OMP DO
|
!$OMP DO
|
||||||
do e = eIter(1),eIter(2); do i = iIter(1,e),iIter(2,e); do g = gIter(1,e),gIter(2,e) ! iterate over elements, ips and grains
|
do e = eIter(1),eIter(2); do i = iIter(1,e),iIter(2,e); do g = gIter(1,e),gIter(2,e) ! iterate over elements, ips and grains
|
||||||
if (crystallite_todo(g,i,e) .and. .not. crystallite_converged(g,i,e)) &
|
if (crystallite_todo(g,i,e) .and. .not. crystallite_converged(g,i,e)) then !ToDo: should this be independent of todo/converged?
|
||||||
call constitutive_collectDotState(crystallite_Tstar_v(1:6,g,i,e), crystallite_Fe, &
|
call constitutive_collectDotState(crystallite_Tstar_v(1:6,g,i,e), crystallite_Fe, &
|
||||||
crystallite_Fp, crystallite_temperature(i,e), &
|
crystallite_Fp, crystallite_temperature(i,e), &
|
||||||
crystallite_subdt(g,i,e), crystallite_subFrac, g,i,e)
|
crystallite_subdt(g,i,e), crystallite_subFrac, g,i,e)
|
||||||
|
@ -3159,8 +3160,10 @@ subroutine crystallite_integrateStateFPI()
|
||||||
call constitutive_thermal_collectDotState(crystallite_Tstar_v(1:6,g,i,e), &
|
call constitutive_thermal_collectDotState(crystallite_Tstar_v(1:6,g,i,e), &
|
||||||
crystallite_Lp(1:3,1:3,g,i,e), &
|
crystallite_Lp(1:3,1:3,g,i,e), &
|
||||||
g,i,e)
|
g,i,e)
|
||||||
|
endif
|
||||||
enddo; enddo; enddo
|
enddo; enddo; enddo
|
||||||
!$OMP ENDDO
|
!$OMP ENDDO
|
||||||
|
|
||||||
!$OMP DO PRIVATE(p,c)
|
!$OMP DO PRIVATE(p,c)
|
||||||
do e = eIter(1),eIter(2); do i = iIter(1,e),iIter(2,e); do g = gIter(1,e),gIter(2,e) ! iterate over elements, ips and grains
|
do e = eIter(1),eIter(2); do i = iIter(1,e),iIter(2,e); do g = gIter(1,e),gIter(2,e) ! iterate over elements, ips and grains
|
||||||
!$OMP FLUSH(crystallite_todo)
|
!$OMP FLUSH(crystallite_todo)
|
||||||
|
@ -3168,7 +3171,7 @@ subroutine crystallite_integrateStateFPI()
|
||||||
p = mappingConstitutive(2,g,i,e)
|
p = mappingConstitutive(2,g,i,e)
|
||||||
c = mappingConstitutive(1,g,i,e)
|
c = mappingConstitutive(1,g,i,e)
|
||||||
if ( any(plasticState(p)%dotState(:,c) /= plasticState(p)%dotState(:,c)) .or.&
|
if ( any(plasticState(p)%dotState(:,c) /= plasticState(p)%dotState(:,c)) .or.&
|
||||||
any(damageState(p)%dotState(:,c) /= damageState(p)%dotState(:,c)) .or.&
|
any(damageState(p)%dotState(:,c) /= damageState(p)%dotState(:,c)) .or.&
|
||||||
any(thermalState(p)%dotState(:,c) /= thermalState(p)%dotState(:,c))) then ! NaN occured in dotState
|
any(thermalState(p)%dotState(:,c) /= thermalState(p)%dotState(:,c))) then ! NaN occured in dotState
|
||||||
crystallite_todo(g,i,e) = .false. ! ... skip me next time
|
crystallite_todo(g,i,e) = .false. ! ... skip me next time
|
||||||
if (.not. crystallite_localPlasticity(g,i,e)) then ! if me is non-local...
|
if (.not. crystallite_localPlasticity(g,i,e)) then ! if me is non-local...
|
||||||
|
@ -3942,9 +3945,9 @@ function crystallite_postResults(ipc, ip, el)
|
||||||
ipc !< grain index
|
ipc !< grain index
|
||||||
|
|
||||||
real(pReal), dimension(1+crystallite_sizePostResults(microstructure_crystallite(mesh_element(4,el)))+ &
|
real(pReal), dimension(1+crystallite_sizePostResults(microstructure_crystallite(mesh_element(4,el)))+ &
|
||||||
1+plasticState(material_phase(ipc,ip,el))%sizePostResults + &
|
1+plasticState(material_phase(ipc,ip,el))%sizePostResults) :: &! + &
|
||||||
1+damageState(material_phase(ipc,ip,el))%sizePostResults + &
|
! 1+damageState(material_phase(ipc,ip,el))%sizePostResults + &
|
||||||
1+thermalState(material_phase(ipc,ip,el))%sizePostResults) :: &
|
! 1+thermalState(material_phase(ipc,ip,el))%sizePostResults) :: &
|
||||||
crystallite_postResults
|
crystallite_postResults
|
||||||
real(pReal), dimension(3,3) :: &
|
real(pReal), dimension(3,3) :: &
|
||||||
Ee
|
Ee
|
||||||
|
@ -4069,7 +4072,7 @@ function crystallite_postResults(ipc, ip, el)
|
||||||
constitutive_postResults(crystallite_Tstar_v(1:6,ipc,ip,el), crystallite_Fe, &
|
constitutive_postResults(crystallite_Tstar_v(1:6,ipc,ip,el), crystallite_Fe, &
|
||||||
crystallite_temperature(ip,el), ipc, ip, el)
|
crystallite_temperature(ip,el), ipc, ip, el)
|
||||||
c = c + plasticState(material_phase(ipc,ip,el))%sizePostResults
|
c = c + plasticState(material_phase(ipc,ip,el))%sizePostResults
|
||||||
|
#ifdef multiphysicsOut
|
||||||
crystallite_postResults(c+1) = real(damageState(material_phase(ipc,ip,el))%sizePostResults,pReal) ! size of constitutive results
|
crystallite_postResults(c+1) = real(damageState(material_phase(ipc,ip,el))%sizePostResults,pReal) ! size of constitutive results
|
||||||
c = c + 1_pInt
|
c = c + 1_pInt
|
||||||
if (damageState(material_phase(ipc,ip,el))%sizePostResults > 0_pInt) &
|
if (damageState(material_phase(ipc,ip,el))%sizePostResults > 0_pInt) &
|
||||||
|
@ -4083,7 +4086,7 @@ function crystallite_postResults(ipc, ip, el)
|
||||||
crystallite_postResults(c+1:c+thermalState(material_phase(ipc,ip,el))%sizePostResults) = &
|
crystallite_postResults(c+1:c+thermalState(material_phase(ipc,ip,el))%sizePostResults) = &
|
||||||
constitutive_thermal_postResults(ipc, ip, el)
|
constitutive_thermal_postResults(ipc, ip, el)
|
||||||
c = c + thermalState(material_phase(ipc,ip,el))%sizePostResults
|
c = c + thermalState(material_phase(ipc,ip,el))%sizePostResults
|
||||||
|
#endif
|
||||||
|
|
||||||
end function crystallite_postResults
|
end function crystallite_postResults
|
||||||
|
|
||||||
|
|
|
@ -649,9 +649,9 @@ subroutine materialpoint_postResults
|
||||||
|
|
||||||
grainLooping :do g = 1,myNgrains
|
grainLooping :do g = 1,myNgrains
|
||||||
theSize = (1 + crystallite_sizePostResults(myCrystallite)) + &
|
theSize = (1 + crystallite_sizePostResults(myCrystallite)) + &
|
||||||
(1 + plasticState(material_phase(g,i,e))%sizePostResults) + &
|
(1 + plasticState(material_phase(g,i,e))%sizePostResults)! + & !ToDo
|
||||||
(1 + damageState(material_phase(g,i,e))%sizePostResults) + &
|
! (1 + damageState(material_phase(g,i,e))%sizePostResults) + &
|
||||||
(1 + thermalState(material_phase(g,i,e))%sizePostResults)
|
! (1 + thermalState(material_phase(g,i,e))%sizePostResults)
|
||||||
materialpoint_results(thePos+1:thePos+theSize,i,e) = crystallite_postResults(g,i,e) ! tell crystallite results
|
materialpoint_results(thePos+1:thePos+theSize,i,e) = crystallite_postResults(g,i,e) ! tell crystallite results
|
||||||
thePos = thePos + theSize
|
thePos = thePos + theSize
|
||||||
enddo grainLooping
|
enddo grainLooping
|
||||||
|
|
|
@ -136,7 +136,7 @@ subroutine thermal_conduction_init(fileUnit)
|
||||||
cycle ! skip to next line
|
cycle ! skip to next line
|
||||||
endif
|
endif
|
||||||
if (phase > 0_pInt ) then; if (phase_thermal(phase) == THERMAL_conduction_ID) then ! do not short-circuit here (.and. with next if statemen). It's not safe in Fortran
|
if (phase > 0_pInt ) then; if (phase_thermal(phase) == THERMAL_conduction_ID) then ! do not short-circuit here (.and. with next if statemen). It's not safe in Fortran
|
||||||
instance = phase_thermalInstance(phase) ! which instance of my thermal is present phase
|
instance = phase_thermalInstance(phase) ! which instance of my thermal is present phase
|
||||||
positions = IO_stringPos(line,MAXNCHUNKS)
|
positions = IO_stringPos(line,MAXNCHUNKS)
|
||||||
tag = IO_lc(IO_stringValue(line,positions,1_pInt)) ! extract key
|
tag = IO_lc(IO_stringValue(line,positions,1_pInt)) ! extract key
|
||||||
select case(tag)
|
select case(tag)
|
||||||
|
|
Loading…
Reference in New Issue