Skip to content
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

Open
4 tasks
RemDelaporteMathurin opened this issue Mar 27, 2024 · 5 comments
Open
4 tasks
Assignees
Labels
enhancement New feature or request
Milestone

Comments

@RemDelaporteMathurin
Copy link
Collaborator

RemDelaporteMathurin commented Mar 27, 2024

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

@RemDelaporteMathurin RemDelaporteMathurin added the enhancement New feature or request label Mar 27, 2024
@RemDelaporteMathurin RemDelaporteMathurin added this to the v1.3 milestone Mar 27, 2024
@RemDelaporteMathurin RemDelaporteMathurin removed this from the v1.3 milestone Jul 23, 2024
@gabriele-ferrero
Copy link
Contributor

This is going to be very useful, I'm planning to help soon

@jhdark
Copy link
Collaborator

jhdark commented Jul 25, 2024

@gabriele-ferrero If you wanna do the TotalVolume and TotalSurface ones I can do the Average ones

@RemDelaporteMathurin
Copy link
Collaborator Author

@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

@KulaginVladimir
Copy link
Collaborator

I suppose, HydrogenFlux and ThermalFlux also require cylindrical/spherical versions.

@RemDelaporteMathurin
Copy link
Collaborator Author

@rekomodo is having a go at implementing the remaining classes

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants