#713: Implement "Conformal Covariant Z4" formulation in McLachlan ------------------------------------+--------------------------------------- Reporter: barry.wardell | Owner: Type: enhancement | Status: reviewed_ok Priority: major | Milestone: Component: EinsteinToolkit thorn | Version: Resolution: | Keywords: ------------------------------------+---------------------------------------
Comment (by barry.wardell):
I have now pushed a new version to the CCZ4 branch. This solves the performance regression problem by moving the CCZ4 code into a separate thorn, ML_CCZ4. Note, however, that a common Kranc script is still used as there still remains a large amount of common code between the two formulations. In addition, this solution allows storage for the Theta grid function to not be allocated (and synchronization done) in ML_BSSN where it is not needed.
I had considered the alternate approach of having a separate calculation conditionally scheduled in ML_BSSN that would simply add the appropriate terms on top of the existing BSSN terms. I didn't do this as it would have had a couple of disadvantages: * Theta would have to always have storage and synchronization * It would have been necessary to recalculate several quantities (including the Ricci scalar) in the new calculation and this would have an impact on the performance of the CCZ4 version of the code.
The testsuites still pass and checking the generated code for ML_BSSN the only change compared to master is a slight rearranging of the order in which the equations appear along with an inconsequential change to the tests against the conformalMethod parameter (they used to be if(conformalMethod) and are now if(conformalMethod==1)). So, now ML_BSSN is essentially unaffected by these changes.
OK to apply this time around? If so, then I'd also like to suggest adding ML_CCZ4, ML_CCZ4_Helper and ML_CCZ4_Test to the Einstein Toolkit thornlist.