From 330d71864e5f062082574fd9d874f110acb63d71 Mon Sep 17 00:00:00 2001
From: Pratheek Shanthraj
Date: Wed, 5 Sep 2012 08:30:15 +0000
Subject: [PATCH] fixed bug with stress BC handling
---
code/DAMASK_spectral_SolverAL.f90 | 4 ++--
code/DAMASK_spectral_SolverBasic.f90 | 2 +-
code/DAMASK_spectral_SolverBasicPETSC.f90 | 2 +-
3 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/code/DAMASK_spectral_SolverAL.f90 b/code/DAMASK_spectral_SolverAL.f90
index dc60b5947..a1844dbf9 100644
--- a/code/DAMASK_spectral_SolverAL.f90
+++ b/code/DAMASK_spectral_SolverAL.f90
@@ -370,7 +370,7 @@ subroutine AL_init()
!--------------------------------------------------------------------------------------------------
! stress BC handling
F_aim = F_aim - math_mul3333xx33(S, ((P_av - params%P_BC))) ! S = 0.0 for no bc
- err_stress = maxval(mask_stress * (P_av - params%P_BC)) ! mask = 0.0 for no bc
+ err_stress = maxval(abs(mask_stress * (P_av - params%P_BC))) ! mask = 0.0 for no bc
!--------------------------------------------------------------------------------------------------
@@ -379,7 +379,7 @@ subroutine AL_init()
do k = 1_pInt, res(3); do j = 1_pInt, res(2); do i = 1_pInt, res(1)
temp33_Real = math_mul3333xx33(S_scale,residual_F(1:3,1:3,i,j,k)) + math_I3
residual_F(1:3,1:3,i,j,k) = temp33_Real
- field_real(i,j,k,1:3,1:3) = math_mul3333xx33(C_scale,F_lambda(1:3,1:3,i,j,k)-F(1:3,1:3,i,j,k))
+ field_real(i,j,k,1:3,1:3) = -math_mul3333xx33(C_scale,F_lambda(1:3,1:3,i,j,k)-F(1:3,1:3,i,j,k))
enddo; enddo; enddo
!--------------------------------------------------------------------------------------------------
diff --git a/code/DAMASK_spectral_SolverBasic.f90 b/code/DAMASK_spectral_SolverBasic.f90
index 8071bf601..a3c2ad7ea 100644
--- a/code/DAMASK_spectral_SolverBasic.f90
+++ b/code/DAMASK_spectral_SolverBasic.f90
@@ -257,7 +257,7 @@ type(solutionState) function basic_solution(guessmode,timeinc,timeinc_old,P_BC,F
!--------------------------------------------------------------------------------------------------
! stress BC handling
F_aim = F_aim - math_mul3333xx33(S, ((P_av - P_BC%values))) !S = 0.0 for no bc
- err_stress = maxval(P_BC%maskFloat * (P_av - P_BC%values)) ! mask = 0.0 for no bc
+ err_stress = maxval(abs(P_BC%maskFloat * (P_av - P_BC%values))) ! mask = 0.0 for no bc
F_aim_lab = math_rotate_backward33(F_aim,rotation_BC) ! boundary conditions from load frame into lab (Fourier) frame
!--------------------------------------------------------------------------------------------------
diff --git a/code/DAMASK_spectral_SolverBasicPETSC.f90 b/code/DAMASK_spectral_SolverBasicPETSC.f90
index fc2a611e3..b2af3555c 100644
--- a/code/DAMASK_spectral_SolverBasicPETSC.f90
+++ b/code/DAMASK_spectral_SolverBasicPETSC.f90
@@ -352,7 +352,7 @@ subroutine BasicPETSC_init()
!--------------------------------------------------------------------------------------------------
! stress BC handling
F_aim = F_aim - math_mul3333xx33(S, ((P_av - params%P_BC))) ! S = 0.0 for no bc
- err_stress = maxval(mask_stress * (P_av - params%P_BC)) ! mask = 0.0 for no bc
+ err_stress = maxval(abs(mask_stress * (P_av - params%P_BC))) ! mask = 0.0 for no bc
F_aim_lab = math_rotate_backward33(F_aim,params%rotation_BC)
!--------------------------------------------------------------------------------------------------