disabled multiphysics output because homogenization output was not accessible anymore

This commit is contained in:
Martin Diehl 2014-07-09 13:34:33 +00:00
parent e16eb379ad
commit 146d151357
3 changed files with 21 additions and 18 deletions

View File

@ -3063,7 +3063,7 @@ subroutine crystallite_integrateStateFPI()
!$OMP ENDDO
! --- UPDATE STATE ---
!$OMP DO PRIVATE(mySizeDotState,mySizePlasticDotState,mySizeDamageDotState,mySizeThermalDotState,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
if (crystallite_todo(g,i,e)) then
@ -3088,7 +3088,7 @@ subroutine crystallite_integrateStateFPI()
!$OMP END PARALLEL
! --+>> STATE LOOP <<+--
NiterationState = 0_pInt
doneWithIntegration = .false.
crystalliteLooping: do while (.not. doneWithIntegration .and. NiterationState < nState)
@ -3100,15 +3100,16 @@ subroutine crystallite_integrateStateFPI()
!$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
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), &
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), &
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), &
crystallite_Lp(1:3,1:3,g,i,e), &
g,i,e) ! update dependent state variables to be consistent with basic states
endif
p = mappingConstitutive(2,g,i,e)
c = mappingConstitutive(1,g,i,e)
plasticState(p)%previousDotState2(:,c) = plasticState(p)%previousDotState(:,c)
@ -3121,7 +3122,7 @@ subroutine crystallite_integrateStateFPI()
!$OMP ENDDO
! --- STRESS INTEGRATION ---
!$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
!$OMP FLUSH(crystallite_todo)
@ -3149,7 +3150,7 @@ subroutine crystallite_integrateStateFPI()
!$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
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, &
crystallite_Fp, crystallite_temperature(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), &
crystallite_Lp(1:3,1:3,g,i,e), &
g,i,e)
endif
enddo; enddo; enddo
!$OMP ENDDO
!$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
!$OMP FLUSH(crystallite_todo)
@ -3168,7 +3171,7 @@ subroutine crystallite_integrateStateFPI()
p = mappingConstitutive(2,g,i,e)
c = mappingConstitutive(1,g,i,e)
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
crystallite_todo(g,i,e) = .false. ! ... skip me next time
if (.not. crystallite_localPlasticity(g,i,e)) then ! if me is non-local...
@ -3184,7 +3187,7 @@ subroutine crystallite_integrateStateFPI()
!$OMP ENDDO
! --- UPDATE STATE ---
!$OMP DO PRIVATE(dot_prod12,dot_prod22, &
!$OMP& mySizePlasticDotState,mySizeDamageDotState,mySizeThermalDotState, &
!$OMP& damageStateResiduum,thermalStateResiduum,damageStateDamper,thermalStateDamper, &
@ -3307,7 +3310,7 @@ subroutine crystallite_integrateStateFPI()
enddo; enddo; enddo
!$OMP ENDDO
! --- STATE JUMP ---
!$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
!$OMP FLUSH(crystallite_todo)
@ -3942,9 +3945,9 @@ function crystallite_postResults(ipc, ip, el)
ipc !< grain index
real(pReal), dimension(1+crystallite_sizePostResults(microstructure_crystallite(mesh_element(4,el)))+ &
1+plasticState(material_phase(ipc,ip,el))%sizePostResults + &
1+damageState(material_phase(ipc,ip,el))%sizePostResults + &
1+thermalState(material_phase(ipc,ip,el))%sizePostResults) :: &
1+plasticState(material_phase(ipc,ip,el))%sizePostResults) :: &! + &
! 1+damageState(material_phase(ipc,ip,el))%sizePostResults + &
! 1+thermalState(material_phase(ipc,ip,el))%sizePostResults) :: &
crystallite_postResults
real(pReal), dimension(3,3) :: &
Ee
@ -4069,7 +4072,7 @@ function crystallite_postResults(ipc, ip, el)
constitutive_postResults(crystallite_Tstar_v(1:6,ipc,ip,el), crystallite_Fe, &
crystallite_temperature(ip,el), ipc, ip, el)
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
c = c + 1_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) = &
constitutive_thermal_postResults(ipc, ip, el)
c = c + thermalState(material_phase(ipc,ip,el))%sizePostResults
#endif
end function crystallite_postResults

View File

@ -649,9 +649,9 @@ subroutine materialpoint_postResults
grainLooping :do g = 1,myNgrains
theSize = (1 + crystallite_sizePostResults(myCrystallite)) + &
(1 + plasticState(material_phase(g,i,e))%sizePostResults) + &
(1 + damageState(material_phase(g,i,e))%sizePostResults) + &
(1 + thermalState(material_phase(g,i,e))%sizePostResults)
(1 + plasticState(material_phase(g,i,e))%sizePostResults)! + & !ToDo
! (1 + damageState(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
thePos = thePos + theSize
enddo grainLooping

View File

@ -136,7 +136,7 @@ subroutine thermal_conduction_init(fileUnit)
cycle ! skip to next line
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
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)
tag = IO_lc(IO_stringValue(line,positions,1_pInt)) ! extract key
select case(tag)