write output information only for active crystallites. removed unused variables. fixed some real == 0 comparisons

This commit is contained in:
Pratheek Shanthraj 2015-04-21 12:23:00 +00:00
parent effec313ee
commit d049eadce7
1 changed files with 15 additions and 46 deletions

View File

@ -178,8 +178,6 @@ subroutine crystallite_init
IO_error, & IO_error, &
IO_EOF IO_EOF
use material use material
use lattice, only: &
lattice_structure
use constitutive, only: & use constitutive, only: &
constitutive_microstructure ! derived (shortcut) quantities of given state constitutive_microstructure ! derived (shortcut) quantities of given state
@ -399,10 +397,12 @@ subroutine crystallite_init
call IO_write_jobFile(FILEUNIT,'outputCrystallite') call IO_write_jobFile(FILEUNIT,'outputCrystallite')
do p = 1_pInt,material_Ncrystallite do p = 1_pInt,material_Ncrystallite
write(FILEUNIT,'(/,a,/)') '['//trim(crystallite_name(p))//']' if (any(microstructure_crystallite(mesh_element(4,:)) == p)) then
do e = 1_pInt,crystallite_Noutput(p) write(FILEUNIT,'(/,a,/)') '['//trim(crystallite_name(p))//']'
write(FILEUNIT,'(a,i4)') trim(crystallite_output(e,p))//char(9),crystallite_sizePostResult(e,p) do e = 1_pInt,crystallite_Noutput(p)
enddo write(FILEUNIT,'(a,i4)') trim(crystallite_output(e,p))//char(9),crystallite_sizePostResult(e,p)
enddo
endif
enddo enddo
close(FILEUNIT) close(FILEUNIT)
@ -519,6 +519,8 @@ end subroutine crystallite_init
!> @brief calculate stress (P) and tangent (dPdF) for crystallites !> @brief calculate stress (P) and tangent (dPdF) for crystallites
!-------------------------------------------------------------------------------------------------- !--------------------------------------------------------------------------------------------------
subroutine crystallite_stressAndItsTangent(updateJaco) subroutine crystallite_stressAndItsTangent(updateJaco)
use prec, only: &
tol_math_check
use numerics, only: & use numerics, only: &
subStepMinCryst, & subStepMinCryst, &
subStepSizeCryst, & subStepSizeCryst, &
@ -529,7 +531,6 @@ subroutine crystallite_stressAndItsTangent(updateJaco)
numerics_integrator, & numerics_integrator, &
numerics_integrationMode, & numerics_integrationMode, &
numerics_timeSyncing, & numerics_timeSyncing, &
relevantStrain, &
analyticJaco analyticJaco
use debug, only: & use debug, only: &
debug_level, & debug_level, &
@ -1177,7 +1178,7 @@ subroutine crystallite_stressAndItsTangent(updateJaco)
call constitutive_LiAndItsTangent(temp_33,dLidS,dLidFi,crystallite_Tstar_v(1:6,g,i,e), & call constitutive_LiAndItsTangent(temp_33,dLidS,dLidFi,crystallite_Tstar_v(1:6,g,i,e), &
crystallite_Fi(1:3,1:3,g,i,e),crystallite_Lp(1:3,1:3,g,i,e), & crystallite_Fi(1:3,1:3,g,i,e),crystallite_Lp(1:3,1:3,g,i,e), &
g,i,e) ! call constitutive law to calculate Li tangent in lattice configuration g,i,e) ! call constitutive law to calculate Li tangent in lattice configuration
if (sum(abs(dLidS)) == 0.0_pReal) then if (sum(abs(dLidS)) < tol_math_check) then
dFidS = 0.0_pReal dFidS = 0.0_pReal
else else
temp_33 = math_inv33(crystallite_subFi0(1:3,1:3,g,i,e)) temp_33 = math_inv33(crystallite_subFi0(1:3,1:3,g,i,e))
@ -1534,25 +1535,20 @@ subroutine crystallite_integrateStateRK4()
debug_levelBasic, & debug_levelBasic, &
debug_levelExtensive, & debug_levelExtensive, &
debug_levelSelective, & debug_levelSelective, &
debug_e, &
debug_i, &
debug_g, &
debug_StateLoopDistribution debug_StateLoopDistribution
use FEsolving, only: & use FEsolving, only: &
FEsolving_execElem, & FEsolving_execElem, &
FEsolving_execIP FEsolving_execIP
use mesh, only: & use mesh, only: &
mesh_element, & mesh_element, &
mesh_NcpElems, & mesh_NcpElems
mesh_maxNips
use material, only: & use material, only: &
homogenization_Ngrains, & homogenization_Ngrains, &
plasticState, & plasticState, &
damageState, & damageState, &
thermalState, & thermalState, &
vacancyState, & vacancyState, &
mappingConstitutive, & mappingConstitutive
homogenization_maxNgrains
use constitutive, only: & use constitutive, only: &
constitutive_collectDotState, & constitutive_collectDotState, &
constitutive_microstructure constitutive_microstructure
@ -1830,9 +1826,6 @@ subroutine crystallite_integrateStateRKCK45()
debug_levelBasic, & debug_levelBasic, &
debug_levelExtensive, & debug_levelExtensive, &
debug_levelSelective, & debug_levelSelective, &
debug_e, &
debug_i, &
debug_g, &
debug_StateLoopDistribution debug_StateLoopDistribution
use numerics, only: & use numerics, only: &
rTol_crystalliteState, & rTol_crystalliteState, &
@ -2363,9 +2356,6 @@ subroutine crystallite_integrateStateAdaptiveEuler()
debug_levelBasic, & debug_levelBasic, &
debug_levelExtensive, & debug_levelExtensive, &
debug_levelSelective, & debug_levelSelective, &
debug_e, &
debug_i, &
debug_g, &
debug_StateLoopDistribution debug_StateLoopDistribution
use numerics, only: & use numerics, only: &
rTol_crystalliteState, & rTol_crystalliteState, &
@ -2750,9 +2740,6 @@ subroutine crystallite_integrateStateEuler()
debug_levelBasic, & debug_levelBasic, &
debug_levelExtensive, & debug_levelExtensive, &
debug_levelSelective, & debug_levelSelective, &
debug_e, &
debug_i, &
debug_g, &
debug_StateLoopDistribution debug_StateLoopDistribution
use numerics, only: & use numerics, only: &
numerics_integrationMode, & numerics_integrationMode, &
@ -2971,9 +2958,6 @@ subroutine crystallite_integrateStateFPI()
use prec, only: & use prec, only: &
prec_isNaN prec_isNaN
use debug, only: & use debug, only: &
debug_e, &
debug_i, &
debug_g, &
debug_level,& debug_level,&
debug_crystallite, & debug_crystallite, &
debug_levelBasic, & debug_levelBasic, &
@ -3459,23 +3443,12 @@ end subroutine crystallite_integrateStateFPI
!-------------------------------------------------------------------------------------------------- !--------------------------------------------------------------------------------------------------
logical function crystallite_stateJump(g,i,e) logical function crystallite_stateJump(g,i,e)
use debug, only: & use debug, only: &
debug_level, &
debug_crystallite, & debug_crystallite, &
debug_levelExtensive, & debug_levelExtensive, &
debug_levelSelective, & debug_levelSelective
debug_e, &
debug_i, &
debug_g
use FEsolving, only: &
FEsolving_execElem, &
FEsolving_execIP
use mesh, only: &
mesh_element, &
mesh_NcpElems
use material, only: & use material, only: &
plasticState, & plasticState, &
mappingConstitutive, & mappingConstitutive
homogenization_Ngrains
use constitutive, only: & use constitutive, only: &
constitutive_collectDeltaState constitutive_collectDeltaState
@ -3552,7 +3525,8 @@ logical function crystallite_integrateStress(&
e,& ! element number e,& ! element number
timeFraction & timeFraction &
) )
use prec, only: pLongInt use prec, only: pLongInt, &
tol_math_check
use numerics, only: nStress, & use numerics, only: nStress, &
aTol_crystalliteStress, & aTol_crystalliteStress, &
rTol_crystalliteStress, & rTol_crystalliteStress, &
@ -3563,9 +3537,6 @@ logical function crystallite_integrateStress(&
debug_levelBasic, & debug_levelBasic, &
debug_levelExtensive, & debug_levelExtensive, &
debug_levelSelective, & debug_levelSelective, &
debug_e, &
debug_i, &
debug_g, &
debug_cumLpCalls, & debug_cumLpCalls, &
debug_cumLpTicks, & debug_cumLpTicks, &
debug_StressLoopLpDistribution, & debug_StressLoopLpDistribution, &
@ -3592,7 +3563,6 @@ logical function crystallite_integrateStress(&
math_Plain33to9, & math_Plain33to9, &
math_Plain9to33, & math_Plain9to33, &
math_Plain99to3333 math_Plain99to3333
use mesh, only: mesh_element
implicit none implicit none
integer(pInt), intent(in):: e, & ! element index integer(pInt), intent(in):: e, & ! element index
@ -4150,7 +4120,6 @@ function crystallite_postResults(ipc, ip, el)
use mesh, only: & use mesh, only: &
mesh_element, & mesh_element, &
mesh_ipVolume, & mesh_ipVolume, &
mesh_ipCoordinates, &
mesh_maxNipNeighbors, & mesh_maxNipNeighbors, &
mesh_ipNeighborhood, & mesh_ipNeighborhood, &
FE_NipNeighbors, & FE_NipNeighbors, &