diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 1e1b8fe49..31501edd0 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -382,13 +382,6 @@ Phenopowerlaw_singleSlip: - master - release -TextureComponents: - stage: grid - script: TextureComponents/test.py - except: - - master - - release - ################################################################################################### Marc_compileIfort2018_1: diff --git a/src/IO.f90 b/src/IO.f90 index 33c4a778d..074e2b0f4 100644 --- a/src/IO.f90 +++ b/src/IO.f90 @@ -708,6 +708,8 @@ subroutine IO_error(error_ID,el,ip,g,instance,ext_msg) msg = 'too many systems requested' case (146_pInt) msg = 'number of values does not match' + case (147_pInt) + msg = 'not supported anymore' !-------------------------------------------------------------------------------------------------- ! material error messages and related messages in mesh diff --git a/src/material.f90 b/src/material.f90 index 0b749c8ef..383462ae1 100644 --- a/src/material.f90 +++ b/src/material.f90 @@ -856,34 +856,9 @@ subroutine material_parseTexture if(dNeq(math_det33(texture_transformation(1:3,1:3,t)),1.0_pReal)) call IO_error(157_pInt,t) endif - if (config_texture(t)%keyExists('symmetry')) then - select case (config_texture(t)%getString('symmetry')) - case('orthotropic') - texture_symmetry(t) = 4_pInt - case('monoclinic') - texture_symmetry(t) = 2_pInt - case default - texture_symmetry(t) = 1_pInt - end select - endif - - if (config_texture(t)%keyExists('(random)')) then - strings = config_texture(t)%getStrings('(random)',raw=.true.) - do i = 1_pInt, size(strings) - gauss = gauss + 1_pInt - texture_Gauss(1:3,gauss,t) = math_sampleRandomOri() - chunkPos = IO_stringPos(strings(i)) - do j = 1_pInt,3_pInt,2_pInt - select case (IO_stringValue(strings(i),chunkPos,j)) - case('scatter') - texture_Gauss(4,gauss,t) = IO_floatValue(strings(i),chunkPos,j+1_pInt)*inRad - case('fraction') - texture_Gauss(5,gauss,t) = IO_floatValue(strings(i),chunkPos,j+1_pInt) - end select - enddo - enddo - endif - + if (config_texture(t)%keyExists('symmetry')) call IO_error(147,ext_msg='symmetry') + if (config_texture(t)%keyExists('(random)')) call IO_error(147,ext_msg='(random)') + if (config_texture(t)%keyExists('(fiber)')) call IO_error(147,ext_msg='(fiber)') if (config_texture(t)%keyExists('(gauss)')) then gauss = gauss + 1_pInt @@ -906,31 +881,6 @@ subroutine material_parseTexture enddo enddo endif - - - if (config_texture(t)%keyExists('(fiber)')) then - fiber = fiber + 1_pInt - strings = config_texture(t)%getStrings('(fiber)',raw= .true.) - do i = 1_pInt, size(strings) - chunkPos = IO_stringPos(strings(i)) - do j = 1_pInt,11_pInt,2_pInt - select case (IO_stringValue(strings(i),chunkPos,j)) - case('alpha1') - texture_Fiber(1,fiber,t) = IO_floatValue(strings(i),chunkPos,j+1_pInt)*inRad - case('alpha2') - texture_Fiber(2,fiber,t) = IO_floatValue(strings(i),chunkPos,j+1_pInt)*inRad - case('beta1') - texture_Fiber(3,fiber,t) = IO_floatValue(strings(i),chunkPos,j+1_pInt)*inRad - case('beta2') - texture_Fiber(4,fiber,t) = IO_floatValue(strings(i),chunkPos,j+1_pInt)*inRad - case('scatter') - texture_Fiber(5,fiber,t) = IO_floatValue(strings(i),chunkPos,j+1_pInt)*inRad - case('fraction') - texture_Fiber(6,fiber,t) = IO_floatValue(strings(i),chunkPos,j+1_pInt) - end select - enddo - enddo - endif enddo call config_deallocate('material.config/texture') @@ -1040,11 +990,7 @@ subroutine material_populateGrains math_RtoEuler, & math_EulerToR, & math_mul33x33, & - math_range, & - math_sampleRandomOri, & - math_sampleGaussOri, & - math_sampleFiberOri, & - math_symmetricEulers + math_range use mesh, only: & theMesh, & mesh_ipVolume @@ -1226,28 +1172,12 @@ subroutine material_populateGrains ! has texture components gauss: do t = 1_pInt,texture_Ngauss(textureID) ! loop over Gauss components do g = 1_pInt,int(real(myNorientations,pReal)*texture_Gauss(5,t,textureID),pInt) ! loop over required grain count - orientationOfGrain(:,grain+constituentGrain+g) = & - math_sampleGaussOri(texture_Gauss(1:3,t,textureID),& - texture_Gauss( 4,t,textureID)) + orientationOfGrain(:,grain+constituentGrain+g) = texture_Gauss(1:3,t,textureID) enddo constituentGrain = & constituentGrain + int(real(myNorientations,pReal)*texture_Gauss(5,t,textureID)) ! advance counter for grains of current constituent enddo gauss - fiber: do t = 1_pInt,texture_Nfiber(textureID) ! loop over fiber components - do g = 1_pInt,int(real(myNorientations,pReal)*texture_Fiber(6,t,textureID),pInt) ! loop over required grain count - orientationOfGrain(:,grain+constituentGrain+g) = & - math_sampleFiberOri(texture_Fiber(1:2,t,textureID),& - texture_Fiber(3:4,t,textureID),& - texture_Fiber( 5,t,textureID)) - enddo - constituentGrain = & - constituentGrain + int(real(myNorientations,pReal)*texture_fiber(6,t,textureID),pInt) ! advance counter for grains of current constituent - enddo fiber - - random: do constituentGrain = constituentGrain+1_pInt,myNorientations ! fill remainder with random - orientationOfGrain(:,grain+constituentGrain) = math_sampleRandomOri() - enddo random !-------------------------------------------------------------------------------------------------- ! ...texture transformation @@ -1261,25 +1191,6 @@ subroutine material_populateGrains ) enddo -!-------------------------------------------------------------------------------------------------- -! ...sample symmetry - - symExtension = texture_symmetry(textureID) - 1_pInt - if (symExtension > 0_pInt) then ! sample symmetry (number of additional equivalent orientations) - constituentGrain = myNorientations ! start right after "real" orientations - do j = 1_pInt,myNorientations ! loop over each "real" orientation - symOrientation = math_symmetricEulers(texture_symmetry(textureID), & - orientationOfGrain(1:3,grain+j)) ! get symmetric equivalents - e = min(symExtension,NgrainsOfConstituent(i)-constituentGrain) ! do not overshoot end of constituent grain array - if (e > 0_pInt) then - orientationOfGrain(1:3,grain+constituentGrain+1: & - grain+constituentGrain+e) = & - symOrientation(1:3,1:e) - constituentGrain = constituentGrain + e ! remainder shrinks by e - endif - enddo - endif - !-------------------------------------------------------------------------------------------------- ! shuffle grains within current constituent