26 Replies Latest reply: Feb 25, 2012 4:27 PM by Maneki_Neko RSS

    Closing a "Solve Block" around the constraint that a vector cross product be zero


      Hello World.


      I am using a solve block in MathCAD 15, and it does not close around a constraint that a cross product of two vectors have a root of zero.


      In this solve block there is some matrix algebra and some that functions, such that a vector (R0) starting out at one orientation, after two bounces (in two mirrors rotating on two orthogonal axes), ends up in another defined location. There are two mirror positions (alpha1 and alpha 2) which satisfy these conditions completely and uniquely as long as skewness of the initial vector is 'reasonable' for the physical arrangement (e.g. under 30 degrees). The clocking may be anything. In this example it is set at 90, which drives alpha 1 to the exact value of 45 degrees.


      In this set of equations, when the root of a cross product between the vector between the last two points of the vector chain (a point of reflection off the last mirror and the destination point) and the unit vector for the reflection off the second mirror, is solved such that root is zero, then both mirror angles are found.


      In the first example (blue) the Solve Block does not close, and the cross product error is large.


      The second example (red) I solved the equation by manual search (this is not hard, but is slow), by perturbing the values of alpha1 and alpha 2 until the cross product was acceptably zero.


      Why can't the solve block do automatically, what I find it relatively straight forward to do by hand?


      I suspect that there is some kind of protocol error, but I don't see it. The whole file is attached, in compressed form. The green colored solve block is on page 8, the red colored is page 9.