subroutine HexCon( mode, nnCon, nnJac, neJac, x, fCon, gCon, & nState, cu, lencu, iu, leniu, ru, lenru ) implicit double precision(a-h,o-z) double precision x(nnJac), fCon(nnCon), gCon(neJac) character*8 cu(lencu) integer iu(leniu) double precision ru(lenru) * ================================================================== * Problem Hexagon. * * No user-defined storage is used. * ================================================================== parameter (two = 2.0d+0) fCon( 1) = x(1)**2 + x(6)**2 fCon( 2) = (x(2) - x(1))**2 + (x(7) - x(6))**2 fCon( 3) = (x(3) - x(1))**2 + x(6)**2 fCon( 4) = (x(1) - x(4))**2 + (x(6) - x(8))**2 fCon( 5) = (x(1) - x(5))**2 + (x(6) - x(9))**2 fCon( 6) = x(2)**2 + x(7)**2 fCon( 7) = (x(3) - x(2))**2 + x(7)**2 fCon( 8) = (x(4) - x(2))**2 + (x(8) - x(7))**2 fCon( 9) = (x(2) - x(5))**2 + (x(7) - x(9))**2 fCon(10) = (x(4) - x(3))**2 + x(8)**2 fCon(11) = (x(5) - x(3))**2 + x(9)**2 fCon(12) = x(4)**2 + x(8)**2 fCon(13) = (x(4) - x(5))**2 + (x(9) - x(8))**2 fCon(14) = x(5)**2 + x(9)**2 * Nonlinear Jacobian elements for column 1. * rows = (1,2,3,4,5). gCon( 1) = two*x(1) gCon( 2) = - two*(x(2) - x(1)) gCon( 3) = - two*(x(3) - x(1)) gCon( 4) = two*(x(1) - x(4)) gCon( 5) = two*(x(1) - x(5)) * Nonlinear Jacobian elements for column 2. * Rows = (2,6,7,8,9). gCon( 6) = two*(x(2) - x(1)) gCon( 7) = two*x(2) gCon( 8) = - two*(x(3) - x(2)) gCon( 9) = - two*(x(4) - x(2)) gCon(10) = two*(x(2) - x(5)) * Nonlinear Jacobian elements for column 3. * Rows = (3,7,10,11). gCon(11) = two*(x(3) - x(1)) gCon(12) = two*(x(3) - x(2)) gCon(13) = - two*(x(4) - x(3)) gCon(14) = - two*(x(5) - x(3)) * Nonlinear Jacobian elements for column 4. * Rows = (4,8,10,12,13). gCon(15) = - two*(x(1) - x(4)) gCon(16) = two*(x(4) - x(2)) gCon(17) = two*(x(4) - x(3)) gCon(18) = two*x(4) gCon(19) = two*(x(4) - x(5)) * Nonlinear Jacobian elements for column 5. * Rows = (5,9,11,13,14). gCon(20) = - two*(x(1) - x(5)) gCon(21) = - two*(x(2) - x(5)) gCon(22) = two*(x(5) - x(3)) gCon(23) = - two*(x(4) - x(5)) gCon(24) = two*x(5) * Nonlinear Jacobian elements for column 6. * Rows = (1,2,3,4,5). gCon(25) = two*x(6) gCon(26) = - two*(x(7) - x(6)) gCon(27) = two*x(6) gCon(28) = two*(x(6) - x(8)) gCon(29) = two*(x(6) - x(9)) * Nonlinear Jacobian elements for column 7. * Rows = (2,6,7,8,9). gCon(30) = two*(x(7) - x(6)) gCon(31) = two*x(7) gCon(32) = two*x(7) gCon(33) = - two*(x(8) - x(7)) gCon(34) = two*(x(7) - x(9)) * Nonlinear Jacobian elements for column 8. * Rows = (4,8,10,12,13). gCon(35) = - two*(x(6) - x(8)) gCon(36) = two*(x(8) - x(7)) gCon(37) = two*x(8) gCon(38) = two*x(8) gCon(39) = - two*(x(9) - x(8)) * Nonlinear Jacobian elements for column 9. * Rows = (5,9,11,13,14). gCon(40) = - two*(x(6) - x(9)) gCon(41) = - two*(x(7) - x(9)) gCon(42) = two*x(9) gCon(43) = two*(x(9) - x(8)) gCon(44) = two*x(9) * end of constraints for Hexagon. end