-
Notifications
You must be signed in to change notification settings - Fork 4
Provide CUDA GPU implementation of GMGPolar #76
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
| @@ -0,0 +1,15 @@ | |||
| { | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
pls remove
| @@ -0,0 +1,88 @@ | |||
| { | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
pls remove
| @@ -0,0 +1,16 @@ | |||
| { | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
pls remove
| @@ -1,96 +1,109 @@ | |||
| GMGPolar | |||
| ======= | |||
| GMGPolar using CUDA | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Readme should contain with and without CUDA
| @@ -1,57 +0,0 @@ | |||
| #pragma once | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
files should not be removed but just not compiled when compiling with CUDA
| double rhs_f(const double& r, const double& theta, const double& sin_theta, const double& cos_theta) const | ||
| { | ||
| double temp = sqrt(inverse_aspect_ratio_epsilon * (inverse_aspect_ratio_epsilon + 2.0 * (r/Rmax) * cos_theta) + 1.0); | ||
| return 0.4096 * pow((r/Rmax), 6.0) * pow(((r/Rmax) - 1.0), 6.0) * cos(11.0 * theta) / (0.452961672473868 - 0.348432055749129 * atan(14.4444444444444 * (r/Rmax) - 11.1111111111111)) - pow((r/Rmax), 4.0) * (4.5056 * (r/Rmax) * (0.452961672473868 - 0.348432055749129 * atan(14.4444444444444 * (r/Rmax) - 11.1111111111111)) * pow(((r/Rmax) - 1.0), 6.0) * (((-ellipticity_e) * inverse_aspect_ratio_epsilon * (r/Rmax) * pow(sin_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * cos_theta * factor_xi / ( (2.0 - temp))) * (ellipticity_e * inverse_aspect_ratio_epsilon * (r/Rmax) * sin_theta * cos_theta * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * sin_theta * factor_xi / ( (2.0 - temp))) - sin_theta * cos_theta / (temp * temp)) * (1.0 / 2.0 * (((-ellipticity_e) * inverse_aspect_ratio_epsilon * (r/Rmax) * pow(sin_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * cos_theta * factor_xi / ( (2.0 - temp))) * (ellipticity_e * inverse_aspect_ratio_epsilon * (r/Rmax) * sin_theta * cos_theta * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * sin_theta * factor_xi / ( (2.0 - temp))) - sin_theta * cos_theta / (temp * temp)) * (4.0 * inverse_aspect_ratio_epsilon * sin_theta * pow(cos_theta, 2.0) / pow((temp * temp), 2.0) + 2.0 * ((-ellipticity_e) * inverse_aspect_ratio_epsilon * (r/Rmax) * pow(sin_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * cos_theta * factor_xi / ( (2.0 - temp))) * ((-ellipticity_e) * (inverse_aspect_ratio_epsilon * inverse_aspect_ratio_epsilon) * (r/Rmax) * sin_theta * pow(cos_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * pow((temp * temp), (3.0 / 2.0))) + 2.0 * ellipticity_e * (inverse_aspect_ratio_epsilon * inverse_aspect_ratio_epsilon) * (r/Rmax) * sin_theta * pow(cos_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 3.0) * (temp * temp)) + 2.0 * ellipticity_e * inverse_aspect_ratio_epsilon * sin_theta * cos_theta * factor_xi / ( pow((2.0 - temp), 2.0) * temp)) + 2.0 * (ellipticity_e * inverse_aspect_ratio_epsilon * (r/Rmax) * sin_theta * cos_theta * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * sin_theta * factor_xi / ( (2.0 - temp))) * (ellipticity_e * (inverse_aspect_ratio_epsilon * inverse_aspect_ratio_epsilon) * (r/Rmax) * pow(sin_theta, 2.0) * cos_theta * factor_xi / ( pow((2.0 - temp), 2.0) * pow((temp * temp), (3.0 / 2.0))) - 2.0 * ellipticity_e * (inverse_aspect_ratio_epsilon * inverse_aspect_ratio_epsilon) * (r/Rmax) * pow(sin_theta, 2.0) * cos_theta * factor_xi / ( pow((2.0 - temp), 3.0) * (temp * temp)) - ellipticity_e * inverse_aspect_ratio_epsilon * pow(sin_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * inverse_aspect_ratio_epsilon * pow(cos_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * temp))) - 1.0 / 2.0 * ((-2.0) * inverse_aspect_ratio_epsilon * pow(cos_theta, 3.0) / pow((temp * temp), 2.0) + (ellipticity_e * inverse_aspect_ratio_epsilon * (r/Rmax) * sin_theta * cos_theta * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * sin_theta * factor_xi / ( (2.0 - temp))) * ((-2.0) * ellipticity_e * (inverse_aspect_ratio_epsilon * inverse_aspect_ratio_epsilon) * (r/Rmax) * sin_theta * pow(cos_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * pow((temp * temp), (3.0 / 2.0))) + 4.0 * ellipticity_e * (inverse_aspect_ratio_epsilon * inverse_aspect_ratio_epsilon) * (r/Rmax) * sin_theta * pow(cos_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 3.0) * (temp * temp)) + 4.0 * ellipticity_e * inverse_aspect_ratio_epsilon * sin_theta * cos_theta * factor_xi / ( pow((2.0 - temp), 2.0) * temp))) * (pow(((-ellipticity_e) * inverse_aspect_ratio_epsilon * (r/Rmax) * pow(sin_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * cos_theta * factor_xi / ( (2.0 - temp))), 2.0) + pow(sin_theta, 2.0) / (temp * temp)) - 1.0 / 2.0 * ((-2.0) * inverse_aspect_ratio_epsilon * pow(sin_theta, 2.0) * cos_theta / pow((temp * temp), 2.0) + ((-ellipticity_e) * inverse_aspect_ratio_epsilon * (r/Rmax) * pow(sin_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * cos_theta * factor_xi / ( (2.0 - temp))) * (2.0 * ellipticity_e * (inverse_aspect_ratio_epsilon * inverse_aspect_ratio_epsilon) * (r/Rmax) * pow(sin_theta, 2.0) * cos_theta * factor_xi / ( pow((2.0 - temp), 2.0) * pow((temp * temp), (3.0 / 2.0))) - 4.0 * ellipticity_e * (inverse_aspect_ratio_epsilon * inverse_aspect_ratio_epsilon) * (r/Rmax) * pow(sin_theta, 2.0) * cos_theta * factor_xi / ( pow((2.0 - temp), 3.0) * (temp * temp)) - 2.0 * ellipticity_e * inverse_aspect_ratio_epsilon * pow(sin_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + 2.0 * ellipticity_e * inverse_aspect_ratio_epsilon * pow(cos_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * temp))) * (pow((ellipticity_e * inverse_aspect_ratio_epsilon * (r/Rmax) * sin_theta * cos_theta * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * sin_theta * factor_xi / ( (2.0 - temp))), 2.0) + pow(cos_theta, 2.0) / (temp * temp))) * sin(11.0 * theta) / pow(((-pow((((-ellipticity_e) * inverse_aspect_ratio_epsilon * (r/Rmax) * pow(sin_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * cos_theta * factor_xi / ( (2.0 - temp))) * (ellipticity_e * inverse_aspect_ratio_epsilon * (r/Rmax) * sin_theta * cos_theta * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * sin_theta * factor_xi / ( (2.0 - temp))) - sin_theta * cos_theta / (temp * temp)), 2.0)) + (pow(((-ellipticity_e) * inverse_aspect_ratio_epsilon * (r/Rmax) * pow(sin_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * cos_theta * factor_xi / ( (2.0 - temp))), 2.0) + pow(sin_theta, 2.0) / (temp * temp)) * (pow((ellipticity_e * inverse_aspect_ratio_epsilon * (r/Rmax) * sin_theta * cos_theta * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * sin_theta * factor_xi / ( (2.0 - temp))), 2.0) + pow(cos_theta, 2.0) / (temp * temp))), (3.0 / 2.0)) + 4.5056 * (r/Rmax) * (0.452961672473868 - 0.348432055749129 * atan(14.4444444444444 * (r/Rmax) - 11.1111111111111)) * pow(((r/Rmax) - 1.0), 6.0) * (2.0 * inverse_aspect_ratio_epsilon * sin_theta * pow(cos_theta, 2.0) / pow((temp * temp), 2.0) + ((-ellipticity_e) * inverse_aspect_ratio_epsilon * (r/Rmax) * pow(sin_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * cos_theta * factor_xi / ( (2.0 - temp))) * ((-ellipticity_e) * (inverse_aspect_ratio_epsilon * inverse_aspect_ratio_epsilon) * (r/Rmax) * sin_theta * pow(cos_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * pow((temp * temp), (3.0 / 2.0))) + 2.0 * ellipticity_e * (inverse_aspect_ratio_epsilon * inverse_aspect_ratio_epsilon) * (r/Rmax) * sin_theta * pow(cos_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 3.0) * (temp * temp)) + 2.0 * ellipticity_e * inverse_aspect_ratio_epsilon * sin_theta * cos_theta * factor_xi / ( pow((2.0 - temp), 2.0) * temp)) + (ellipticity_e * inverse_aspect_ratio_epsilon * (r/Rmax) * sin_theta * cos_theta * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * sin_theta * factor_xi / ( (2.0 - temp))) * (ellipticity_e * (inverse_aspect_ratio_epsilon * inverse_aspect_ratio_epsilon) * (r/Rmax) * pow(sin_theta, 2.0) * cos_theta * factor_xi / ( pow((2.0 - temp), 2.0) * pow((temp * temp), (3.0 / 2.0))) - 2.0 * ellipticity_e * (inverse_aspect_ratio_epsilon * inverse_aspect_ratio_epsilon) * (r/Rmax) * pow(sin_theta, 2.0) * cos_theta * factor_xi / ( pow((2.0 - temp), 3.0) * (temp * temp)) - ellipticity_e * inverse_aspect_ratio_epsilon * pow(sin_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * inverse_aspect_ratio_epsilon * pow(cos_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * temp))) * sin(11.0 * theta) / sqrt((-pow((((-ellipticity_e) * inverse_aspect_ratio_epsilon * (r/Rmax) * pow(sin_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * cos_theta * factor_xi / ( (2.0 - temp))) * (ellipticity_e * inverse_aspect_ratio_epsilon * (r/Rmax) * sin_theta * cos_theta * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * sin_theta * factor_xi / ( (2.0 - temp))) - sin_theta * cos_theta / (temp * temp)), 2.0)) + (pow(((-ellipticity_e) * inverse_aspect_ratio_epsilon * (r/Rmax) * pow(sin_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * cos_theta * factor_xi / ( (2.0 - temp))), 2.0) + pow(sin_theta, 2.0) / (temp * temp)) * (pow((ellipticity_e * inverse_aspect_ratio_epsilon * (r/Rmax) * sin_theta * cos_theta * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * sin_theta * factor_xi / ( (2.0 - temp))), 2.0) + pow(cos_theta, 2.0) / (temp * temp))) + 27.0336 * (r/Rmax) * (0.452961672473868 - 0.348432055749129 * atan(14.4444444444444 * (r/Rmax) - 11.1111111111111)) * pow(((r/Rmax) - 1.0), 5.0) * (((-ellipticity_e) * inverse_aspect_ratio_epsilon * (r/Rmax) * pow(sin_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * cos_theta * factor_xi / ( (2.0 - temp))) * (ellipticity_e * inverse_aspect_ratio_epsilon * (r/Rmax) * sin_theta * cos_theta * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * sin_theta * factor_xi / ( (2.0 - temp))) - sin_theta * cos_theta / (temp * temp)) * sin(11.0 * theta) / sqrt((-pow((((-ellipticity_e) * inverse_aspect_ratio_epsilon * (r/Rmax) * pow(sin_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * cos_theta * factor_xi / ( (2.0 - temp))) * (ellipticity_e * inverse_aspect_ratio_epsilon * (r/Rmax) * sin_theta * cos_theta * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * sin_theta * factor_xi / ( (2.0 - temp))) - sin_theta * cos_theta / (temp * temp)), 2.0)) + (pow(((-ellipticity_e) * inverse_aspect_ratio_epsilon * (r/Rmax) * pow(sin_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * cos_theta * factor_xi / ( (2.0 - temp))), 2.0) + pow(sin_theta, 2.0) / (temp * temp)) * (pow((ellipticity_e * inverse_aspect_ratio_epsilon * (r/Rmax) * sin_theta * cos_theta * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * sin_theta * factor_xi / ( (2.0 - temp))), 2.0) + pow(cos_theta, 2.0) / (temp * temp))) + (r/Rmax) * (0.452961672473868 - 0.348432055749129 * atan(14.4444444444444 * (r/Rmax) - 11.1111111111111)) * (12.288 * (r/Rmax) * pow(((r/Rmax) - 1.0), 4.0) * cos(11.0 * theta) + 17.2032 * pow(((r/Rmax) - 1.0), 5.0) * cos(11.0 * theta)) * (pow(((-ellipticity_e) * inverse_aspect_ratio_epsilon * (r/Rmax) * pow(sin_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * cos_theta * factor_xi / ( (2.0 - temp))), 2.0) + pow(sin_theta, 2.0) / (temp * temp)) / sqrt((-pow((((-ellipticity_e) * inverse_aspect_ratio_epsilon * (r/Rmax) * pow(sin_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * cos_theta * factor_xi / ( (2.0 - temp))) * (ellipticity_e * inverse_aspect_ratio_epsilon * (r/Rmax) * sin_theta * cos_theta * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * sin_theta * factor_xi / ( (2.0 - temp))) - sin_theta * cos_theta / (temp * temp)), 2.0)) + (pow(((-ellipticity_e) * inverse_aspect_ratio_epsilon * (r/Rmax) * pow(sin_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * cos_theta * factor_xi / ( (2.0 - temp))), 2.0) + pow(sin_theta, 2.0) / (temp * temp)) * (pow((ellipticity_e * inverse_aspect_ratio_epsilon * (r/Rmax) * sin_theta * cos_theta * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * sin_theta * factor_xi / ( (2.0 - temp))), 2.0) + pow(cos_theta, 2.0) / (temp * temp))) + (r/Rmax) * (0.452961672473868 - 0.348432055749129 * atan(14.4444444444444 * (r/Rmax) - 11.1111111111111)) * (2.4576 * (r/Rmax) * pow(((r/Rmax) - 1.0), 5.0) * cos(11.0 * theta) + 2.4576 * pow(((r/Rmax) - 1.0), 6.0) * cos(11.0 * theta)) * ((-2.0) * inverse_aspect_ratio_epsilon * pow(sin_theta, 2.0) * cos_theta / pow((temp * temp), 2.0) + ((-ellipticity_e) * inverse_aspect_ratio_epsilon * (r/Rmax) * pow(sin_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * cos_theta * factor_xi / ( (2.0 - temp))) * (2.0 * ellipticity_e * (inverse_aspect_ratio_epsilon * inverse_aspect_ratio_epsilon) * (r/Rmax) * pow(sin_theta, 2.0) * cos_theta * factor_xi / ( pow((2.0 - temp), 2.0) * pow((temp * temp), (3.0 / 2.0))) - 4.0 * ellipticity_e * (inverse_aspect_ratio_epsilon * inverse_aspect_ratio_epsilon) * (r/Rmax) * pow(sin_theta, 2.0) * cos_theta * factor_xi / ( pow((2.0 - temp), 3.0) * (temp * temp)) - 2.0 * ellipticity_e * inverse_aspect_ratio_epsilon * pow(sin_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + 2.0 * ellipticity_e * inverse_aspect_ratio_epsilon * pow(cos_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * temp))) / sqrt((-pow((((-ellipticity_e) * inverse_aspect_ratio_epsilon * (r/Rmax) * pow(sin_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * cos_theta * factor_xi / ( (2.0 - temp))) * (ellipticity_e * inverse_aspect_ratio_epsilon * (r/Rmax) * sin_theta * cos_theta * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * sin_theta * factor_xi / ( (2.0 - temp))) - sin_theta * cos_theta / (temp * temp)), 2.0)) + (pow(((-ellipticity_e) * inverse_aspect_ratio_epsilon * (r/Rmax) * pow(sin_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * cos_theta * factor_xi / ( (2.0 - temp))), 2.0) + pow(sin_theta, 2.0) / (temp * temp)) * (pow((ellipticity_e * inverse_aspect_ratio_epsilon * (r/Rmax) * sin_theta * cos_theta * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * sin_theta * factor_xi / ( (2.0 - temp))), 2.0) + pow(cos_theta, 2.0) / (temp * temp))) + (r/Rmax) * (0.452961672473868 - 0.348432055749129 * atan(14.4444444444444 * (r/Rmax) - 11.1111111111111)) * (2.4576 * (r/Rmax) * pow(((r/Rmax) - 1.0), 5.0) * cos(11.0 * theta) + 2.4576 * pow(((r/Rmax) - 1.0), 6.0) * cos(11.0 * theta)) * (pow(((-ellipticity_e) * inverse_aspect_ratio_epsilon * (r/Rmax) * pow(sin_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * cos_theta * factor_xi / ( (2.0 - temp))), 2.0) + pow(sin_theta, 2.0) / (temp * temp)) * (1.0 / 2.0 * (((-ellipticity_e) * inverse_aspect_ratio_epsilon * (r/Rmax) * pow(sin_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * cos_theta * factor_xi / ( (2.0 - temp))) * (ellipticity_e * inverse_aspect_ratio_epsilon * (r/Rmax) * sin_theta * cos_theta * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * sin_theta * factor_xi / ( (2.0 - temp))) - sin_theta * cos_theta / (temp * temp)) * (4.0 * inverse_aspect_ratio_epsilon * sin_theta * pow(cos_theta, 2.0) / pow((temp * temp), 2.0) + 2.0 * ((-ellipticity_e) * inverse_aspect_ratio_epsilon * (r/Rmax) * pow(sin_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * cos_theta * factor_xi / ( (2.0 - temp))) * ((-ellipticity_e) * (inverse_aspect_ratio_epsilon * inverse_aspect_ratio_epsilon) * (r/Rmax) * sin_theta * pow(cos_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * pow((temp * temp), (3.0 / 2.0))) + 2.0 * ellipticity_e * (inverse_aspect_ratio_epsilon * inverse_aspect_ratio_epsilon) * (r/Rmax) * sin_theta * pow(cos_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 3.0) * (temp * temp)) + 2.0 * ellipticity_e * inverse_aspect_ratio_epsilon * sin_theta * cos_theta * factor_xi / ( pow((2.0 - temp), 2.0) * temp)) + 2.0 * (ellipticity_e * inverse_aspect_ratio_epsilon * (r/Rmax) * sin_theta * cos_theta * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * sin_theta * factor_xi / ( (2.0 - temp))) * (ellipticity_e * (inverse_aspect_ratio_epsilon * inverse_aspect_ratio_epsilon) * (r/Rmax) * pow(sin_theta, 2.0) * cos_theta * factor_xi / ( pow((2.0 - temp), 2.0) * pow((temp * temp), (3.0 / 2.0))) - 2.0 * ellipticity_e * (inverse_aspect_ratio_epsilon * inverse_aspect_ratio_epsilon) * (r/Rmax) * pow(sin_theta, 2.0) * cos_theta * factor_xi / ( pow((2.0 - temp), 3.0) * (temp * temp)) - ellipticity_e * inverse_aspect_ratio_epsilon * pow(sin_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * inverse_aspect_ratio_epsilon * pow(cos_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * temp))) - 1.0 / 2.0 * ((-2.0) * inverse_aspect_ratio_epsilon * pow(cos_theta, 3.0) / pow((temp * temp), 2.0) + (ellipticity_e * inverse_aspect_ratio_epsilon * (r/Rmax) * sin_theta * cos_theta * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * sin_theta * factor_xi / ( (2.0 - temp))) * ((-2.0) * ellipticity_e * (inverse_aspect_ratio_epsilon * inverse_aspect_ratio_epsilon) * (r/Rmax) * sin_theta * pow(cos_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * pow((temp * temp), (3.0 / 2.0))) + 4.0 * ellipticity_e * (inverse_aspect_ratio_epsilon * inverse_aspect_ratio_epsilon) * (r/Rmax) * sin_theta * pow(cos_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 3.0) * (temp * temp)) + 4.0 * ellipticity_e * inverse_aspect_ratio_epsilon * sin_theta * cos_theta * factor_xi / ( pow((2.0 - temp), 2.0) * temp))) * (pow(((-ellipticity_e) * inverse_aspect_ratio_epsilon * (r/Rmax) * pow(sin_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * cos_theta * factor_xi / ( (2.0 - temp))), 2.0) + pow(sin_theta, 2.0) / (temp * temp)) - 1.0 / 2.0 * ((-2.0) * inverse_aspect_ratio_epsilon * pow(sin_theta, 2.0) * cos_theta / pow((temp * temp), 2.0) + ((-ellipticity_e) * inverse_aspect_ratio_epsilon * (r/Rmax) * pow(sin_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * cos_theta * factor_xi / ( (2.0 - temp))) * (2.0 * ellipticity_e * (inverse_aspect_ratio_epsilon * inverse_aspect_ratio_epsilon) * (r/Rmax) * pow(sin_theta, 2.0) * cos_theta * factor_xi / ( pow((2.0 - temp), 2.0) * pow((temp * temp), (3.0 / 2.0))) - 4.0 * ellipticity_e * (inverse_aspect_ratio_epsilon * inverse_aspect_ratio_epsilon) * (r/Rmax) * pow(sin_theta, 2.0) * cos_theta * factor_xi / ( pow((2.0 - temp), 3.0) * (temp * temp)) - 2.0 * ellipticity_e * inverse_aspect_ratio_epsilon * pow(sin_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + 2.0 * ellipticity_e * inverse_aspect_ratio_epsilon * pow(cos_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * temp))) * (pow((ellipticity_e * inverse_aspect_ratio_epsilon * (r/Rmax) * sin_theta * cos_theta * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * sin_theta * factor_xi / ( (2.0 - temp))), 2.0) + pow(cos_theta, 2.0) / (temp * temp))) / pow(((-pow((((-ellipticity_e) * inverse_aspect_ratio_epsilon * (r/Rmax) * pow(sin_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * cos_theta * factor_xi / ( (2.0 - temp))) * (ellipticity_e * inverse_aspect_ratio_epsilon * (r/Rmax) * sin_theta * cos_theta * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * sin_theta * factor_xi / ( (2.0 - temp))) - sin_theta * cos_theta / (temp * temp)), 2.0)) + (pow(((-ellipticity_e) * inverse_aspect_ratio_epsilon * (r/Rmax) * pow(sin_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * cos_theta * factor_xi / ( (2.0 - temp))), 2.0) + pow(sin_theta, 2.0) / (temp * temp)) * (pow((ellipticity_e * inverse_aspect_ratio_epsilon * (r/Rmax) * sin_theta * cos_theta * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * sin_theta * factor_xi / ( (2.0 - temp))), 2.0) + pow(cos_theta, 2.0) / (temp * temp))), (3.0 / 2.0)) - 22.6762679055362 * (r/Rmax) * pow(((r/Rmax) - 1.0), 6.0) * (((-ellipticity_e) * inverse_aspect_ratio_epsilon * (r/Rmax) * pow(sin_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * cos_theta * factor_xi / ( (2.0 - temp))) * (ellipticity_e * inverse_aspect_ratio_epsilon * (r/Rmax) * sin_theta * cos_theta * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * sin_theta * factor_xi / ( (2.0 - temp))) - sin_theta * cos_theta / (temp * temp)) * sin(11.0 * theta) / ((208.641975308642 * pow(((r/Rmax) - 0.769230769230769), 2.0) + 1.0) * sqrt((-pow((((-ellipticity_e) * inverse_aspect_ratio_epsilon * (r/Rmax) * pow(sin_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * cos_theta * factor_xi / ( (2.0 - temp))) * (ellipticity_e * inverse_aspect_ratio_epsilon * (r/Rmax) * sin_theta * cos_theta * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * sin_theta * factor_xi / ( (2.0 - temp))) - sin_theta * cos_theta / (temp * temp)), 2.0)) + (pow(((-ellipticity_e) * inverse_aspect_ratio_epsilon * (r/Rmax) * pow(sin_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * cos_theta * factor_xi / ( (2.0 - temp))), 2.0) + pow(sin_theta, 2.0) / (temp * temp)) * (pow((ellipticity_e * inverse_aspect_ratio_epsilon * (r/Rmax) * sin_theta * cos_theta * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * sin_theta * factor_xi / ( (2.0 - temp))), 2.0) + pow(cos_theta, 2.0) / (temp * temp)))) - 5.03290747193186 * (r/Rmax) * (2.4576 * (r/Rmax) * pow(((r/Rmax) - 1.0), 5.0) * cos(11.0 * theta) + 2.4576 * pow(((r/Rmax) - 1.0), 6.0) * cos(11.0 * theta)) * (pow(((-ellipticity_e) * inverse_aspect_ratio_epsilon * (r/Rmax) * pow(sin_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * cos_theta * factor_xi / ( (2.0 - temp))), 2.0) + pow(sin_theta, 2.0) / (temp * temp)) / ((208.641975308642 * pow(((r/Rmax) - 0.769230769230769), 2.0) + 1.0) * sqrt((-pow((((-ellipticity_e) * inverse_aspect_ratio_epsilon * (r/Rmax) * pow(sin_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * cos_theta * factor_xi / ( (2.0 - temp))) * (ellipticity_e * inverse_aspect_ratio_epsilon * (r/Rmax) * sin_theta * cos_theta * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * sin_theta * factor_xi / ( (2.0 - temp))) - sin_theta * cos_theta / (temp * temp)), 2.0)) + (pow(((-ellipticity_e) * inverse_aspect_ratio_epsilon * (r/Rmax) * pow(sin_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * cos_theta * factor_xi / ( (2.0 - temp))), 2.0) + pow(sin_theta, 2.0) / (temp * temp)) * (pow((ellipticity_e * inverse_aspect_ratio_epsilon * (r/Rmax) * sin_theta * cos_theta * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * sin_theta * factor_xi / ( (2.0 - temp))), 2.0) + pow(cos_theta, 2.0) / (temp * temp)))) + 27.0336 * (0.452961672473868 - 0.348432055749129 * atan(14.4444444444444 * (r/Rmax) - 11.1111111111111)) * pow(((r/Rmax) - 1.0), 6.0) * (((-ellipticity_e) * inverse_aspect_ratio_epsilon * (r/Rmax) * pow(sin_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * cos_theta * factor_xi / ( (2.0 - temp))) * (ellipticity_e * inverse_aspect_ratio_epsilon * (r/Rmax) * sin_theta * cos_theta * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * sin_theta * factor_xi / ( (2.0 - temp))) - sin_theta * cos_theta / (temp * temp)) * sin(11.0 * theta) / sqrt((-pow((((-ellipticity_e) * inverse_aspect_ratio_epsilon * (r/Rmax) * pow(sin_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * cos_theta * factor_xi / ( (2.0 - temp))) * (ellipticity_e * inverse_aspect_ratio_epsilon * (r/Rmax) * sin_theta * cos_theta * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * sin_theta * factor_xi / ( (2.0 - temp))) - sin_theta * cos_theta / (temp * temp)), 2.0)) + (pow(((-ellipticity_e) * inverse_aspect_ratio_epsilon * (r/Rmax) * pow(sin_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * cos_theta * factor_xi / ( (2.0 - temp))), 2.0) + pow(sin_theta, 2.0) / (temp * temp)) * (pow((ellipticity_e * inverse_aspect_ratio_epsilon * (r/Rmax) * sin_theta * cos_theta * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * sin_theta * factor_xi / ( (2.0 - temp))), 2.0) + pow(cos_theta, 2.0) / (temp * temp))) - 49.5616 * (0.452961672473868 - 0.348432055749129 * atan(14.4444444444444 * (r/Rmax) - 11.1111111111111)) * pow(((r/Rmax) - 1.0), 6.0) * (pow((ellipticity_e * inverse_aspect_ratio_epsilon * (r/Rmax) * sin_theta * cos_theta * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * sin_theta * factor_xi / ( (2.0 - temp))), 2.0) + pow(cos_theta, 2.0) / (temp * temp)) * cos(11.0 * theta) / sqrt((-pow((((-ellipticity_e) * inverse_aspect_ratio_epsilon * (r/Rmax) * pow(sin_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * cos_theta * factor_xi / ( (2.0 - temp))) * (ellipticity_e * inverse_aspect_ratio_epsilon * (r/Rmax) * sin_theta * cos_theta * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * sin_theta * factor_xi / ( (2.0 - temp))) - sin_theta * cos_theta / (temp * temp)), 2.0)) + (pow(((-ellipticity_e) * inverse_aspect_ratio_epsilon * (r/Rmax) * pow(sin_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * cos_theta * factor_xi / ( (2.0 - temp))), 2.0) + pow(sin_theta, 2.0) / (temp * temp)) * (pow((ellipticity_e * inverse_aspect_ratio_epsilon * (r/Rmax) * sin_theta * cos_theta * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * sin_theta * factor_xi / ( (2.0 - temp))), 2.0) + pow(cos_theta, 2.0) / (temp * temp))) - 4.5056 * (0.452961672473868 - 0.348432055749129 * atan(14.4444444444444 * (r/Rmax) - 11.1111111111111)) * pow(((r/Rmax) - 1.0), 6.0) * (2.0 * inverse_aspect_ratio_epsilon * (r/Rmax) * sin_theta * pow(cos_theta, 2.0) / pow((temp * temp), 2.0) + (ellipticity_e * inverse_aspect_ratio_epsilon * (r/Rmax) * sin_theta * cos_theta * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * sin_theta * factor_xi / ( (2.0 - temp))) * (2.0 * ellipticity_e * (inverse_aspect_ratio_epsilon * inverse_aspect_ratio_epsilon) * ((r/Rmax) * (r/Rmax)) * pow(sin_theta, 2.0) * cos_theta * factor_xi / ( pow((2.0 - temp), 2.0) * pow((temp * temp), (3.0 / 2.0))) - 4.0 * ellipticity_e * (inverse_aspect_ratio_epsilon * inverse_aspect_ratio_epsilon) * ((r/Rmax) * (r/Rmax)) * pow(sin_theta, 2.0) * cos_theta * factor_xi / ( pow((2.0 - temp), 3.0) * (temp * temp)) - 4.0 * ellipticity_e * inverse_aspect_ratio_epsilon * (r/Rmax) * pow(sin_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + 2.0 * ellipticity_e * inverse_aspect_ratio_epsilon * (r/Rmax) * pow(cos_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + 2.0 * ellipticity_e * cos_theta * factor_xi / ( (2.0 - temp))) - 2.0 * sin_theta * cos_theta / (temp * temp)) * sin(11.0 * theta) / sqrt((-pow((((-ellipticity_e) * inverse_aspect_ratio_epsilon * (r/Rmax) * pow(sin_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * cos_theta * factor_xi / ( (2.0 - temp))) * (ellipticity_e * inverse_aspect_ratio_epsilon * (r/Rmax) * sin_theta * cos_theta * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * sin_theta * factor_xi / ( (2.0 - temp))) - sin_theta * cos_theta / (temp * temp)), 2.0)) + (pow(((-ellipticity_e) * inverse_aspect_ratio_epsilon * (r/Rmax) * pow(sin_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * cos_theta * factor_xi / ( (2.0 - temp))), 2.0) + pow(sin_theta, 2.0) / (temp * temp)) * (pow((ellipticity_e * inverse_aspect_ratio_epsilon * (r/Rmax) * sin_theta * cos_theta * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * sin_theta * factor_xi / ( (2.0 - temp))), 2.0) + pow(cos_theta, 2.0) / (temp * temp))) - 4.5056 * (0.452961672473868 - 0.348432055749129 * atan(14.4444444444444 * (r/Rmax) - 11.1111111111111)) * pow(((r/Rmax) - 1.0), 6.0) * (pow((ellipticity_e * inverse_aspect_ratio_epsilon * (r/Rmax) * sin_theta * cos_theta * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * sin_theta * factor_xi / ( (2.0 - temp))), 2.0) + pow(cos_theta, 2.0) / (temp * temp)) * (1.0 / 2.0 * (((-ellipticity_e) * inverse_aspect_ratio_epsilon * (r/Rmax) * pow(sin_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * cos_theta * factor_xi / ( (2.0 - temp))) * (ellipticity_e * inverse_aspect_ratio_epsilon * (r/Rmax) * sin_theta * cos_theta * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * sin_theta * factor_xi / ( (2.0 - temp))) - sin_theta * cos_theta / (temp * temp)) * ((-4.0) * inverse_aspect_ratio_epsilon * (r/Rmax) * pow(sin_theta, 2.0) * cos_theta / pow((temp * temp), 2.0) + 2.0 * ((-ellipticity_e) * inverse_aspect_ratio_epsilon * (r/Rmax) * pow(sin_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * cos_theta * factor_xi / ( (2.0 - temp))) * (ellipticity_e * (inverse_aspect_ratio_epsilon * inverse_aspect_ratio_epsilon) * ((r/Rmax) * (r/Rmax)) * pow(sin_theta, 2.0) * cos_theta * factor_xi / ( pow((2.0 - temp), 2.0) * pow((temp * temp), (3.0 / 2.0))) - 2.0 * ellipticity_e * (inverse_aspect_ratio_epsilon * inverse_aspect_ratio_epsilon) * ((r/Rmax) * (r/Rmax)) * pow(sin_theta, 2.0) * cos_theta * factor_xi / ( pow((2.0 - temp), 3.0) * (temp * temp)) - 2.0 * ellipticity_e * inverse_aspect_ratio_epsilon * (r/Rmax) * pow(sin_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * inverse_aspect_ratio_epsilon * (r/Rmax) * pow(cos_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * cos_theta * factor_xi / ( (2.0 - temp))) + 2.0 * (ellipticity_e * inverse_aspect_ratio_epsilon * (r/Rmax) * sin_theta * cos_theta * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * sin_theta * factor_xi / ( (2.0 - temp))) * ((-ellipticity_e) * (inverse_aspect_ratio_epsilon * inverse_aspect_ratio_epsilon) * ((r/Rmax) * (r/Rmax)) * pow(sin_theta, 3.0) * factor_xi / ( pow((2.0 - temp), 2.0) * pow((temp * temp), (3.0 / 2.0))) + 2.0 * ellipticity_e * (inverse_aspect_ratio_epsilon * inverse_aspect_ratio_epsilon) * ((r/Rmax) * (r/Rmax)) * pow(sin_theta, 3.0) * factor_xi / ( pow((2.0 - temp), 3.0) * (temp * temp)) - 3.0 * ellipticity_e * inverse_aspect_ratio_epsilon * (r/Rmax) * sin_theta * cos_theta * factor_xi / ( pow((2.0 - temp), 2.0) * temp) - ellipticity_e * sin_theta * factor_xi / ( (2.0 - temp))) + 2.0 * pow(sin_theta, 2.0) / (temp * temp) - 2.0 * pow(cos_theta, 2.0) / (temp * temp)) - 1.0 / 2.0 * (pow(((-ellipticity_e) * inverse_aspect_ratio_epsilon * (r/Rmax) * pow(sin_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * cos_theta * factor_xi / ( (2.0 - temp))), 2.0) + pow(sin_theta, 2.0) / (temp * temp)) * (2.0 * inverse_aspect_ratio_epsilon * (r/Rmax) * sin_theta * pow(cos_theta, 2.0) / pow((temp * temp), 2.0) + (ellipticity_e * inverse_aspect_ratio_epsilon * (r/Rmax) * sin_theta * cos_theta * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * sin_theta * factor_xi / ( (2.0 - temp))) * (2.0 * ellipticity_e * (inverse_aspect_ratio_epsilon * inverse_aspect_ratio_epsilon) * ((r/Rmax) * (r/Rmax)) * pow(sin_theta, 2.0) * cos_theta * factor_xi / ( pow((2.0 - temp), 2.0) * pow((temp * temp), (3.0 / 2.0))) - 4.0 * ellipticity_e * (inverse_aspect_ratio_epsilon * inverse_aspect_ratio_epsilon) * ((r/Rmax) * (r/Rmax)) * pow(sin_theta, 2.0) * cos_theta * factor_xi / ( pow((2.0 - temp), 3.0) * (temp * temp)) - 4.0 * ellipticity_e * inverse_aspect_ratio_epsilon * (r/Rmax) * pow(sin_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + 2.0 * ellipticity_e * inverse_aspect_ratio_epsilon * (r/Rmax) * pow(cos_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + 2.0 * ellipticity_e * cos_theta * factor_xi / ( (2.0 - temp))) - 2.0 * sin_theta * cos_theta / (temp * temp)) - 1.0 / 2.0 * (pow((ellipticity_e * inverse_aspect_ratio_epsilon * (r/Rmax) * sin_theta * cos_theta * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * sin_theta * factor_xi / ( (2.0 - temp))), 2.0) + pow(cos_theta, 2.0) / (temp * temp)) * (2.0 * inverse_aspect_ratio_epsilon * (r/Rmax) * pow(sin_theta, 3.0) / pow((temp * temp), 2.0) + ((-ellipticity_e) * inverse_aspect_ratio_epsilon * (r/Rmax) * pow(sin_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * cos_theta * factor_xi / ( (2.0 - temp))) * ((-2.0) * ellipticity_e * (inverse_aspect_ratio_epsilon * inverse_aspect_ratio_epsilon) * ((r/Rmax) * (r/Rmax)) * pow(sin_theta, 3.0) * factor_xi / ( pow((2.0 - temp), 2.0) * pow((temp * temp), (3.0 / 2.0))) + 4.0 * ellipticity_e * (inverse_aspect_ratio_epsilon * inverse_aspect_ratio_epsilon) * ((r/Rmax) * (r/Rmax)) * pow(sin_theta, 3.0) * factor_xi / ( pow((2.0 - temp), 3.0) * (temp * temp)) - 6.0 * ellipticity_e * inverse_aspect_ratio_epsilon * (r/Rmax) * sin_theta * cos_theta * factor_xi / ( pow((2.0 - temp), 2.0) * temp) - 2.0 * ellipticity_e * sin_theta * factor_xi / ( (2.0 - temp))) + 2.0 * sin_theta * cos_theta / (temp * temp))) * sin(11.0 * theta) / pow(((-pow((((-ellipticity_e) * inverse_aspect_ratio_epsilon * (r/Rmax) * pow(sin_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * cos_theta * factor_xi / ( (2.0 - temp))) * (ellipticity_e * inverse_aspect_ratio_epsilon * (r/Rmax) * sin_theta * cos_theta * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * sin_theta * factor_xi / ( (2.0 - temp))) - sin_theta * cos_theta / (temp * temp)), 2.0)) + (pow(((-ellipticity_e) * inverse_aspect_ratio_epsilon * (r/Rmax) * pow(sin_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * cos_theta * factor_xi / ( (2.0 - temp))), 2.0) + pow(sin_theta, 2.0) / (temp * temp)) * (pow((ellipticity_e * inverse_aspect_ratio_epsilon * (r/Rmax) * sin_theta * cos_theta * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * sin_theta * factor_xi / ( (2.0 - temp))), 2.0) + pow(cos_theta, 2.0) / (temp * temp))), (3.0 / 2.0)) - (0.452961672473868 - 0.348432055749129 * atan(14.4444444444444 * (r/Rmax) - 11.1111111111111)) * (((-ellipticity_e) * inverse_aspect_ratio_epsilon * (r/Rmax) * pow(sin_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * cos_theta * factor_xi / ( (2.0 - temp))) * (ellipticity_e * inverse_aspect_ratio_epsilon * (r/Rmax) * sin_theta * cos_theta * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * sin_theta * factor_xi / ( (2.0 - temp))) - sin_theta * cos_theta / (temp * temp)) * ((-27.0336) * (r/Rmax) * pow(((r/Rmax) - 1.0), 5.0) * sin(11.0 * theta) - 27.0336 * pow(((r/Rmax) - 1.0), 6.0) * sin(11.0 * theta)) / sqrt((-pow((((-ellipticity_e) * inverse_aspect_ratio_epsilon * (r/Rmax) * pow(sin_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * cos_theta * factor_xi / ( (2.0 - temp))) * (ellipticity_e * inverse_aspect_ratio_epsilon * (r/Rmax) * sin_theta * cos_theta * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * sin_theta * factor_xi / ( (2.0 - temp))) - sin_theta * cos_theta / (temp * temp)), 2.0)) + (pow(((-ellipticity_e) * inverse_aspect_ratio_epsilon * (r/Rmax) * pow(sin_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * cos_theta * factor_xi / ( (2.0 - temp))), 2.0) + pow(sin_theta, 2.0) / (temp * temp)) * (pow((ellipticity_e * inverse_aspect_ratio_epsilon * (r/Rmax) * sin_theta * cos_theta * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * sin_theta * factor_xi / ( (2.0 - temp))), 2.0) + pow(cos_theta, 2.0) / (temp * temp))) - (0.452961672473868 - 0.348432055749129 * atan(14.4444444444444 * (r/Rmax) - 11.1111111111111)) * (((-ellipticity_e) * inverse_aspect_ratio_epsilon * (r/Rmax) * pow(sin_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * cos_theta * factor_xi / ( (2.0 - temp))) * (ellipticity_e * inverse_aspect_ratio_epsilon * (r/Rmax) * sin_theta * cos_theta * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * sin_theta * factor_xi / ( (2.0 - temp))) - sin_theta * cos_theta / (temp * temp)) * (2.4576 * (r/Rmax) * pow(((r/Rmax) - 1.0), 5.0) * cos(11.0 * theta) + 2.4576 * pow(((r/Rmax) - 1.0), 6.0) * cos(11.0 * theta)) * (1.0 / 2.0 * (((-ellipticity_e) * inverse_aspect_ratio_epsilon * (r/Rmax) * pow(sin_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * cos_theta * factor_xi / ( (2.0 - temp))) * (ellipticity_e * inverse_aspect_ratio_epsilon * (r/Rmax) * sin_theta * cos_theta * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * sin_theta * factor_xi / ( (2.0 - temp))) - sin_theta * cos_theta / (temp * temp)) * ((-4.0) * inverse_aspect_ratio_epsilon * (r/Rmax) * pow(sin_theta, 2.0) * cos_theta / pow((temp * temp), 2.0) + 2.0 * ((-ellipticity_e) * inverse_aspect_ratio_epsilon * (r/Rmax) * pow(sin_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * cos_theta * factor_xi / ( (2.0 - temp))) * (ellipticity_e * (inverse_aspect_ratio_epsilon * inverse_aspect_ratio_epsilon) * ((r/Rmax) * (r/Rmax)) * pow(sin_theta, 2.0) * cos_theta * factor_xi / ( pow((2.0 - temp), 2.0) * pow((temp * temp), (3.0 / 2.0))) - 2.0 * ellipticity_e * (inverse_aspect_ratio_epsilon * inverse_aspect_ratio_epsilon) * ((r/Rmax) * (r/Rmax)) * pow(sin_theta, 2.0) * cos_theta * factor_xi / ( pow((2.0 - temp), 3.0) * (temp * temp)) - 2.0 * ellipticity_e * inverse_aspect_ratio_epsilon * (r/Rmax) * pow(sin_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * inverse_aspect_ratio_epsilon * (r/Rmax) * pow(cos_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * cos_theta * factor_xi / ( (2.0 - temp))) + 2.0 * (ellipticity_e * inverse_aspect_ratio_epsilon * (r/Rmax) * sin_theta * cos_theta * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * sin_theta * factor_xi / ( (2.0 - temp))) * ((-ellipticity_e) * (inverse_aspect_ratio_epsilon * inverse_aspect_ratio_epsilon) * ((r/Rmax) * (r/Rmax)) * pow(sin_theta, 3.0) * factor_xi / ( pow((2.0 - temp), 2.0) * pow((temp * temp), (3.0 / 2.0))) + 2.0 * ellipticity_e * (inverse_aspect_ratio_epsilon * inverse_aspect_ratio_epsilon) * ((r/Rmax) * (r/Rmax)) * pow(sin_theta, 3.0) * factor_xi / ( pow((2.0 - temp), 3.0) * (temp * temp)) - 3.0 * ellipticity_e * inverse_aspect_ratio_epsilon * (r/Rmax) * sin_theta * cos_theta * factor_xi / ( pow((2.0 - temp), 2.0) * temp) - ellipticity_e * sin_theta * factor_xi / ( (2.0 - temp))) + 2.0 * pow(sin_theta, 2.0) / (temp * temp) - 2.0 * pow(cos_theta, 2.0) / (temp * temp)) - 1.0 / 2.0 * (pow(((-ellipticity_e) * inverse_aspect_ratio_epsilon * (r/Rmax) * pow(sin_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * cos_theta * factor_xi / ( (2.0 - temp))), 2.0) + pow(sin_theta, 2.0) / (temp * temp)) * (2.0 * inverse_aspect_ratio_epsilon * (r/Rmax) * sin_theta * pow(cos_theta, 2.0) / pow((temp * temp), 2.0) + (ellipticity_e * inverse_aspect_ratio_epsilon * (r/Rmax) * sin_theta * cos_theta * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * sin_theta * factor_xi / ( (2.0 - temp))) * (2.0 * ellipticity_e * (inverse_aspect_ratio_epsilon * inverse_aspect_ratio_epsilon) * ((r/Rmax) * (r/Rmax)) * pow(sin_theta, 2.0) * cos_theta * factor_xi / ( pow((2.0 - temp), 2.0) * pow((temp * temp), (3.0 / 2.0))) - 4.0 * ellipticity_e * (inverse_aspect_ratio_epsilon * inverse_aspect_ratio_epsilon) * ((r/Rmax) * (r/Rmax)) * pow(sin_theta, 2.0) * cos_theta * factor_xi / ( pow((2.0 - temp), 3.0) * (temp * temp)) - 4.0 * ellipticity_e * inverse_aspect_ratio_epsilon * (r/Rmax) * pow(sin_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + 2.0 * ellipticity_e * inverse_aspect_ratio_epsilon * (r/Rmax) * pow(cos_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + 2.0 * ellipticity_e * cos_theta * factor_xi / ( (2.0 - temp))) - 2.0 * sin_theta * cos_theta / (temp * temp)) - 1.0 / 2.0 * (pow((ellipticity_e * inverse_aspect_ratio_epsilon * (r/Rmax) * sin_theta * cos_theta * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * sin_theta * factor_xi / ( (2.0 - temp))), 2.0) + pow(cos_theta, 2.0) / (temp * temp)) * (2.0 * inverse_aspect_ratio_epsilon * (r/Rmax) * pow(sin_theta, 3.0) / pow((temp * temp), 2.0) + ((-ellipticity_e) * inverse_aspect_ratio_epsilon * (r/Rmax) * pow(sin_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * cos_theta * factor_xi / ( (2.0 - temp))) * ((-2.0) * ellipticity_e * (inverse_aspect_ratio_epsilon * inverse_aspect_ratio_epsilon) * ((r/Rmax) * (r/Rmax)) * pow(sin_theta, 3.0) * factor_xi / ( pow((2.0 - temp), 2.0) * pow((temp * temp), (3.0 / 2.0))) + 4.0 * ellipticity_e * (inverse_aspect_ratio_epsilon * inverse_aspect_ratio_epsilon) * ((r/Rmax) * (r/Rmax)) * pow(sin_theta, 3.0) * factor_xi / ( pow((2.0 - temp), 3.0) * (temp * temp)) - 6.0 * ellipticity_e * inverse_aspect_ratio_epsilon * (r/Rmax) * sin_theta * cos_theta * factor_xi / ( pow((2.0 - temp), 2.0) * temp) - 2.0 * ellipticity_e * sin_theta * factor_xi / ( (2.0 - temp))) + 2.0 * sin_theta * cos_theta / (temp * temp))) / pow(((-pow((((-ellipticity_e) * inverse_aspect_ratio_epsilon * (r/Rmax) * pow(sin_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * cos_theta * factor_xi / ( (2.0 - temp))) * (ellipticity_e * inverse_aspect_ratio_epsilon * (r/Rmax) * sin_theta * cos_theta * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * sin_theta * factor_xi / ( (2.0 - temp))) - sin_theta * cos_theta / (temp * temp)), 2.0)) + (pow(((-ellipticity_e) * inverse_aspect_ratio_epsilon * (r/Rmax) * pow(sin_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * cos_theta * factor_xi / ( (2.0 - temp))), 2.0) + pow(sin_theta, 2.0) / (temp * temp)) * (pow((ellipticity_e * inverse_aspect_ratio_epsilon * (r/Rmax) * sin_theta * cos_theta * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * sin_theta * factor_xi / ( (2.0 - temp))), 2.0) + pow(cos_theta, 2.0) / (temp * temp))), (3.0 / 2.0)) + 6.0 * (0.452961672473868 - 0.348432055749129 * atan(14.4444444444444 * (r/Rmax) - 11.1111111111111)) * (2.4576 * (r/Rmax) * pow(((r/Rmax) - 1.0), 5.0) * cos(11.0 * theta) + 2.4576 * pow(((r/Rmax) - 1.0), 6.0) * cos(11.0 * theta)) * (pow(((-ellipticity_e) * inverse_aspect_ratio_epsilon * (r/Rmax) * pow(sin_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * cos_theta * factor_xi / ( (2.0 - temp))), 2.0) + pow(sin_theta, 2.0) / (temp * temp)) / sqrt((-pow((((-ellipticity_e) * inverse_aspect_ratio_epsilon * (r/Rmax) * pow(sin_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * cos_theta * factor_xi / ( (2.0 - temp))) * (ellipticity_e * inverse_aspect_ratio_epsilon * (r/Rmax) * sin_theta * cos_theta * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * sin_theta * factor_xi / ( (2.0 - temp))) - sin_theta * cos_theta / (temp * temp)), 2.0)) + (pow(((-ellipticity_e) * inverse_aspect_ratio_epsilon * (r/Rmax) * pow(sin_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * cos_theta * factor_xi / ( (2.0 - temp))), 2.0) + pow(sin_theta, 2.0) / (temp * temp)) * (pow((ellipticity_e * inverse_aspect_ratio_epsilon * (r/Rmax) * sin_theta * cos_theta * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * sin_theta * factor_xi / ( (2.0 - temp))), 2.0) + pow(cos_theta, 2.0) / (temp * temp))) - (0.452961672473868 - 0.348432055749129 * atan(14.4444444444444 * (r/Rmax) - 11.1111111111111)) * (2.4576 * (r/Rmax) * pow(((r/Rmax) - 1.0), 5.0) * cos(11.0 * theta) + 2.4576 * pow(((r/Rmax) - 1.0), 6.0) * cos(11.0 * theta)) * ((-2.0) * inverse_aspect_ratio_epsilon * (r/Rmax) * pow(sin_theta, 2.0) * cos_theta / pow((temp * temp), 2.0) + ((-ellipticity_e) * inverse_aspect_ratio_epsilon * (r/Rmax) * pow(sin_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * cos_theta * factor_xi / ( (2.0 - temp))) * (ellipticity_e * (inverse_aspect_ratio_epsilon * inverse_aspect_ratio_epsilon) * ((r/Rmax) * (r/Rmax)) * pow(sin_theta, 2.0) * cos_theta * factor_xi / ( pow((2.0 - temp), 2.0) * pow((temp * temp), (3.0 / 2.0))) - 2.0 * ellipticity_e * (inverse_aspect_ratio_epsilon * inverse_aspect_ratio_epsilon) * ((r/Rmax) * (r/Rmax)) * pow(sin_theta, 2.0) * cos_theta * factor_xi / ( pow((2.0 - temp), 3.0) * (temp * temp)) - 2.0 * ellipticity_e * inverse_aspect_ratio_epsilon * (r/Rmax) * pow(sin_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * inverse_aspect_ratio_epsilon * (r/Rmax) * pow(cos_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * cos_theta * factor_xi / ( (2.0 - temp))) + (ellipticity_e * inverse_aspect_ratio_epsilon * (r/Rmax) * sin_theta * cos_theta * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * sin_theta * factor_xi / ( (2.0 - temp))) * ((-ellipticity_e) * (inverse_aspect_ratio_epsilon * inverse_aspect_ratio_epsilon) * ((r/Rmax) * (r/Rmax)) * pow(sin_theta, 3.0) * factor_xi / ( pow((2.0 - temp), 2.0) * pow((temp * temp), (3.0 / 2.0))) + 2.0 * ellipticity_e * (inverse_aspect_ratio_epsilon * inverse_aspect_ratio_epsilon) * ((r/Rmax) * (r/Rmax)) * pow(sin_theta, 3.0) * factor_xi / ( pow((2.0 - temp), 3.0) * (temp * temp)) - 3.0 * ellipticity_e * inverse_aspect_ratio_epsilon * (r/Rmax) * sin_theta * cos_theta * factor_xi / ( pow((2.0 - temp), 2.0) * temp) - ellipticity_e * sin_theta * factor_xi / ( (2.0 - temp))) + pow(sin_theta, 2.0) / (temp * temp) - pow(cos_theta, 2.0) / (temp * temp)) / sqrt((-pow((((-ellipticity_e) * inverse_aspect_ratio_epsilon * (r/Rmax) * pow(sin_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * cos_theta * factor_xi / ( (2.0 - temp))) * (ellipticity_e * inverse_aspect_ratio_epsilon * (r/Rmax) * sin_theta * cos_theta * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * sin_theta * factor_xi / ( (2.0 - temp))) - sin_theta * cos_theta / (temp * temp)), 2.0)) + (pow(((-ellipticity_e) * inverse_aspect_ratio_epsilon * (r/Rmax) * pow(sin_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * cos_theta * factor_xi / ( (2.0 - temp))), 2.0) + pow(sin_theta, 2.0) / (temp * temp)) * (pow((ellipticity_e * inverse_aspect_ratio_epsilon * (r/Rmax) * sin_theta * cos_theta * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * sin_theta * factor_xi / ( (2.0 - temp))), 2.0) + pow(cos_theta, 2.0) / (temp * temp)))) / sqrt((-pow((((-ellipticity_e) * inverse_aspect_ratio_epsilon * (r/Rmax) * pow(sin_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * cos_theta * factor_xi / ( (2.0 - temp))) * (ellipticity_e * inverse_aspect_ratio_epsilon * (r/Rmax) * sin_theta * cos_theta * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * sin_theta * factor_xi / ( (2.0 - temp))) - sin_theta * cos_theta / (temp * temp)), 2.0)) + (pow(((-ellipticity_e) * inverse_aspect_ratio_epsilon * (r/Rmax) * pow(sin_theta, 2.0) * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * cos_theta * factor_xi / ( (2.0 - temp))), 2.0) + pow(sin_theta, 2.0) / (temp * temp)) * (pow((ellipticity_e * inverse_aspect_ratio_epsilon * (r/Rmax) * sin_theta * cos_theta * factor_xi / ( pow((2.0 - temp), 2.0) * temp) + ellipticity_e * sin_theta * factor_xi / ( (2.0 - temp))), 2.0) + pow(cos_theta, 2.0) / (temp * temp))); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As runtime polymorphism might not be a possibility, this is one hard-coded test case?
Merge Request - GuideLine Checklist
Guideline to check code before resolve WIP and approval, respectively.
As many checkboxes as possible should be ticked.
Checks by code author:
Always to be checked:
If functions were changed or functionality was added:
If new functionality was added:
If new third party software is used:
If new mathematical methods or epidemiological terms are used:
[ ] The following questions are addressed in the documentation (if need be):
Developers (what did you do?, how can it be maintained?)
For users (how to use your work?)
For admins (how to install and configure your work?)
For documentation: Please write or update the Readme in the current working directory!
Checks by code reviewer(s):