message better to understand and giving error instead of SIGSEGV
This commit is contained in:
parent
bb57e7b498
commit
29e55d20fb
|
@ -1477,6 +1477,8 @@ subroutine IO_error(error_ID,el,ip,g,instance,ext_msg)
|
||||||
msg = 'illegal texture transformation specified'
|
msg = 'illegal texture transformation specified'
|
||||||
case (160_pInt)
|
case (160_pInt)
|
||||||
msg = 'no entries in config part'
|
msg = 'no entries in config part'
|
||||||
|
case (161_pInt)
|
||||||
|
msg = 'config part found twice'
|
||||||
case (165_pInt)
|
case (165_pInt)
|
||||||
msg = 'homogenization configuration'
|
msg = 'homogenization configuration'
|
||||||
case (170_pInt)
|
case (170_pInt)
|
||||||
|
@ -1574,7 +1576,7 @@ subroutine IO_error(error_ID,el,ip,g,instance,ext_msg)
|
||||||
case (845_pInt)
|
case (845_pInt)
|
||||||
msg = 'incomplete information in spectral mesh header'
|
msg = 'incomplete information in spectral mesh header'
|
||||||
case (846_pInt)
|
case (846_pInt)
|
||||||
msg = 'not a rotation defined for loadcase rotation'
|
msg = 'rotation for load case rotation ill-defined (R:RT != I)'
|
||||||
case (847_pInt)
|
case (847_pInt)
|
||||||
msg = 'update of gamma operator not possible when pre-calculated'
|
msg = 'update of gamma operator not possible when pre-calculated'
|
||||||
case (880_pInt)
|
case (880_pInt)
|
||||||
|
|
|
@ -141,23 +141,23 @@ subroutine config_init()
|
||||||
select case (trim(part))
|
select case (trim(part))
|
||||||
|
|
||||||
case (trim(material_partPhase))
|
case (trim(material_partPhase))
|
||||||
call parseFile(line,phase_name,config_phase,fileContent(i+1:))
|
call parseFile(phase_name,config_phase,line,fileContent(i+1:))
|
||||||
if (iand(myDebug,debug_levelBasic) /= 0_pInt) write(6,'(a)') ' Phase parsed'; flush(6)
|
if (iand(myDebug,debug_levelBasic) /= 0_pInt) write(6,'(a)') ' Phase parsed'; flush(6)
|
||||||
|
|
||||||
case (trim(material_partMicrostructure))
|
case (trim(material_partMicrostructure))
|
||||||
call parseFile(line,microstructure_name,config_microstructure,fileContent(i+1:))
|
call parseFile(microstructure_name,config_microstructure,line,fileContent(i+1:))
|
||||||
if (iand(myDebug,debug_levelBasic) /= 0_pInt) write(6,'(a)') ' Microstructure parsed'; flush(6)
|
if (iand(myDebug,debug_levelBasic) /= 0_pInt) write(6,'(a)') ' Microstructure parsed'; flush(6)
|
||||||
|
|
||||||
case (trim(material_partCrystallite))
|
case (trim(material_partCrystallite))
|
||||||
call parseFile(line,crystallite_name,config_crystallite,fileContent(i+1:))
|
call parseFile(crystallite_name,config_crystallite,line,fileContent(i+1:))
|
||||||
if (iand(myDebug,debug_levelBasic) /= 0_pInt) write(6,'(a)') ' Crystallite parsed'; flush(6)
|
if (iand(myDebug,debug_levelBasic) /= 0_pInt) write(6,'(a)') ' Crystallite parsed'; flush(6)
|
||||||
|
|
||||||
case (trim(material_partHomogenization))
|
case (trim(material_partHomogenization))
|
||||||
call parseFile(line,homogenization_name,config_homogenization,fileContent(i+1:))
|
call parseFile(homogenization_name,config_homogenization,line,fileContent(i+1:))
|
||||||
if (iand(myDebug,debug_levelBasic) /= 0_pInt) write(6,'(a)') ' Homogenization parsed'; flush(6)
|
if (iand(myDebug,debug_levelBasic) /= 0_pInt) write(6,'(a)') ' Homogenization parsed'; flush(6)
|
||||||
|
|
||||||
case (trim(material_partTexture))
|
case (trim(material_partTexture))
|
||||||
call parseFile(line,texture_name,config_texture,fileContent(i+1:))
|
call parseFile(texture_name,config_texture,line,fileContent(i+1:))
|
||||||
if (iand(myDebug,debug_levelBasic) /= 0_pInt) write(6,'(a)') ' Texture parsed'; flush(6)
|
if (iand(myDebug,debug_levelBasic) /= 0_pInt) write(6,'(a)') ' Texture parsed'; flush(6)
|
||||||
|
|
||||||
end select
|
end select
|
||||||
|
@ -180,7 +180,7 @@ end subroutine config_init
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
!> @brief parses the material.config file
|
!> @brief parses the material.config file
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
subroutine parseFile(line,sectionNames,part,&
|
subroutine parseFile(sectionNames,part,line, &
|
||||||
fileContent)
|
fileContent)
|
||||||
use prec, only: &
|
use prec, only: &
|
||||||
pStringLen
|
pStringLen
|
||||||
|
@ -189,16 +189,18 @@ subroutine parseFile(line,sectionNames,part,&
|
||||||
IO_getTag
|
IO_getTag
|
||||||
|
|
||||||
implicit none
|
implicit none
|
||||||
character(len=pStringLen), intent(out) :: line
|
character(len=64), allocatable, dimension(:), intent(out) :: sectionNames
|
||||||
character(len=64), allocatable, dimension(:), intent(out) :: sectionNames
|
type(tPartitionedStringList), allocatable, dimension(:), intent(inout) :: part
|
||||||
type(tPartitionedStringList), allocatable, dimension(:), intent(out) :: part
|
character(len=pStringLen), intent(inout) :: line
|
||||||
character(len=pStringLen), dimension(:), intent(in) :: fileContent
|
character(len=pStringLen), dimension(:), intent(in) :: fileContent
|
||||||
|
|
||||||
integer(pInt), allocatable, dimension(:) :: partPosition ! position of [] tags + last line in section
|
integer(pInt), allocatable, dimension(:) :: partPosition ! position of [] tags + last line in section
|
||||||
integer(pInt) :: i, j
|
integer(pInt) :: i, j
|
||||||
logical :: echo
|
logical :: echo
|
||||||
|
|
||||||
echo = .false.
|
echo = .false.
|
||||||
|
|
||||||
|
if (allocated(part)) call IO_error(161_pInt,ext_msg=trim(line))
|
||||||
allocate(partPosition(0))
|
allocate(partPosition(0))
|
||||||
|
|
||||||
do i = 1_pInt, size(fileContent)
|
do i = 1_pInt, size(fileContent)
|
||||||
|
|
Loading…
Reference in New Issue