Skip to content

Commit

Permalink
Fix trilinear case 6
Browse files Browse the repository at this point in the history
  • Loading branch information
mewilhel committed Nov 12, 2020
1 parent 8e92c45 commit 0f63fae
Showing 1 changed file with 3 additions and 48 deletions.
51 changes: 3 additions & 48 deletions src/forward_operators/trilinear.jl
Original file line number Diff line number Diff line change
Expand Up @@ -174,6 +174,7 @@ function trilinear_case_1(x::MC{N,T}, y::MC{N,T}, z::MC{N,T}, q::Interval{Float6
cc5 = cc_ax5*x.cc + cc_ay5*y.cc + cc_az5*z.cc + cc_b5
cc6 = cc_ax6*x.cc + cc_ay6*y.cc + cc_az6*z.cc + cc_b6


@unpack_trilinear_end()
end

Expand Down Expand Up @@ -583,56 +584,10 @@ end
"""
trilinear_case_6
Case 3.6 + Case 4.6 of Meyer-Floudas 2004
Note: Case 3.6/Case 4.6 of thesis yielded incorrect result. So reformulated...
"""
function trilinear_case_6(x::MC{N,T}, y::MC{N,T}, z::MC{N,T}, q::Interval{Float64}) where {N,T<:RelaxTag}
@unpack_trilinear_bnd()

@show "RAN 6"

delY = yU - yL
θcv = xyzULU - xyzUUL - xyzLLU + xyzLLL
θcc = xyzLUL - xyzULL - xyzLUU + xyzUUU

# define cv and coefficients
cv_b1 = -2.0*xyzULL
cv_b2 = -(xyzLUL + xyzLUU)
cv_b3 = -(xyzLUL + xyzLLL)
cv_b4 = -(xyzULU + xyzUUU)
cv_b5 = -(xyzLUU + xyzUUU)
cv_b6 = θcv*yU/delY - xyzULU - xyzLLL + xyzUUL

cv_ax1, cv_ax2, cv_ax3, cv_ax4, cv_ax5, cv_ax6 = yzLL, yzUL, yzUL, yzLU, yzUU, yzLU
cv_ay1, cv_ay2, cv_ay3, cv_ay4, cv_ay5, cv_ay6 = xzUL, xzLU, xzLL, xzUU, xzLU, -θcv/delY
cv_az1, cv_az2, cv_az3, cv_az4, cv_az5, cv_az6 = xyUL, xyLU, xyLL, xyUU, xyUU, xyLL

cv1 = cv_ax1*x.cc + cv_ay1*y.cc + cv_az1*z.cv + cv_b1
cv2 = cv_ax2*x.cc + cv_ay2*y.cc + cv_az2*z.cc + cv_b2
cv3 = cv_ax3*x.cv + cv_ay3*y.cc + cv_az3*z.cv + cv_b3
cv4 = cv_ax4*x.cv + cv_ay4*y.cc + cv_az4*z.cc + cv_b4
cv5 = cv_ax5*x.cv + cv_ay5*y.cc + cv_az5*z.cc + cv_b5
cv6 = cv_ax6*x.cc + cv_ay6*ifelse(cv_ay6 > 0.0, y.cv, -y.cc) + cv_az6*z.cv + cv_b6

# define cc and coefficients
cc_b1 = -2.0*xyzUUL
cc_b2 = -(xyzUUU + xyzULU)
cc_b3 = -(xyzLUL + xyzLLL)
cc_b4 = -(xyzLLU + xyzLLL)
cc_b5 = -(xyzLLU + xyzULU)
cc_b6 = -θcc*yL/delY - xyzLUL - xyzUUU + xyzULL

cc_ax1, cc_ax2, cc_ax3, cc_ax4, cc_ax5, cc_ax6 = yzUL, yzUU, yzLL, yzLL, yzLU, yzUU
cc_ay1, cc_ay2, cc_ay3, cc_ay4, cc_ay5, cc_ay6 = xzUL, xzUU, xzLL, xzLU, xzLU, θcc/delY
cc_az1, cc_az2, cc_az3, cc_az4, cc_az5, cc_az6 = xyUU, xyUL, xyLU, xyLL, xyUL, xyLU

cc1 = cc_ax1*x.cv + cc_ay1*y.cv + cc_az1*z.cc + cc_b1
cc2 = cc_ax2*x.cv + cc_ay2*y.cv + cc_az2*z.cv + cc_b2
cc3 = cc_ax3*x.cc + cc_ay3*y.cv + cc_az3*z.cc + cc_b3
cc4 = cc_ax4*x.cc + cc_ay4*y.cv + cc_az4*z.cv + cc_b4
cc5 = cc_ax5*x.cc + cc_ay5*y.cv + cc_az5*z.cv + cc_b5
cc6 = cc_ax6*x.cv + cc_ay6*ifelse(cc_ay6 > 0.0, y.cc, -y.cv) + cc_az6*z.cc + cc_b6

@unpack_trilinear_end()
-trilinear_case_9(y, -x, z, q)
end

"""
Expand Down

0 comments on commit 0f63fae

Please sign in to comment.