missed several occurences of constitution
This commit is contained in:
parent
c9ed989dad
commit
433d8a338c
36
code/IO.f90
36
code/IO.f90
|
@ -1184,51 +1184,51 @@ subroutine IO_error(error_ID,e,i,g,ext_msg)
|
||||||
msg = 'no microstructure specified via State Variable 3'
|
msg = 'no microstructure specified via State Variable 3'
|
||||||
|
|
||||||
|
|
||||||
!* constitutive error messages
|
!* plasticity error messages
|
||||||
|
|
||||||
case (200_pInt)
|
case (200_pInt)
|
||||||
msg = 'unknown constitution specified'
|
msg = 'unknown plasticity specified'
|
||||||
case (205_pInt)
|
case (205_pInt)
|
||||||
msg = 'unknown lattice structure encountered'
|
msg = 'unknown lattice structure encountered'
|
||||||
|
|
||||||
case (210_pInt)
|
case (210_pInt)
|
||||||
msg = 'unknown material parameter for j2 constitutive phase:'
|
msg = 'unknown material parameter for j2 plasticity phase:'
|
||||||
case (211_pInt)
|
case (211_pInt)
|
||||||
msg = 'material parameter for j2 constitutive phase out of bounds:'
|
msg = 'material parameter for j2 plasticity phase out of bounds:'
|
||||||
case (212_pInt)
|
case (212_pInt)
|
||||||
msg = 'unknown constitutive output for j2 constitution:'
|
msg = 'unknown plasticity output for j2 plasticity:'
|
||||||
|
|
||||||
case (220_pInt)
|
case (220_pInt)
|
||||||
msg = 'unknown material parameter for phenopowerlaw constitutive phase:'
|
msg = 'unknown material parameter for phenopowerlaw plasticity phase:'
|
||||||
case (221_pInt)
|
case (221_pInt)
|
||||||
msg = 'material parameter for phenopowerlaw constitutive phase out of bounds:'
|
msg = 'material parameter for phenopowerlaw plasticity phase out of bounds:'
|
||||||
case (222_pInt)
|
case (222_pInt)
|
||||||
msg = 'unknown constitutive output for phenopowerlaw constitution:'
|
msg = 'unknown plasticity output for phenopowerlaw plasticity:'
|
||||||
|
|
||||||
case (230_pInt)
|
case (230_pInt)
|
||||||
msg = 'unknown material parameter for titanmod constitutive phase:'
|
msg = 'unknown material parameter for titanmod plasticity phase:'
|
||||||
case (231_pInt)
|
case (231_pInt)
|
||||||
msg = 'material parameter for titanmod constitutive phase out of bounds:'
|
msg = 'material parameter for titanmod plasticity phase out of bounds:'
|
||||||
case (232_pInt)
|
case (232_pInt)
|
||||||
msg = 'unknown constitutive output for titanmod constitution:'
|
msg = 'unknown plasticity output for titanmod plasticity:'
|
||||||
|
|
||||||
case (240_pInt)
|
case (240_pInt)
|
||||||
msg = 'unknown material parameter for dislotwin constitutive phase:'
|
msg = 'unknown material parameter for dislotwin plasticity phase:'
|
||||||
case (241_pInt)
|
case (241_pInt)
|
||||||
msg = 'material parameter for dislotwin constitutive phase out of bounds:'
|
msg = 'material parameter for dislotwin plasticity phase out of bounds:'
|
||||||
case (242_pInt)
|
case (242_pInt)
|
||||||
msg = 'unknown constitutive output for dislotwin constitution:'
|
msg = 'unknown plasticity output for dislotwin plasticity:'
|
||||||
case (243_pInt)
|
case (243_pInt)
|
||||||
msg = 'zero stacking fault energy'
|
msg = 'zero stacking fault energy'
|
||||||
|
|
||||||
case (250_pInt)
|
case (250_pInt)
|
||||||
msg = 'unknown material parameter for nonlocal constitutive phase:'
|
msg = 'unknown material parameter for nonlocal plasticity phase:'
|
||||||
case (251_pInt)
|
case (251_pInt)
|
||||||
msg = 'material parameter for nonlocal constitutive phase out of bounds:'
|
msg = 'material parameter for nonlocal plasticity phase out of bounds:'
|
||||||
case (252_pInt)
|
case (252_pInt)
|
||||||
msg = 'unknown constitutive output for nonlocal constitution:'
|
msg = 'unknown plasticity output for nonlocal plasticity:'
|
||||||
case (253_pInt)
|
case (253_pInt)
|
||||||
msg = 'element type not supported for nonlocal constitution'
|
msg = 'element type not supported for nonlocal plasticity'
|
||||||
|
|
||||||
|
|
||||||
!* numerics error messages
|
!* numerics error messages
|
||||||
|
|
|
@ -116,10 +116,10 @@ integer(pInt) g, & ! grain number
|
||||||
myNgrains
|
myNgrains
|
||||||
integer(pInt), dimension(:,:), pointer :: thisSize
|
integer(pInt), dimension(:,:), pointer :: thisSize
|
||||||
character(len=64), dimension(:,:), pointer :: thisOutput
|
character(len=64), dimension(:,:), pointer :: thisOutput
|
||||||
logical :: knownConstitution
|
logical :: knownPlasticity
|
||||||
|
|
||||||
|
|
||||||
! --- PARSE CONSTITUTIONS FROM CONFIG FILE ---
|
! --- PARSE PLASTICITIES FROM CONFIG FILE ---
|
||||||
|
|
||||||
if (.not. IO_open_jobFile_stat(fileunit,material_localFileExt)) then ! no local material configuration present...
|
if (.not. IO_open_jobFile_stat(fileunit,material_localFileExt)) then ! no local material configuration present...
|
||||||
call IO_open_file(fileunit,material_configFile) ! ... open material.config file
|
call IO_open_file(fileunit,material_configFile) ! ... open material.config file
|
||||||
|
@ -136,8 +136,8 @@ close(fileunit)
|
||||||
|
|
||||||
call IO_write_jobFile(fileunit,'outputConstitutive')
|
call IO_write_jobFile(fileunit,'outputConstitutive')
|
||||||
do p = 1_pInt,material_Nphase
|
do p = 1_pInt,material_Nphase
|
||||||
i = phase_plasticityInstance(p) ! which instance of a constitution is present phase
|
i = phase_plasticityInstance(p) ! which instance of a plasticity is present phase
|
||||||
knownConstitution = .true. ! assume valid
|
knownPlasticity = .true. ! assume valid
|
||||||
select case(phase_plasticity(p)) ! split per constitiution
|
select case(phase_plasticity(p)) ! split per constitiution
|
||||||
case (constitutive_j2_label)
|
case (constitutive_j2_label)
|
||||||
thisOutput => constitutive_j2_output
|
thisOutput => constitutive_j2_output
|
||||||
|
@ -155,13 +155,13 @@ do p = 1_pInt,material_Nphase
|
||||||
thisOutput => constitutive_nonlocal_output
|
thisOutput => constitutive_nonlocal_output
|
||||||
thisSize => constitutive_nonlocal_sizePostResult
|
thisSize => constitutive_nonlocal_sizePostResult
|
||||||
case default
|
case default
|
||||||
knownConstitution = .false.
|
knownPlasticity = .false.
|
||||||
end select
|
end select
|
||||||
write(fileunit,*)
|
write(fileunit,*)
|
||||||
write(fileunit,'(a)') '['//trim(phase_name(p))//']'
|
write(fileunit,'(a)') '['//trim(phase_name(p))//']'
|
||||||
write(fileunit,*)
|
write(fileunit,*)
|
||||||
if (knownConstitution) then
|
if (knownPlasticity) then
|
||||||
write(fileunit,'(a)') '(constitution)'//char(9)//trim(phase_plasticity(p))
|
write(fileunit,'(a)') '(plasticity)'//char(9)//trim(phase_plasticity(p))
|
||||||
do e = 1_pInt,phase_Noutput(p)
|
do e = 1_pInt,phase_Noutput(p)
|
||||||
write(fileunit,'(a,i4)') trim(thisOutput(e,i))//char(9),thisSize(e,i)
|
write(fileunit,'(a,i4)') trim(thisOutput(e,i))//char(9),thisSize(e,i)
|
||||||
enddo
|
enddo
|
||||||
|
@ -342,7 +342,7 @@ endif
|
||||||
constitutive_sizePostResults(g,i,e) = constitutive_nonlocal_sizePostResults(myInstance)
|
constitutive_sizePostResults(g,i,e) = constitutive_nonlocal_sizePostResults(myInstance)
|
||||||
|
|
||||||
case default
|
case default
|
||||||
call IO_error(200_pInt,material_phase(g,i,e)) ! unknown constitution
|
call IO_error(200_pInt,material_phase(g,i,e)) ! unknown plasticity
|
||||||
|
|
||||||
end select
|
end select
|
||||||
constitutive_partionedState0(g,i,e)%p = constitutive_state0(g,i,e)%p
|
constitutive_partionedState0(g,i,e)%p = constitutive_state0(g,i,e)%p
|
||||||
|
|
|
@ -49,7 +49,7 @@ integer(pInt), dimension(:), allocatable :: constitutive_dislotwin
|
||||||
constitutive_dislotwin_sizePostResults ! cumulative size of post results
|
constitutive_dislotwin_sizePostResults ! cumulative size of post results
|
||||||
integer(pInt), dimension(:,:), allocatable, target :: constitutive_dislotwin_sizePostResult ! size of each post result output
|
integer(pInt), dimension(:,:), allocatable, target :: constitutive_dislotwin_sizePostResult ! size of each post result output
|
||||||
character(len=64), dimension(:,:), allocatable, target :: constitutive_dislotwin_output ! name of each post result output
|
character(len=64), dimension(:,:), allocatable, target :: constitutive_dislotwin_output ! name of each post result output
|
||||||
integer(pInt), dimension(:), allocatable :: constitutive_dislotwin_Noutput ! number of outputs per instance of this constitution
|
integer(pInt), dimension(:), allocatable :: constitutive_dislotwin_Noutput ! number of outputs per instance of this plasticity
|
||||||
character(len=32), dimension(:), allocatable :: constitutive_dislotwin_structureName ! name of the lattice structure
|
character(len=32), dimension(:), allocatable :: constitutive_dislotwin_structureName ! name of the lattice structure
|
||||||
integer(pInt), dimension(:), allocatable :: constitutive_dislotwin_structure, & ! number representing the kind of lattice structure
|
integer(pInt), dimension(:), allocatable :: constitutive_dislotwin_structure, & ! number representing the kind of lattice structure
|
||||||
constitutive_dislotwin_totalNslip, & ! total number of active slip systems for each instance
|
constitutive_dislotwin_totalNslip, & ! total number of active slip systems for each instance
|
||||||
|
@ -296,11 +296,11 @@ do ! read thru sections of
|
||||||
cycle
|
cycle
|
||||||
endif
|
endif
|
||||||
if (section > 0_pInt .and. phase_plasticity(section) == constitutive_dislotwin_label) then ! one of my sections
|
if (section > 0_pInt .and. phase_plasticity(section) == constitutive_dislotwin_label) then ! one of my sections
|
||||||
i = phase_plasticityInstance(section) ! which instance of my constitution is present phase
|
i = phase_plasticityInstance(section) ! which instance of my plasticity 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)
|
||||||
case ('constitution')
|
case ('plasticity')
|
||||||
cycle
|
cycle
|
||||||
case ('(output)')
|
case ('(output)')
|
||||||
constitutive_dislotwin_Noutput(i) = constitutive_dislotwin_Noutput(i) + 1_pInt
|
constitutive_dislotwin_Noutput(i) = constitutive_dislotwin_Noutput(i) + 1_pInt
|
||||||
|
|
|
@ -27,7 +27,7 @@
|
||||||
!*****************************************************
|
!*****************************************************
|
||||||
|
|
||||||
! [Alu]
|
! [Alu]
|
||||||
! constitution j2
|
! plasticity j2
|
||||||
! (output) flowstress
|
! (output) flowstress
|
||||||
! (output) strainrate
|
! (output) strainrate
|
||||||
! c11 110.9e9 # (3 C11 + 2 C12 + 2 C44) / 5 ... with C44 = C11-C12 !!
|
! c11 110.9e9 # (3 C11 + 2 C12 + 2 C44) / 5 ... with C44 = C11-C12 !!
|
||||||
|
@ -181,11 +181,11 @@ subroutine constitutive_j2_init(myFile)
|
||||||
cycle
|
cycle
|
||||||
endif
|
endif
|
||||||
if (section > 0_pInt .and. phase_plasticity(section) == constitutive_j2_label) then ! one of my sections
|
if (section > 0_pInt .and. phase_plasticity(section) == constitutive_j2_label) then ! one of my sections
|
||||||
i = phase_plasticityInstance(section) ! which instance of my constitution is present phase
|
i = phase_plasticityInstance(section) ! which instance of my plasticity 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)
|
||||||
case ('constitution')
|
case ('plasticity')
|
||||||
cycle
|
cycle
|
||||||
case ('(output)')
|
case ('(output)')
|
||||||
constitutive_j2_Noutput(i) = constitutive_j2_Noutput(i) + 1_pInt
|
constitutive_j2_Noutput(i) = constitutive_j2_Noutput(i) + 1_pInt
|
||||||
|
@ -283,11 +283,11 @@ pure function constitutive_j2_aTolState(myInstance)
|
||||||
|
|
||||||
implicit none
|
implicit none
|
||||||
!*** input variables
|
!*** input variables
|
||||||
integer(pInt), intent(in) :: myInstance ! number specifying the current instance of the constitution
|
integer(pInt), intent(in) :: myInstance ! number specifying the current instance of the plasticity
|
||||||
|
|
||||||
!*** output variables
|
!*** output variables
|
||||||
real(pReal), dimension(constitutive_j2_sizeState(myInstance)) :: &
|
real(pReal), dimension(constitutive_j2_sizeState(myInstance)) :: &
|
||||||
constitutive_j2_aTolState ! relevant state values for the current instance of this constitution
|
constitutive_j2_aTolState ! relevant state values for the current instance of this plasticity
|
||||||
|
|
||||||
constitutive_j2_aTolState = constitutive_j2_aTolResistance(myInstance)
|
constitutive_j2_aTolState = constitutive_j2_aTolResistance(myInstance)
|
||||||
|
|
||||||
|
|
|
@ -27,7 +27,7 @@
|
||||||
!*****************************************************
|
!*****************************************************
|
||||||
|
|
||||||
![Alu]
|
![Alu]
|
||||||
!constitution phenopowerlaw
|
!plasticity phenopowerlaw
|
||||||
!(output) resistance_slip
|
!(output) resistance_slip
|
||||||
!(output) shearrate_slip
|
!(output) shearrate_slip
|
||||||
!(output) resolvedstress_slip
|
!(output) resolvedstress_slip
|
||||||
|
@ -82,7 +82,7 @@ module constitutive_phenopowerlaw
|
||||||
constitutive_phenopowerlaw_sizeDotState, &
|
constitutive_phenopowerlaw_sizeDotState, &
|
||||||
constitutive_phenopowerlaw_sizeState, &
|
constitutive_phenopowerlaw_sizeState, &
|
||||||
constitutive_phenopowerlaw_sizePostResults, & ! cumulative size of post results
|
constitutive_phenopowerlaw_sizePostResults, & ! cumulative size of post results
|
||||||
constitutive_phenopowerlaw_Noutput, & ! number of outputs per instance of this constitution
|
constitutive_phenopowerlaw_Noutput, & ! number of outputs per instance of this plasticity
|
||||||
constitutive_phenopowerlaw_totalNslip, & ! no. of slip system used in simulation
|
constitutive_phenopowerlaw_totalNslip, & ! no. of slip system used in simulation
|
||||||
constitutive_phenopowerlaw_totalNtwin, & ! no. of twin system used in simulation
|
constitutive_phenopowerlaw_totalNtwin, & ! no. of twin system used in simulation
|
||||||
constitutive_phenopowerlaw_structure
|
constitutive_phenopowerlaw_structure
|
||||||
|
@ -291,11 +291,11 @@ subroutine constitutive_phenopowerlaw_init(myFile)
|
||||||
cycle ! skip to next line
|
cycle ! skip to next line
|
||||||
endif
|
endif
|
||||||
if (section > 0_pInt .and. phase_plasticity(section) == constitutive_phenopowerlaw_label) then ! one of my sections
|
if (section > 0_pInt .and. phase_plasticity(section) == constitutive_phenopowerlaw_label) then ! one of my sections
|
||||||
i = phase_plasticityInstance(section) ! which instance of my constitution is present phase
|
i = phase_plasticityInstance(section) ! which instance of my plasticity 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)
|
||||||
case ('constitution')
|
case ('plasticity')
|
||||||
cycle
|
cycle
|
||||||
case ('(output)')
|
case ('(output)')
|
||||||
constitutive_phenopowerlaw_Noutput(i) = constitutive_phenopowerlaw_Noutput(i) + 1_pInt
|
constitutive_phenopowerlaw_Noutput(i) = constitutive_phenopowerlaw_Noutput(i) + 1_pInt
|
||||||
|
@ -588,11 +588,11 @@ pure function constitutive_phenopowerlaw_aTolState(myInstance)
|
||||||
|
|
||||||
implicit none
|
implicit none
|
||||||
!*** input variables
|
!*** input variables
|
||||||
integer(pInt), intent(in) :: myInstance ! number specifying the current instance of the constitution
|
integer(pInt), intent(in) :: myInstance ! number specifying the current instance of the plasticity
|
||||||
|
|
||||||
!*** output variables
|
!*** output variables
|
||||||
real(pReal), dimension(constitutive_phenopowerlaw_sizeState(myInstance)) :: &
|
real(pReal), dimension(constitutive_phenopowerlaw_sizeState(myInstance)) :: &
|
||||||
constitutive_phenopowerlaw_aTolState ! relevant state values for the current instance of this constitution
|
constitutive_phenopowerlaw_aTolState ! relevant state values for the current instance of this plasticity
|
||||||
|
|
||||||
!*** local variables
|
!*** local variables
|
||||||
|
|
||||||
|
|
|
@ -94,7 +94,7 @@ character(len=64), dimension(:,:), allocatable, target :: &
|
||||||
constitutive_titanmod_output ! name of each post result output
|
constitutive_titanmod_output ! name of each post result output
|
||||||
|
|
||||||
integer(pInt), dimension(:), allocatable :: &
|
integer(pInt), dimension(:), allocatable :: &
|
||||||
constitutive_titanmod_Noutput ! number of outputs per instance of this constitution
|
constitutive_titanmod_Noutput ! number of outputs per instance of this plasticity
|
||||||
|
|
||||||
character(len=32), dimension(:), allocatable :: &
|
character(len=32), dimension(:), allocatable :: &
|
||||||
constitutive_titanmod_structureName ! name of the lattice structure
|
constitutive_titanmod_structureName ! name of the lattice structure
|
||||||
|
@ -428,11 +428,11 @@ enddo
|
||||||
cycle ! skip to next line
|
cycle ! skip to next line
|
||||||
endif
|
endif
|
||||||
if (section > 0_pInt .and. phase_plasticity(section) == constitutive_titanmod_label) then ! one of my sections
|
if (section > 0_pInt .and. phase_plasticity(section) == constitutive_titanmod_label) then ! one of my sections
|
||||||
i = phase_plasticityInstance(section) ! which instance of my constitution is present phase
|
i = phase_plasticityInstance(section) ! which instance of my plasticity 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)
|
||||||
case ('constitution')
|
case ('plasticity')
|
||||||
cycle
|
cycle
|
||||||
case ('(output)')
|
case ('(output)')
|
||||||
constitutive_titanmod_Noutput(i) = constitutive_titanmod_Noutput(i) + 1_pInt
|
constitutive_titanmod_Noutput(i) = constitutive_titanmod_Noutput(i) + 1_pInt
|
||||||
|
|
Loading…
Reference in New Issue