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) !--------------------------------------------------------------------------------------------------