From 11eb5a62b8513a79668e2d91711e4a85f1ae5561 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 4 May 2019 22:07:10 +0200 Subject: [PATCH] removed complex population of grains - more explicit material.config - simulation results do not depend on random number/compiler - more suitable for phase field simulations with changing constituents --- PRIVATE | 2 +- src/material.f90 | 23 +++++++++++++++++++---- 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/PRIVATE b/PRIVATE index 992cc5f6b..aadf2d82a 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit 992cc5f6b56eaccb0b34a045799e6522cc4c02c5 +Subproject commit aadf2d82a7e04646e3f20c3d526f27a6f90acef0 diff --git a/src/material.f90 b/src/material.f90 index 4834d040a..64c3c2529 100644 --- a/src/material.f90 +++ b/src/material.f90 @@ -860,10 +860,6 @@ subroutine material_parseTexture texture_Gauss(2,gauss,t) = IO_floatValue(strings(i),chunkPos,j+1_pInt)*inRad case('phi2') texture_Gauss(3,gauss,t) = IO_floatValue(strings(i),chunkPos,j+1_pInt)*inRad - 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 @@ -1012,6 +1008,25 @@ subroutine material_populateGrains allocate(Nelems (size(config_homogenization),size(config_microstructure)), source=0_pInt) + do e = 1, theMesh%Nelems + do i = 1, theMesh%elem%nIPs + homog = theMesh%homogenizationAt(e) + micro = theMesh%microstructureAt(e) + do c = 1, homogenization_Ngrains(homog) + material_phase(c,i,e) = microstructure_phase(c,micro) + material_texture(c,i,e) = microstructure_texture(c,micro) + material_EulerAngles(1:3,c,i,e) = texture_Gauss(1:3,1,material_texture(c,i,e)) + material_EulerAngles(1:3,c,i,e) = math_RtoEuler( & ! translate back to Euler angles + math_mul33x33( & ! pre-multiply + math_EulertoR(material_EulerAngles(1:3,c,i,e)), & ! face-value orientation + texture_transformation(1:3,1:3,material_texture(c,i,e)) & ! and transformation matrix + ) & + ) + enddo + enddo + enddo + + return !-------------------------------------------------------------------------------------------------- ! precounting of elements for each homog/micro pair do e = 1_pInt, theMesh%Nelems