From 86768c38d9bac4c977679e12693b8166b402bba7 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 25 Feb 2018 10:16:27 +0100 Subject: [PATCH 01/17] source code should not be executable --- src/DAMASK_spectral.f90 | 0 src/crystallite.f90 | 0 src/spectral_utilities.f90 | 0 3 files changed, 0 insertions(+), 0 deletions(-) mode change 100755 => 100644 src/DAMASK_spectral.f90 mode change 100755 => 100644 src/crystallite.f90 mode change 100755 => 100644 src/spectral_utilities.f90 diff --git a/src/DAMASK_spectral.f90 b/src/DAMASK_spectral.f90 old mode 100755 new mode 100644 diff --git a/src/crystallite.f90 b/src/crystallite.f90 old mode 100755 new mode 100644 diff --git a/src/spectral_utilities.f90 b/src/spectral_utilities.f90 old mode 100755 new mode 100644 From eedec74a6a9b01208f7df726d66f62206be2eb2f Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 25 Feb 2018 12:31:23 +0100 Subject: [PATCH 02/17] correct debug reporting --- src/spectral_utilities.f90 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/spectral_utilities.f90 b/src/spectral_utilities.f90 index 874558c57..c0863cebb 100644 --- a/src/spectral_utilities.f90 +++ b/src/spectral_utilities.f90 @@ -782,7 +782,7 @@ function utilities_maskedCompliance(rot_BC,mask_stress,C) if(debugGeneral) then write(6,'(/,a)') ' ... updating masked compliance ............................................' write(6,'(/,a,/,9(9(2x,f12.7,1x)/))',advance='no') ' Stiffness C (load) / GPa =',& - transpose(temp99_Real)/1.e9_pReal + transpose(temp99_Real)*1.0e-9_pReal flush(6) endif k = 0_pInt ! calculate reduced stiffness @@ -837,7 +837,7 @@ function utilities_maskedCompliance(rot_BC,mask_stress,C) endif if(debugGeneral) then write(6,'(/,a,/,9(9(2x,f10.5,1x)/),/)',advance='no') & - ' Masked Compliance (load) / GPa =', transpose(temp99_Real*1.e-9_pReal) + ' Masked Compliance (load) * GPa =', transpose(temp99_Real)*1.0e9_pReal flush(6) endif utilities_maskedCompliance = math_Plain99to3333(temp99_Real) From 42500eabffc627e76dc1dba00bc35be593b082bf Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 25 Feb 2018 12:48:58 +0100 Subject: [PATCH 03/17] simplified (math_transpose33 does not provide any benefit here) --- src/spectral_mech_Basic.f90 | 14 +++++--------- src/spectral_mech_Polarisation.f90 | 20 +++++++------------- 2 files changed, 12 insertions(+), 22 deletions(-) diff --git a/src/spectral_mech_Basic.f90 b/src/spectral_mech_Basic.f90 index 2a5e1838d..171eeacad 100644 --- a/src/spectral_mech_Basic.f90 +++ b/src/spectral_mech_Basic.f90 @@ -301,7 +301,6 @@ subroutine BasicPETSC_formResidual(in,x_scal,f_scal,dummy,ierr) grid3 use math, only: & math_rotate_backward33, & - math_transpose33, & math_mul3333xx33 use debug, only: & debug_level, & @@ -349,9 +348,9 @@ subroutine BasicPETSC_formResidual(in,x_scal,f_scal,dummy,ierr) trim(incInfo), ' @ Iteration ', itmin, '≤',totalIter, '≤', itmax if (iand(debug_level(debug_spectral),debug_spectralRotation) /= 0) & write(6,'(/,a,/,3(3(f12.7,1x)/))',advance='no') & - ' deformation gradient aim (lab) =', math_transpose33(math_rotate_backward33(F_aim,params%rotation_BC)) + ' deformation gradient aim (lab) =', transpose(math_rotate_backward33(F_aim,params%rotation_BC)) write(6,'(/,a,/,3(3(f12.7,1x)/))',advance='no') & - ' deformation gradient aim =', math_transpose33(F_aim) + ' deformation gradient aim =', transpose(F_aim) flush(6) endif newIteration @@ -516,13 +515,10 @@ subroutine BasicPETSc_forward(guess,timeinc,timeinc_old,loadCaseTime,deformation C_volAvgLastInc = C_volAvg C_minMaxAvgLastInc = C_minMaxAvg - - if (guess) then ! QUESTION: better with a = L ? x:y - F_aimDot = stress_BC%maskFloat * (F_aim - F_aim_lastInc)/timeinc_old ! initialize with correction based on last inc - else - F_aimDot = 0.0_pReal - endif ! components of deformation_BC%maskFloat always start out with zero + + F_aimDot = merge(stress_BC%maskFloat*(F_aim-F_aim_lastInc)/timeinc_old, 0.0_pReal, guess) F_aim_lastInc = F_aim + !-------------------------------------------------------------------------------------------------- ! calculate rate for aim if (deformation_BC%myType=='l') then ! calculate F_aimDot from given L and current F diff --git a/src/spectral_mech_Polarisation.f90 b/src/spectral_mech_Polarisation.f90 index 300b50142..acd713c70 100644 --- a/src/spectral_mech_Polarisation.f90 +++ b/src/spectral_mech_Polarisation.f90 @@ -333,7 +333,6 @@ subroutine Polarisation_formResidual(in,x_scal,f_scal,dummy,ierr) IO_intOut use math, only: & math_rotate_backward33, & - math_transpose33, & math_mul3333xx33, & math_invSym3333, & math_mul33x33 @@ -402,9 +401,9 @@ subroutine Polarisation_formResidual(in,x_scal,f_scal,dummy,ierr) trim(incInfo), ' @ Iteration ', itmin, '≤',totalIter, '≤', itmax if (iand(debug_level(debug_spectral),debug_spectralRotation) /= 0) & write(6,'(/,a,/,3(3(f12.7,1x)/))',advance='no') & - ' deformation gradient aim (lab) =', math_transpose33(math_rotate_backward33(F_aim,params%rotation_BC)) + ' deformation gradient aim (lab) =', transpose(math_rotate_backward33(F_aim,params%rotation_BC)) write(6,'(/,a,/,3(3(f12.7,1x)/))',advance='no') & - ' deformation gradient aim =', math_transpose33(F_aim) + ' deformation gradient aim =', transpose(F_aim) flush(6) endif newIteration @@ -548,7 +547,6 @@ subroutine Polarisation_forward(guess,timeinc,timeinc_old,loadCaseTime,deformati use math, only: & math_mul33x33, & math_mul3333xx33, & - math_transpose33, & math_rotate_backward33 use numerics, only: & worldrank @@ -630,11 +628,7 @@ subroutine Polarisation_forward(guess,timeinc,timeinc_old,loadCaseTime,deformati C_volAvgLastInc = C_volAvg C_minMaxAvgLastInc = C_minMaxAvg - if (guess) then ! QUESTION: better with a = L ? x:y - F_aimDot = stress_BC%maskFloat * (F_aim - F_aim_lastInc)/timeinc_old ! initialize with correction based on last inc - else - F_aimDot = 0.0_pReal - endif + F_aimDot = merge(stress_BC%maskFloat*(F_aim-F_aim_lastInc)/timeinc_old, 0.0_pReal, guess) F_aim_lastInc = F_aim !-------------------------------------------------------------------------------------------------- ! calculate rate for aim @@ -676,16 +670,16 @@ subroutine Polarisation_forward(guess,timeinc,timeinc_old,loadCaseTime,deformati F_lambda33 = reshape(F_tau(1:9,i,j,k)-F(1:9,i,j,k),[3,3]) F_lambda33 = math_mul3333xx33(S_scale,math_mul33x33(F_lambda33, & math_mul3333xx33(C_scale,& - math_mul33x33(math_transpose33(F_lambda33),& + math_mul33x33(transpose(F_lambda33),& F_lambda33)-math_I3))*0.5_pReal)& + math_I3 F_tau(1:9,i,j,k) = reshape(F_lambda33,[9])+F(1:9,i,j,k) enddo; enddo; enddo endif - nullify(F) - nullify(F_tau) - call DMDAVecRestoreArrayF90(da,solution_vec,FandF_tau,ierr); CHKERRQ(ierr) + nullify(F) + nullify(F_tau) + call DMDAVecRestoreArrayF90(da,solution_vec,FandF_tau,ierr); CHKERRQ(ierr) end subroutine Polarisation_forward From d5d71d2321c4ae766d5f1c6cc1e50dbd0881a3b7 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 25 Feb 2018 13:42:02 +0100 Subject: [PATCH 04/17] math_transpose33 has no benefit here --- src/spectral_utilities.f90 | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/spectral_utilities.f90 b/src/spectral_utilities.f90 index c0863cebb..1a277ef63 100644 --- a/src/spectral_utilities.f90 +++ b/src/spectral_utilities.f90 @@ -935,7 +935,6 @@ subroutine utilities_constitutiveResponse(P,P_av,C_volAvg,C_minmaxAvg,& debug_reset, & debug_info use math, only: & - math_transpose33, & math_rotate_forward33, & math_det33 use mesh, only: & @@ -994,10 +993,10 @@ subroutine utilities_constitutiveResponse(P,P_av,C_volAvg,C_minmaxAvg,& call MPI_Allreduce(MPI_IN_PLACE,P_av,9,MPI_DOUBLE,MPI_SUM,PETSC_COMM_WORLD,ierr) if (debugRotation) & write(6,'(/,a,/,3(3(2x,f12.4,1x)/))',advance='no') ' Piola--Kirchhoff stress (lab) / MPa =',& - math_transpose33(P_av)*1.e-6_pReal + transpose(P_av)*1.e-6_pReal P_av = math_rotate_forward33(P_av,rotation_BC) write(6,'(/,a,/,3(3(2x,f12.4,1x)/))',advance='no') ' Piola--Kirchhoff stress / MPa =',& - math_transpose33(P_av)*1.e-6_pReal + transpose(P_av)*1.e-6_pReal flush(6) max_dPdF = 0.0_pReal From c2ced6a27403576b1daed640ac6134b63bd12238 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 25 Feb 2018 14:45:35 +0100 Subject: [PATCH 05/17] not needed anymore --- src/spectral_utilities.f90 | 1 - 1 file changed, 1 deletion(-) diff --git a/src/spectral_utilities.f90 b/src/spectral_utilities.f90 index 1a277ef63..e3383f3d1 100644 --- a/src/spectral_utilities.f90 +++ b/src/spectral_utilities.f90 @@ -70,7 +70,6 @@ module spectral_utilities ! derived types type, public :: tSolutionState !< return type of solution from spectral solver variants logical :: converged = .true. - logical :: regrid = .false. logical :: stagConverged = .true. logical :: termIll = .false. integer(pInt) :: iterationsNeeded = 0_pInt From bc998846abd15532cf705c5f3455e87d4ccf9921 Mon Sep 17 00:00:00 2001 From: Philip Eisenlohr Date: Sun, 25 Feb 2018 14:14:03 -0500 Subject: [PATCH 06/17] thermal expansion coefficient alpha = a + b(T-T_0) + c(T-T_0)^2 --- src/kinematics_thermal_expansion.f90 | 21 +++++++++--- src/lattice.f90 | 49 ++++++++++++++++------------ 2 files changed, 45 insertions(+), 25 deletions(-) diff --git a/src/kinematics_thermal_expansion.f90 b/src/kinematics_thermal_expansion.f90 index bb9083efb..0de483d70 100644 --- a/src/kinematics_thermal_expansion.f90 +++ b/src/kinematics_thermal_expansion.f90 @@ -174,8 +174,12 @@ pure function kinematics_thermal_expansion_initialStrain(ipc, ip, el) offset = thermalMapping(homog)%p(ip,el) kinematics_thermal_expansion_initialStrain = & - (temperature(homog)%p(offset) - lattice_referenceTemperature(phase)) * & - lattice_thermalExpansion33(1:3,1:3,phase) + (temperature(homog)%p(offset) - lattice_referenceTemperature(phase))**1 / 1. * & + lattice_thermalExpansion33(1:3,1:3,1,phase) + & ! constant coefficient + (temperature(homog)%p(offset) - lattice_referenceTemperature(phase))**2 / 2. * & + lattice_thermalExpansion33(1:3,1:3,2,phase) + & ! linear coefficient + (temperature(homog)%p(offset) - lattice_referenceTemperature(phase))**3 / 3. * & + lattice_thermalExpansion33(1:3,1:3,3,phase) ! quadratic coefficient end function kinematics_thermal_expansion_initialStrain @@ -215,9 +219,16 @@ subroutine kinematics_thermal_expansion_LiAndItsTangent(Li, dLi_dTstar3333, ipc, TDot = temperatureRate(homog)%p(offset) TRef = lattice_referenceTemperature(phase) - Li = TDot* & - lattice_thermalExpansion33(1:3,1:3,phase)/ & - (1.0_pReal + lattice_thermalExpansion33(1:3,1:3,phase)*(T - TRef)) + Li = TDot * ( & + lattice_thermalExpansion33(1:3,1:3,1,phase)*(T - TRef)**0 & ! constant coefficient + + lattice_thermalExpansion33(1:3,1:3,2,phase)*(T - TRef)**1 & ! linear coefficient + + lattice_thermalExpansion33(1:3,1:3,3,phase)*(T - TRef)**2 & ! quadratic coefficient + ) / & + (1.0_pReal \ + + lattice_thermalExpansion33(1:3,1:3,1,phase)*(T - TRef)**1 / 1. & + + lattice_thermalExpansion33(1:3,1:3,2,phase)*(T - TRef)**2 / 2. & + + lattice_thermalExpansion33(1:3,1:3,3,phase)*(T - TRef)**3 / 3. & + ) dLi_dTstar3333 = 0.0_pReal end subroutine kinematics_thermal_expansion_LiAndItsTangent diff --git a/src/lattice.f90 b/src/lattice.f90 index f46d0ef93..37393b82e 100644 --- a/src/lattice.f90 +++ b/src/lattice.f90 @@ -1082,9 +1082,10 @@ module lattice lattice_nu, & lattice_trans_mu, & lattice_trans_nu + real(pReal), dimension(:,:,:,:), allocatable, public, protected :: & ! with higher-order parameters (e.g. temperature-dependent) + lattice_thermalExpansion33 real(pReal), dimension(:,:,:), allocatable, public, protected :: & lattice_thermalConductivity33, & - lattice_thermalExpansion33, & lattice_damageDiffusion33, & lattice_vacancyfluxDiffusion33, & lattice_vacancyfluxMobility33, & @@ -1380,8 +1381,8 @@ subroutine lattice_init allocate(lattice_C3333(3,3,3,3,Nphases), source=0.0_pReal) allocate(lattice_trans_C66(6,6,Nphases), source=0.0_pReal) allocate(lattice_trans_C3333(3,3,3,3,Nphases), source=0.0_pReal) + allocate(lattice_thermalExpansion33 (3,3,3,Nphases), source=0.0_pReal) ! constant, linear, quadratic coefficients allocate(lattice_thermalConductivity33 (3,3,Nphases), source=0.0_pReal) - allocate(lattice_thermalExpansion33 (3,3,Nphases), source=0.0_pReal) allocate(lattice_damageDiffusion33 (3,3,Nphases), source=0.0_pReal) allocate(lattice_vacancyfluxDiffusion33 (3,3,Nphases), source=0.0_pReal) allocate(lattice_vacancyfluxMobility33 (3,3,Nphases), source=0.0_pReal) @@ -1545,11 +1546,17 @@ subroutine lattice_init case ('thermal_conductivity33') lattice_thermalConductivity33(3,3,section) = IO_floatValue(line,chunkPos,2_pInt) case ('thermal_expansion11') - lattice_thermalExpansion33(1,1,section) = IO_floatValue(line,chunkPos,2_pInt) + do i = 2_pInt, min(4,chunkPos(1)) ! read up to three parameters (constant, linear, quadratic with T) + lattice_thermalExpansion33(1,1,i-1_pInt,section) = IO_floatValue(line,chunkPos,i) + enddo case ('thermal_expansion22') - lattice_thermalExpansion33(2,2,section) = IO_floatValue(line,chunkPos,2_pInt) + do i = 2_pInt, min(4,chunkPos(1)) ! read up to three parameters (constant, linear, quadratic with T) + lattice_thermalExpansion33(2,2,i-1_pInt,section) = IO_floatValue(line,chunkPos,i) + enddo case ('thermal_expansion33') - lattice_thermalExpansion33(3,3,section) = IO_floatValue(line,chunkPos,2_pInt) + do i = 2_pInt, min(4,chunkPos(1)) ! read up to three parameters (constant, linear, quadratic with T) + lattice_thermalExpansion33(3,3,i-1_pInt,section) = IO_floatValue(line,chunkPos,i) + enddo case ('specific_heat') lattice_specificHeat(section) = IO_floatValue(line,chunkPos,2_pInt) case ('vacancyformationenergy') @@ -1756,22 +1763,24 @@ subroutine lattice_initializeStructure(myPhase,CoverA,CoverA_trans,a_fcc,a_bcc) end select end select - lattice_thermalConductivity33(1:3,1:3,myPhase) = lattice_symmetrize33(lattice_structure(myPhase),& - lattice_thermalConductivity33(1:3,1:3,myPhase)) - lattice_thermalExpansion33(1:3,1:3,myPhase) = lattice_symmetrize33(lattice_structure(myPhase),& - lattice_thermalExpansion33(1:3,1:3,myPhase)) - lattice_DamageDiffusion33(1:3,1:3,myPhase) = lattice_symmetrize33(lattice_structure(myPhase),& - lattice_DamageDiffusion33(1:3,1:3,myPhase)) - lattice_vacancyfluxDiffusion33(1:3,1:3,myPhase) = lattice_symmetrize33(lattice_structure(myPhase),& - lattice_vacancyfluxDiffusion33(1:3,1:3,myPhase)) - lattice_vacancyfluxMobility33(1:3,1:3,myPhase) = lattice_symmetrize33(lattice_structure(myPhase),& - lattice_vacancyfluxMobility33(1:3,1:3,myPhase)) - lattice_PorosityDiffusion33(1:3,1:3,myPhase) = lattice_symmetrize33(lattice_structure(myPhase),& - lattice_PorosityDiffusion33(1:3,1:3,myPhase)) + forall (i = 1_pInt:3_pInt) & + lattice_thermalExpansion33 (1:3,1:3,i,myPhase) = lattice_symmetrize33(lattice_structure(myPhase),& + lattice_thermalExpansion33 (1:3,1:3,i,myPhase)) + + lattice_thermalConductivity33 (1:3,1:3,myPhase) = lattice_symmetrize33(lattice_structure(myPhase),& + lattice_thermalConductivity33 (1:3,1:3,myPhase)) + lattice_DamageDiffusion33 (1:3,1:3,myPhase) = lattice_symmetrize33(lattice_structure(myPhase),& + lattice_DamageDiffusion33 (1:3,1:3,myPhase)) + lattice_vacancyfluxDiffusion33 (1:3,1:3,myPhase) = lattice_symmetrize33(lattice_structure(myPhase),& + lattice_vacancyfluxDiffusion33 (1:3,1:3,myPhase)) + lattice_vacancyfluxMobility33 (1:3,1:3,myPhase) = lattice_symmetrize33(lattice_structure(myPhase),& + lattice_vacancyfluxMobility33 (1:3,1:3,myPhase)) + lattice_PorosityDiffusion33 (1:3,1:3,myPhase) = lattice_symmetrize33(lattice_structure(myPhase),& + lattice_PorosityDiffusion33 (1:3,1:3,myPhase)) lattice_hydrogenfluxDiffusion33(1:3,1:3,myPhase) = lattice_symmetrize33(lattice_structure(myPhase),& - lattice_hydrogenfluxDiffusion33(1:3,1:3,myPhase)) - lattice_hydrogenfluxMobility33(1:3,1:3,myPhase) = lattice_symmetrize33(lattice_structure(myPhase),& - lattice_hydrogenfluxMobility33(1:3,1:3,myPhase)) + lattice_hydrogenfluxDiffusion33(1:3,1:3,myPhase)) + lattice_hydrogenfluxMobility33 (1:3,1:3,myPhase) = lattice_symmetrize33(lattice_structure(myPhase),& + lattice_hydrogenfluxMobility33 (1:3,1:3,myPhase)) select case(lattice_structure(myPhase)) !-------------------------------------------------------------------------------------------------- From b07823464477b1fadf4f7897eaeec1130c27ccaf Mon Sep 17 00:00:00 2001 From: Philip Eisenlohr Date: Sun, 25 Feb 2018 14:16:55 -0500 Subject: [PATCH 07/17] added scipy and scipy.linalg as known modules for calculations --- processing/post/addCalculation.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/processing/post/addCalculation.py b/processing/post/addCalculation.py index 85c52621b..0e1f1c8d8 100755 --- a/processing/post/addCalculation.py +++ b/processing/post/addCalculation.py @@ -2,7 +2,7 @@ # -*- coding: UTF-8 no BOM -*- import os,re,sys,collections -import math # noqa +import math,scipy,scipy.linalg # noqa import numpy as np from optparse import OptionParser import damask From e1c4c7e6e8feedd1bcb40fd7574f499489d1ab33 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 25 Feb 2018 21:01:23 +0100 Subject: [PATCH 08/17] wrong indices in matrix rotation fixing this resolves issue 14: "Poor performance after load case rotation" now inline with http://www.continuummechanics.org/rotationmatrix.html C'_mnop = R_mi R_nj R_ok R_pl C_ijkl --- src/math.f90 | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/math.f90 b/src/math.f90 index ee228834a..055ec6c62 100644 --- a/src/math.f90 +++ b/src/math.f90 @@ -2755,8 +2755,7 @@ pure function math_rotate_forward33(tensor,rot_tensor) real(pReal), dimension(3,3) :: math_rotate_forward33 real(pReal), dimension(3,3), intent(in) :: tensor, rot_tensor - math_rotate_forward33 = math_mul33x33(rot_tensor,& - math_mul33x33(tensor,math_transpose33(rot_tensor))) + math_rotate_forward33 = math_mul33x33(rot_tensor,math_mul33x33(tensor,transpose(rot_tensor))) end function math_rotate_forward33 @@ -2770,8 +2769,7 @@ pure function math_rotate_backward33(tensor,rot_tensor) real(pReal), dimension(3,3) :: math_rotate_backward33 real(pReal), dimension(3,3), intent(in) :: tensor, rot_tensor - math_rotate_backward33 = math_mul33x33(math_transpose33(rot_tensor),& - math_mul33x33(tensor,rot_tensor)) + math_rotate_backward33 = math_mul33x33(transpose(rot_tensor),math_mul33x33(tensor,rot_tensor)) end function math_rotate_backward33 @@ -2791,7 +2789,7 @@ pure function math_rotate_forward3333(tensor,rot_tensor) do i = 1_pInt,3_pInt; do j = 1_pInt,3_pInt; do k = 1_pInt,3_pInt; do l = 1_pInt,3_pInt do m = 1_pInt,3_pInt; do n = 1_pInt,3_pInt; do o = 1_pInt,3_pInt; do p = 1_pInt,3_pInt - math_rotate_forward3333(i,j,k,l) = math_rotate_forward3333(i,j,k,l) & + math_rotate_forward3333(m,n,o,p) = math_rotate_forward3333(i,j,k,l) & + rot_tensor(m,i) * rot_tensor(n,j) & * rot_tensor(o,k) * rot_tensor(p,l) * tensor(m,n,o,p) enddo; enddo; enddo; enddo; enddo; enddo; enddo; enddo From 30d66c2d678772f0ea96fc9dd5b9ab1a1f8f4827 Mon Sep 17 00:00:00 2001 From: Test User Date: Mon, 26 Feb 2018 09:50:06 +0100 Subject: [PATCH 09/17] [skip ci] updated version information after successful test of v2.0.1-1084-gb078234 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 46acd019d..089a50732 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v2.0.1-1082-g8d81e12 +v2.0.1-1084-gb078234 From cd4115bada88783012b6cd6014457768cb95465f Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 26 Feb 2018 11:14:02 +0100 Subject: [PATCH 10/17] now using the correct rotation formula --- src/math.f90 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/math.f90 b/src/math.f90 index 055ec6c62..de27519e8 100644 --- a/src/math.f90 +++ b/src/math.f90 @@ -2789,9 +2789,9 @@ pure function math_rotate_forward3333(tensor,rot_tensor) do i = 1_pInt,3_pInt; do j = 1_pInt,3_pInt; do k = 1_pInt,3_pInt; do l = 1_pInt,3_pInt do m = 1_pInt,3_pInt; do n = 1_pInt,3_pInt; do o = 1_pInt,3_pInt; do p = 1_pInt,3_pInt - math_rotate_forward3333(m,n,o,p) = math_rotate_forward3333(i,j,k,l) & + math_rotate_forward3333(m,n,o,p) = math_rotate_forward3333(m,n,o,p) & + rot_tensor(m,i) * rot_tensor(n,j) & - * rot_tensor(o,k) * rot_tensor(p,l) * tensor(m,n,o,p) + * rot_tensor(o,k) * rot_tensor(p,l) * tensor(i,j,k,l) enddo; enddo; enddo; enddo; enddo; enddo; enddo; enddo end function math_rotate_forward3333 From e716441787d620d39ae9f3dd01f2e4476ebb40cc Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 26 Feb 2018 20:18:38 +0100 Subject: [PATCH 11/17] indexing now follows description --- src/math.f90 | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/math.f90 b/src/math.f90 index de27519e8..7e35ca390 100644 --- a/src/math.f90 +++ b/src/math.f90 @@ -2789,9 +2789,9 @@ pure function math_rotate_forward3333(tensor,rot_tensor) do i = 1_pInt,3_pInt; do j = 1_pInt,3_pInt; do k = 1_pInt,3_pInt; do l = 1_pInt,3_pInt do m = 1_pInt,3_pInt; do n = 1_pInt,3_pInt; do o = 1_pInt,3_pInt; do p = 1_pInt,3_pInt - math_rotate_forward3333(m,n,o,p) = math_rotate_forward3333(m,n,o,p) & - + rot_tensor(m,i) * rot_tensor(n,j) & - * rot_tensor(o,k) * rot_tensor(p,l) * tensor(i,j,k,l) + math_rotate_forward3333(i,j,k,l) = math_rotate_forward3333(i,j,k,l) & + + rot_tensor(i,m) * rot_tensor(j,n) & + * rot_tensor(k,o) * rot_tensor(l,p) * tensor(m,n,o,p) enddo; enddo; enddo; enddo; enddo; enddo; enddo; enddo end function math_rotate_forward3333 From 6046a7ae3d0ca9c5cf6c603ef6e965250acc9b2a Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 26 Feb 2018 20:22:57 +0100 Subject: [PATCH 12/17] there is no scipy.linalg (at least on my system) numpy.linalg is automatically imported together with numpy --- processing/post/addCalculation.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/processing/post/addCalculation.py b/processing/post/addCalculation.py index 0e1f1c8d8..64f55cde3 100755 --- a/processing/post/addCalculation.py +++ b/processing/post/addCalculation.py @@ -2,7 +2,7 @@ # -*- coding: UTF-8 no BOM -*- import os,re,sys,collections -import math,scipy,scipy.linalg # noqa +import math,scipy # noqa import numpy as np from optparse import OptionParser import damask From 1bbaa7cefe455876b092849ba55436ad29470a81 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 26 Feb 2018 23:50:44 +0100 Subject: [PATCH 13/17] reverted last commit, scipy.linalg is different from numpy.linalg --- processing/post/addCalculation.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/processing/post/addCalculation.py b/processing/post/addCalculation.py index 64f55cde3..024e81cb6 100755 --- a/processing/post/addCalculation.py +++ b/processing/post/addCalculation.py @@ -2,7 +2,7 @@ # -*- coding: UTF-8 no BOM -*- import os,re,sys,collections -import math,scipy # noqa +import math,scipy,scipy.linalg # noqa import numpy as np from optparse import OptionParser import damask From f35a88d2c4ed30a08d1a80326da1b1798180e1c9 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 26 Feb 2018 23:51:23 +0100 Subject: [PATCH 14/17] it's 2018 already --- LICENSE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LICENSE b/LICENSE index f6371f259..630dc3a84 100644 --- a/LICENSE +++ b/LICENSE @@ -1,4 +1,4 @@ -Copyright 2011-17 Max-Planck-Institut für Eisenforschung GmbH +Copyright 2011-18 Max-Planck-Institut für Eisenforschung GmbH DAMASK is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by From 3a4506c5aeaaf6c68de59a2570d022773a9d014d Mon Sep 17 00:00:00 2001 From: Test User Date: Tue, 27 Feb 2018 10:01:02 +0100 Subject: [PATCH 15/17] [skip ci] updated version information after successful test of v2.0.1-1088-gf35a88d --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 089a50732..ee3681e62 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v2.0.1-1084-gb078234 +v2.0.1-1088-gf35a88d From 5c2aeedb73f03da0b75f1e5250a54f6cbaa1a820 Mon Sep 17 00:00:00 2001 From: Test User Date: Tue, 27 Feb 2018 19:18:18 +0100 Subject: [PATCH 16/17] [skip ci] updated version information after successful test of v2.0.1-1097-gcb073fe --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 089a50732..1a8166caf 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v2.0.1-1084-gb078234 +v2.0.1-1097-gcb073fe From 03c643c4335b35e13261d0bbb524f9faca3f7edc Mon Sep 17 00:00:00 2001 From: Test User Date: Thu, 1 Mar 2018 06:25:54 +0100 Subject: [PATCH 17/17] [skip ci] updated version information after successful test of v2.0.1-1104-g88c46d5 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index ee3681e62..aa98e7d3f 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v2.0.1-1088-gf35a88d +v2.0.1-1104-g88c46d5