From e9c1299a305663fcf1c581f92cadfdc9624dac91 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 26 Jan 2019 09:02:44 +0100 Subject: [PATCH] requiredShape makes no sense the return value is always a 1D array, only its size might change --- src/config.f90 | 11 ++++------- src/plastic_dislotwin.f90 | 26 +++++++++++++------------- 2 files changed, 17 insertions(+), 20 deletions(-) diff --git a/src/config.f90 b/src/config.f90 index b79442e62..b184f2a6b 100644 --- a/src/config.f90 +++ b/src/config.f90 @@ -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,requiredSize) +function getFloats(this,key,defaultVal,requiredSize) use IO, only: & IO_error, & IO_stringValue, & @@ -561,7 +561,6 @@ function getFloats(this,key,defaultVal,requiredShape,requiredSize) 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 ! not useful (is always 1D array) integer(pInt), intent(in), optional :: requiredSize type(tPartitionedStringList), pointer :: item integer(pInt) :: i @@ -601,7 +600,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,requiredSize) +function getInts(this,key,defaultVal,requiredSize) use IO, only: & IO_error, & IO_stringValue, & @@ -611,8 +610,7 @@ function getInts(this,key,defaultVal,requiredShape,requiredSize) integer(pInt), dimension(:), allocatable :: getInts class(tPartitionedStringList), target, intent(in) :: this character(len=*), intent(in) :: key - integer(pInt), dimension(:), intent(in), optional :: defaultVal, & - requiredShape ! not useful (is always 1D array) + integer(pInt), dimension(:), intent(in), optional :: defaultVal integer(pInt), intent(in), optional :: requiredSize type(tPartitionedStringList), pointer :: item integer(pInt) :: i @@ -653,7 +651,7 @@ end function getInts !! values from the last occurrence. If key is not found exits with error unless default is given. !! If raw is true, the the complete string is returned, otherwise the individual chunks are returned !-------------------------------------------------------------------------------------------------- -function getStrings(this,key,defaultVal,requiredShape,raw) +function getStrings(this,key,defaultVal,raw) use IO, only: & IO_error, & IO_StringValue @@ -663,7 +661,6 @@ function getStrings(this,key,defaultVal,requiredShape,raw) class(tPartitionedStringList), target, intent(in) :: this character(len=*), intent(in) :: key character(len=65536),dimension(:), intent(in), optional :: defaultVal - integer(pInt), dimension(:), intent(in), optional :: requiredShape logical, intent(in), optional :: raw type(tPartitionedStringList), pointer :: item character(len=65536) :: str diff --git a/src/plastic_dislotwin.f90 b/src/plastic_dislotwin.f90 index 0c56e6ba5..141837d86 100644 --- a/src/plastic_dislotwin.f90 +++ b/src/plastic_dislotwin.f90 @@ -312,17 +312,17 @@ subroutine plastic_dislotwin_init config%getFloats('interaction_slipslip'), & structure(1:3)) - prm%rho0 = config%getFloats('rhoedge0', requiredShape=shape(prm%Nslip)) !ToDo: rename to rho_0 - prm%rhoDip0 = config%getFloats('rhoedgedip0',requiredShape=shape(prm%Nslip)) !ToDo: rename to rho_dip_0 - prm%v0 = config%getFloats('v0', requiredShape=shape(prm%Nslip)) - prm%burgers_slip = config%getFloats('slipburgers',requiredShape=shape(prm%Nslip)) - prm%Qedge = config%getFloats('qedge', requiredShape=shape(prm%Nslip)) !ToDo: rename (ask Karo) - prm%CLambdaSlip = config%getFloats('clambdaslip',requiredShape=shape(prm%Nslip)) - prm%p = config%getFloats('p_slip', requiredShape=shape(prm%Nslip)) - prm%q = config%getFloats('q_slip', requiredShape=shape(prm%Nslip)) - prm%B = config%getFloats('b', requiredShape=shape(prm%Nslip), & + prm%rho0 = config%getFloats('rhoedge0', requiredSize=size(prm%Nslip)) !ToDo: rename to rho_0 + prm%rhoDip0 = config%getFloats('rhoedgedip0',requiredSize=size(prm%Nslip)) !ToDo: rename to rho_dip_0 + prm%v0 = config%getFloats('v0', requiredSize=size(prm%Nslip)) + prm%burgers_slip = config%getFloats('slipburgers',requiredSize=size(prm%Nslip)) + prm%Qedge = config%getFloats('qedge', requiredSize=size(prm%Nslip)) !ToDo: rename (ask Karo) + prm%CLambdaSlip = config%getFloats('clambdaslip',requiredSize=size(prm%Nslip)) + prm%p = config%getFloats('p_slip', requiredSize=size(prm%Nslip)) + prm%q = config%getFloats('q_slip', requiredSize=size(prm%Nslip)) + prm%B = config%getFloats('b', requiredSize=size(prm%Nslip), & defaultVal=[(0.0_pReal, i=1,size(prm%Nslip))]) - prm%tau_peierls = config%getFloats('tau_peierls',requiredShape=shape(prm%Nslip), & + prm%tau_peierls = config%getFloats('tau_peierls',requiredSize=size(prm%Nslip), & defaultVal=[(0.0_pReal, i=1,size(prm%Nslip))]) ! Deprecated prm%CEdgeDipMinDistance = config%getFloat('cedgedipmindistance') @@ -366,9 +366,9 @@ subroutine plastic_dislotwin_init config%getFloats('interaction_twintwin'), & structure(1:3)) - prm%burgers_twin = config%getFloats('twinburgers') - prm%twinsize = config%getFloats('twinsize') - prm%r = config%getFloats('r_twin') + prm%burgers_twin = config%getFloats('twinburgers', requiredSize=size(prm%Ntwin)) + prm%twinsize = config%getFloats('twinsize', requiredSize=size(prm%Ntwin)) + prm%r = config%getFloats('r_twin', requiredSize=size(prm%Ntwin)) prm%xc_twin = config%getFloat('xc_twin') prm%L0_twin = config%getFloat('l0_twin')