more sanity checks
number of arguments for values per system needs to match the number of systems that are defined
This commit is contained in:
parent
2dc7b4cac6
commit
8832c04dd0
|
@ -1251,6 +1251,8 @@ subroutine IO_error(error_ID,el,ip,g,instance,ext_msg)
|
|||
msg = 'negative number systems requested'
|
||||
case (145_pInt)
|
||||
msg = 'too many systems requested'
|
||||
case (146_pInt)
|
||||
msg = 'number of values does not match'
|
||||
|
||||
!--------------------------------------------------------------------------------------------------
|
||||
! material error messages and related messages in mesh
|
||||
|
|
|
@ -550,7 +550,7 @@ end function getString
|
|||
!> @details for cumulative keys, "()", values from all occurrences are return. Otherwise only all
|
||||
!! values from the last occurrence. If key is not found exits with error unless default is given.
|
||||
!--------------------------------------------------------------------------------------------------
|
||||
function getFloats(this,key,defaultVal,requiredShape)
|
||||
function getFloats(this,key,defaultVal,requiredShape,requiredSize)
|
||||
use IO, only: &
|
||||
IO_error, &
|
||||
IO_stringValue, &
|
||||
|
@ -561,7 +561,8 @@ function getFloats(this,key,defaultVal,requiredShape)
|
|||
class(tPartitionedStringList), target, intent(in) :: this
|
||||
character(len=*), intent(in) :: key
|
||||
real(pReal), dimension(:), intent(in), optional :: defaultVal
|
||||
integer(pInt), dimension(:), intent(in), optional :: requiredShape
|
||||
integer(pInt), dimension(:), intent(in), optional :: requiredShape ! not useful (is always 1D array)
|
||||
integer(pInt), intent(in), optional :: requiredSize
|
||||
type(tPartitionedStringList), pointer :: item
|
||||
integer(pInt) :: i
|
||||
logical :: found, &
|
||||
|
@ -588,6 +589,9 @@ function getFloats(this,key,defaultVal,requiredShape)
|
|||
if (.not. found) then
|
||||
if (present(defaultVal)) then; getFloats = defaultVal; else; call IO_error(140_pInt,ext_msg=key); endif
|
||||
endif
|
||||
if (present(requiredSize)) then
|
||||
if(requiredSize /= size(getFloats)) call IO_error(146,ext_msg=key)
|
||||
endif
|
||||
|
||||
end function getFloats
|
||||
|
||||
|
@ -597,7 +601,7 @@ end function getFloats
|
|||
!> @details for cumulative keys, "()", values from all occurrences are return. Otherwise only all
|
||||
!! values from the last occurrence. If key is not found exits with error unless default is given.
|
||||
!--------------------------------------------------------------------------------------------------
|
||||
function getInts(this,key,defaultVal,requiredShape)
|
||||
function getInts(this,key,defaultVal,requiredShape,requiredSize)
|
||||
use IO, only: &
|
||||
IO_error, &
|
||||
IO_stringValue, &
|
||||
|
@ -608,7 +612,8 @@ function getInts(this,key,defaultVal,requiredShape)
|
|||
class(tPartitionedStringList), target, intent(in) :: this
|
||||
character(len=*), intent(in) :: key
|
||||
integer(pInt), dimension(:), intent(in), optional :: defaultVal, &
|
||||
requiredShape
|
||||
requiredShape ! not useful (is always 1D array)
|
||||
integer(pInt), intent(in), optional :: requiredSize
|
||||
type(tPartitionedStringList), pointer :: item
|
||||
integer(pInt) :: i
|
||||
logical :: found, &
|
||||
|
@ -635,6 +640,9 @@ function getInts(this,key,defaultVal,requiredShape)
|
|||
if (.not. found) then
|
||||
if (present(defaultVal)) then; getInts = defaultVal; else; call IO_error(140_pInt,ext_msg=key); endif
|
||||
endif
|
||||
if (present(requiredSize)) then
|
||||
if(requiredSize /= size(getInts)) call IO_error(146,ext_msg=key)
|
||||
endif
|
||||
|
||||
end function getInts
|
||||
|
||||
|
|
|
@ -217,9 +217,9 @@ subroutine plastic_phenopowerlaw_init
|
|||
config_phase(p)%getFloats('interaction_slipslip'), &
|
||||
structure(1:3))
|
||||
|
||||
prm%xi_slip_0 = config_phase(p)%getFloats('tau0_slip', requiredShape=shape(prm%Nslip))
|
||||
prm%xi_slip_sat = config_phase(p)%getFloats('tausat_slip', requiredShape=shape(prm%Nslip))
|
||||
prm%H_int = config_phase(p)%getFloats('h_int', requiredShape=shape(prm%Nslip), &
|
||||
prm%xi_slip_0 = config_phase(p)%getFloats('tau0_slip', requiredSize=size(prm%Nslip))
|
||||
prm%xi_slip_sat = config_phase(p)%getFloats('tausat_slip', requiredSize=size(prm%Nslip))
|
||||
prm%H_int = config_phase(p)%getFloats('h_int', requiredSize=size(prm%Nslip), &
|
||||
defaultVal=[(0.0_pReal,i=1_pInt,size(prm%Nslip))])
|
||||
|
||||
prm%gdot0_slip = config_phase(p)%getFloat('gdot0_slip')
|
||||
|
@ -256,7 +256,7 @@ subroutine plastic_phenopowerlaw_init
|
|||
prm%gamma_twin_char = lattice_characteristicShear_twin(prm%Ntwin,structure(1:3),&
|
||||
config_phase(p)%getFloat('c/a'))
|
||||
|
||||
prm%xi_twin_0 = config_phase(p)%getFloats('tau0_twin',requiredShape=shape(prm%Ntwin))
|
||||
prm%xi_twin_0 = config_phase(p)%getFloats('tau0_twin',requiredSize=size(prm%Ntwin))
|
||||
|
||||
prm%gdot0_twin = config_phase(p)%getFloat('gdot0_twin')
|
||||
prm%n_twin = config_phase(p)%getFloat('n_twin')
|
||||
|
|
Loading…
Reference in New Issue