This commit is contained in:
Denny Tjahjanto 2008-06-10 10:23:32 +00:00
parent 60f3571266
commit d2335e4a0b
1 changed files with 42 additions and 15 deletions

View File

@ -44,6 +44,7 @@ real(pReal), dimension(:) , allocatable :: material_s_sat
real(pReal), dimension(:) , allocatable :: material_w0
real(pReal), dimension(:,:) , allocatable :: material_SlipIntCoeff
!* GIA material parameters
real(pReal), dimension(:,:) , allocatable :: material_AspectRatio
real(pReal), dimension(:) , allocatable :: material_GrainSize
real(pReal), dimension(:) , allocatable :: material_bg
@ -305,6 +306,10 @@ do while(.true.)
material_GrainSize(section)=IO_floatValue(line,positions,2)
case ('burgers')
material_bg(section)=IO_floatValue(line,positions,2)
case ('grain_aspect_ratio')
do i=1,2
material_AspectRatio(i,section)=IO_floatValue(line,positions,i+1)
enddo
end select
endif
endif
@ -427,7 +432,7 @@ fileunit=200
!* First reading: number of materials and textures
!-----------------------------
!* determine material_maxN and texture_maxN from last respective parts
if(.not. IO_open_file(fileunit,filename)) call IO_error (200) ! corrupt mattex file
if(IO_open_file(fileunit,filename)==.false.) goto 100
part = '_dummy_'
do while (part/='')
formerPart = part
@ -440,16 +445,16 @@ do while (part/='')
end select
enddo
!* Array allocation
allocate(material_CrystalStructure(material_maxN)) ; material_CrystalStructure=0_pInt
allocate(material_CrystalStructure(material_maxN)) ; material_CrystalStructure=0_pInt
allocate(material_Nslip(material_maxN)) ; material_Nslip=0_pInt
allocate(material_C11(material_maxN)) ; material_C11=0.0_pReal
allocate(material_C12(material_maxN)) ; material_C12=0.0_pReal
allocate(material_C13(material_maxN)) ; material_C13=0.0_pReal
allocate(material_C33(material_maxN)) ; material_C33=0.0_pReal
allocate(material_C44(material_maxN)) ; material_C44=0.0_pReal
allocate(material_Cslip_66(6,6,material_maxN)) ; material_Cslip_66=0.0_pReal
allocate(material_Cslip_66(6,6,material_maxN)) ; material_Cslip_66=0.0_pReal
allocate(material_s0_slip(material_maxN)) ; material_s0_slip=0.0_pReal
allocate(material_gdot0_slip(material_maxN)) ; material_gdot0_slip=0.0_pReal
allocate(material_gdot0_slip(material_maxN)) ; material_gdot0_slip=0.0_pReal
allocate(material_n_slip(material_maxN)) ; material_n_slip=0.0_pReal
allocate(material_h0(material_maxN)) ; material_h0=0.0_pReal
allocate(material_s_sat(material_maxN)) ; material_s_sat=0.0_pReal
@ -457,6 +462,7 @@ allocate(material_w0(material_maxN)) ; material_w0=0.0_pReal
allocate(material_SlipIntCoeff(maxval(lattice_SlipIntType),material_maxN)) ; material_SlipIntCoeff=0.0_pReal
allocate(material_GrainSize(material_maxN)) ; material_GrainSize=0.0_pReal
allocate(material_bg(material_maxN)) ; material_bg=0.0_pReal
allocate(material_AspectRatio(2,material_maxN)) ; material_AspectRatio=0.0_pReal
allocate(texture_ODFfile(texture_maxN)) ; texture_ODFfile=''
allocate(texture_Ngrains(texture_maxN)) ; texture_Ngrains=0_pInt
allocate(texture_symmetry(texture_maxN)) ; texture_symmetry=''
@ -500,6 +506,27 @@ do while (part/='')
enddo
close(fileunit)
!*
do i=1,material_maxN
write(6,*) 'echo: material(',i,')'
write(6,*) 'lattice_structure',material_CrystalStructure(i)
write(6,*) 'nslip',material_Nslip(i)
write(6,*) 'c11',material_C11(i)
write(6,*) 'c12',material_C12(i)
write(6,*) 'c13',material_C13(i)
write(6,*) 'c33',material_C33(i)
write(6,*) 'c44',material_C44(i)
write(6,*) 's0_slip',material_s0_slip(i)
write(6,*) 'gdot0_slip',material_gdot0_slip(i)
write(6,*) 'n_slip',material_n_slip(i)
write(6,*) 'h0',material_h0(i)
write(6,*) 's_sat',material_s_sat(i)
write(6,*) 'w0',material_w0(i)
write(6,*) 'hardening_coefficients',material_SlipIntCoeff(1,i),material_SlipIntCoeff(2,i)
write(6,*) 'grain_size',material_GrainSize(i)
write(6,*) 'burgers',material_bg(i)
write(6,*) 'grain_aspect_ratio',material_AspectRatio(1,i),material_AspectRatio(2,i)
enddo
!* Construction of the elasticity matrices
do i=1,material_maxN
@ -515,16 +542,16 @@ do i=1,material_maxN
case(3) ! hcp
material_Cslip_66(1,1,i)=material_C11(i)
material_Cslip_66(2,2,i)=material_C11(i)
material_Cslip_66(3,3,i)=material_C33(i)
material_Cslip_66(1,2,i)=material_C12(i)
material_Cslip_66(2,1,i)=material_C12(i)
material_Cslip_66(1,3,i)=material_C13(i)
material_Cslip_66(3,1,i)=material_C13(i)
material_Cslip_66(2,3,i)=material_C13(i)
material_Cslip_66(3,2,i)=material_C13(i)
material_Cslip_66(4,4,i)=material_C44(i)
material_Cslip_66(5,5,i)=material_C44(i)
material_Cslip_66(6,6,i)=0.5_pReal*(material_C11(i)-material_C12(i))
material_Cslip_66(3,3,i)=material_C33(i)
material_Cslip_66(1,2,i)=material_C12(i)
material_Cslip_66(2,1,i)=material_C12(i)
material_Cslip_66(1,3,i)=material_C13(i)
material_Cslip_66(3,1,i)=material_C13(i)
material_Cslip_66(2,3,i)=material_C13(i)
material_Cslip_66(3,2,i)=material_C13(i)
material_Cslip_66(4,4,i)=material_C44(i)
material_Cslip_66(5,5,i)=material_C44(i)
material_Cslip_66(6,6,i)=0.5_pReal*(material_C11(i)-material_C12(i))
end select
material_Cslip_66(:,:,i) = math_Mandel3333to66(math_Voigt66to3333(material_Cslip_66(:,:,i)))
! Check
@ -534,7 +561,7 @@ enddo
! MISSING some consistency checks may be..?
! if ODFfile present then set NGauss NFiber =0
return
100 call IO_error(200) ! corrupt materials_textures file
end subroutine