Created
January 12, 2016 13:10
-
-
Save wence-/e11eb79dbb95ec8d3afe to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| On quads | |
| In [1]: print self.original_form | |
| { div(w_6) } * dx(<Mesh #4 with coordinates parameterized by <Q vector element of degree 1 on a quadrilateral: 2 x <CG1 on a quadrilateral>>>[everywhere], {}) | |
| In [2]: print apply_algebra_lowering(self.original_form) | |
| { sum_{i_{115}} (grad(w_6[i_{115}]))[i_{115}] } * dx(<Mesh #4 with coordinates parameterized by <Q vector element of degree 1 on a quadrilateral: 2 x <CG1 on a quadrilateral>>>[everywhere], {}) | |
| In [3]: print apply_derivatives(apply_algebra_lowering(self.original_form)) | |
| { sum_{i_{116}} (grad(w_6))[i_{116}, i_{116}] } * dx(<Mesh #4 with coordinates parameterized by <Q vector element of degree 1 on a quadrilateral: 2 x <CG1 on a quadrilateral>>>[everywhere], {}) | |
| In [4]: print apply_function_pullbacks(apply_derivatives(apply_algebra_lowering(self.original_form))) | |
| { sum_{i_{118}} (grad({ A | A_{i_{122}} = sum_{i_{123}} ({ A | A_{i_{120}, i_{121}} = J[i_{120}, i_{121}] * 1.0 / detJ })[i_{122}, i_{123}] * (reference_value(w_6))[i_{123}] }))[i_{118}, i_{118}] } * dx(<Mesh #4 with coordinates parameterized by <Q vector element of degree 1 on a quadrilateral: 2 x <CG1 on a quadrilateral>>>[everywhere], {}) | |
| In [5]: print apply_geometry_lowering(apply_function_pullbacks(apply_derivatives(apply_algebra_lowering(self.original_form)))) | |
| { sum_{i_{124}} (grad({ A | A_{i_{128}} = sum_{i_{129}} ({ A | A_{i_{126}, i_{127}} = (reference_grad(x))[i_{126}, i_{127}] * 1.0 / ((reference_grad(x))[0, 0] * (reference_grad(x))[1, 1] + -1 * (reference_grad(x))[0, 1] * (reference_grad(x))[1, 0]) })[i_{128}, i_{129}] * (reference_value(w_6))[i_{129}] }))[i_{124}, i_{124}] } * dx(<Mesh #4 with coordinates parameterized by <Q vector element of degree 1 on a quadrilateral: 2 x <CG1 on a quadrilateral>>>[everywhere], {}) | |
| In [6]: print apply_derivatives(apply_geometry_lowering(apply_function_pullbacks(apply_derivatives(apply_algebra_lowering(self.original_form))))) | |
| { sum_{i_{130}} ({ A | A_{i_{134}, i_{155}} = (sum_{i_{135}} ({ A | A_{i_{154}} = ({ A | A_{i_{139}} = ({ A | A_{i_{136}, i_{137}} = sum_{i_{138}} K[i_{138}, i_{137}] * (reference_grad(reference_value(w_6)))[i_{136}, i_{138}] })[i_{135}, i_{139}] })[i_{154}] * ({ A | A_{i_{132}, i_{133}} = J[i_{132}, i_{133}] * 1.0 / (J[0, 0] * J[1, 1] + -1 * J[0, 1] * J[1, 0]) })[i_{134}, i_{135}] + ({ A | A_{i_{153}} = ({ A | A_{i_{132}, i_{133}, i_{152}} = ({ A | A_{i_{151}} = J[i_{132}, i_{133}] * ({ A | A_{i_{149}} = ({ A | A_{i_{148}} = -1 * ({ A | A_{i_{147}} = (({ A | A_{i_{146}} = J[1, 1] * ({ A | A_{i_{145}} = (grad(J))[0, 0, i_{145}] })[i_{146}] + J[0, 0] * ({ A | A_{i_{144}} = (grad(J))[1, 1, i_{144}] })[i_{146}] }) + ({ A | A_{i_{143}} = -1 * ({ A | A_{i_{142}} = J[1, 0] * ({ A | A_{i_{141}} = (grad(J))[0, 1, i_{141}] })[i_{142}] + J[0, 1] * ({ A | A_{i_{140}} = (grad(J))[1, 0, i_{140}] })[i_{142}] })[i_{143}] }))[i_{147}] * 1.0 / (J[0, 0] * J[1, 1] + -1 * J[0, 1] * J[1, 0]) })[i_{148}] })[i_{149}] / (J[0, 0] * J[1, 1] + -1 * J[0, 1] * J[1, 0]) })[i_{151}] + ({ A | A_{i_{150}} = (grad(J))[i_{132}, i_{133}, i_{150}] })[i_{151}] * 1.0 / (J[0, 0] * J[1, 1] + -1 * J[0, 1] * J[1, 0]) })[i_{152}] })[i_{134}, i_{135}, i_{153}] })[i_{154}] * (reference_value(w_6))[i_{135}] }) )[i_{155}] })[i_{130}, i_{130}] } * dx(<Mesh #4 with coordinates parameterized by <Q vector element of degree 1 on a quadrilateral: 2 x <CG1 on a quadrilateral>>>[everywhere], {}) | |
| In [7]: print apply_geometry_lowering(apply_derivatives(apply_geometry_lowering(apply_function_pullbacks(apply_derivatives(apply_algebra_lowering(self.original_form)))))) | |
| { sum_{i_{156}} ({ A | A_{i_{160}, i_{181}} = (sum_{i_{161}} ({ A | A_{i_{180}} = ({ A | A_{i_{165}} = ({ A | A_{i_{162}, i_{163}} = sum_{i_{164}} ({ A | A_{i_{182}, i_{183}} = ([ | |
| [(reference_grad(x))[1, 1], -1 * (reference_grad(x))[0, 1]], | |
| [-1 * (reference_grad(x))[1, 0], (reference_grad(x))[0, 0]] | |
| ])[i_{182}, i_{183}] / ((reference_grad(x))[0, 0] * (reference_grad(x))[1, 1] + -1 * (reference_grad(x))[0, 1] * (reference_grad(x))[1, 0]) })[i_{164}, i_{163}] * (reference_grad(reference_value(w_6)))[i_{162}, i_{164}] })[i_{161}, i_{165}] })[i_{180}] * ({ A | A_{i_{158}, i_{159}} = (reference_grad(x))[i_{158}, i_{159}] * 1.0 / ((reference_grad(x))[0, 0] * (reference_grad(x))[1, 1] + -1 * (reference_grad(x))[0, 1] * (reference_grad(x))[1, 0]) })[i_{160}, i_{161}] + ({ A | A_{i_{179}} = ({ A | A_{i_{158}, i_{159}, i_{178}} = ({ A | A_{i_{177}} = ({ A | A_{i_{175}} = ({ A | A_{i_{174}} = -1 * ({ A | A_{i_{173}} = (({ A | A_{i_{172}} = (reference_grad(x))[1, 1] * ({ A | A_{i_{171}} = (grad(reference_grad(x)))[0, 0, i_{171}] })[i_{172}] + (reference_grad(x))[0, 0] * ({ A | A_{i_{170}} = (grad(reference_grad(x)))[1, 1, i_{170}] })[i_{172}] }) + ({ A | A_{i_{169}} = -1 * ({ A | A_{i_{168}} = (reference_grad(x))[1, 0] * ({ A | A_{i_{167}} = (grad(reference_grad(x)))[0, 1, i_{167}] })[i_{168}] + (reference_grad(x))[0, 1] * ({ A | A_{i_{166}} = (grad(reference_grad(x)))[1, 0, i_{166}] })[i_{168}] })[i_{169}] }))[i_{173}] * 1.0 / ((reference_grad(x))[0, 0] * (reference_grad(x))[1, 1] + -1 * (reference_grad(x))[0, 1] * (reference_grad(x))[1, 0]) })[i_{174}] })[i_{175}] / ((reference_grad(x))[0, 0] * (reference_grad(x))[1, 1] + -1 * (reference_grad(x))[0, 1] * (reference_grad(x))[1, 0]) })[i_{177}] * (reference_grad(x))[i_{158}, i_{159}] + ({ A | A_{i_{176}} = (grad(reference_grad(x)))[i_{158}, i_{159}, i_{176}] })[i_{177}] * 1.0 / ((reference_grad(x))[0, 0] * (reference_grad(x))[1, 1] + -1 * (reference_grad(x))[0, 1] * (reference_grad(x))[1, 0]) })[i_{178}] })[i_{160}, i_{161}, i_{179}] })[i_{180}] * (reference_value(w_6))[i_{161}] }) )[i_{181}] })[i_{156}, i_{156}] } * dx(<Mesh #4 with coordinates parameterized by <Q vector element of degree 1 on a quadrilateral: 2 x <CG1 on a quadrilateral>>>[everywhere], {}) | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment