-
Notifications
You must be signed in to change notification settings - Fork 25
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
Cylindrical and spherical versions of derived quantities #723
Comments
This is going to be very useful, I'm planning to help soon |
@gabriele-ferrero If you wanna do the TotalVolume and TotalSurface ones I can do the Average ones |
@jhdark @gabriele-ferrero I "assigned" you to this issue. Let me know if you need help and if you want to have this in 1.3 |
I suppose, |
@rekomodo is having a go at implementing the remaining classes |
Following what was done in #689 we need an implementation of the cylindrical and spherical versions of
2D axisymmetric
In 2D axisymmetric, the surface element ds is
ds = r dr dtheta or ds = r dz dtheta
In both cases, in fenics integrating a function f is
assemble(f * r * ds)
where r is the radius.dV = r dr dtheta dz
Integrating a function f in fenics is therefore
assemble(f * r * dx)
where r is the radius.1D spherical
The surface element in 1D spherical is:
dS_r = r^2 sin(theta) dtheta dphi
The integral of f on a spherical surface is therefore
integral(f dS_r) = integral(f r^2 sin(theta) dtheta dphi)
= (phi2 - phi1) * (-cos(theta2) + cos(theta1)) * f r^2
The volume element is
dV = r^2 sin(theta) dr dtheta dphi
the integral of f on a spherical volume is therefore
integral(f dV) = (phi2 - phi1) * (-cos(theta2) + cos(theta1)) * integral(f r^2 dr)
phi is the polar angle and theta is the azimuthal angle
The text was updated successfully, but these errors were encountered: