#597: WeylScal4 should use the kranc script rather than calling Mathematica directly ------------------------------------+--------------------------------------- Reporter: hinder | Owner: Type: enhancement | Status: new Priority: minor | Milestone: Component: EinsteinToolkit thorn | Version: Resolution: | Keywords: WeylScal4 testsuite ------------------------------------+---------------------------------------
Comment (by hinder):
I can add the additional search locations for Kranc back to runmath.sh. The script will still be significantly simpler as all it needs to do is find Kranc. Everything else should be handled in the kranc script to avoid duplication.
The kranc script is more sophisticated than runmath.sh, since it runs Kranc using the !RunKranc package. This package checks for any exceptions or messages generated and catches these, printing them in a sensible way. It then makes !MathKernel return a nonzero exit code (usually it returns 0 even if a critical error has occurred). It also sets things like the !PageWidth so that there are no continuation lines in the output, and runs mathematica in a way which does not print spurious things like In[] etc.
In some cases, Kranc might output "Thorn XX generated successfully" if messages occurred during the computation. There is, unfortunately, no way that I have found to abort on the first message (see comments in !RunKranc.m). If messages are generated, I cannot guarantee that the thorn is correct.
Kranc's input validation is not perfect - the original aim was to be very liberal in what we accept to avoid having to write code to allow every different function that the user might want to use. This might not have been a good idea. Now that we have a good idea of what is needed, we can reverse that and accept nothing unless it is valid and expected, but this has not been done yet.