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

Expand mesh deformation plugin diffusion to spherical model geometries #6208

Open
anne-glerum opened this issue Jan 21, 2025 · 0 comments
Open

Comments

@anne-glerum
Copy link
Contributor

At the moment, the mesh deformation plugin diffusion is only applicable to cartesian box geometries. However, we think it can be very useful for spherical models with a free surface as well.

For a 2D, cartesian ASPECT mesh, the plugin solves a 1D PDE of topography h(t,x). It does this by 1) taking the accumulated mesh deformation in the vertical direction as the current h, 2) projecting the shape function gradients onto the tangent space of the mesh surface, and 3) only assemblying the RHS and the matrix for the y-component of the DOFs.

After a discussion with @gassmoeller and @bangerth, I tried to generalize the cartesian case by 1) setting normal constraints on the deformation, and 2) assemblying all x and y terms of the equation. However, I realized this is not what we want: we do not want deformation in the normal direction of the surface - this normal changes over time and per surface element. We want deformation only in the vertical direction (i.e., the gravity direction). The image below shows the mesh for the hill_diffusion_field_boundary_conditions.prm test for 1) mainline ASPECT, 2) adding the compute_normal_flux_constraints, and 3) assembling for both the x and y-direction, resp.

Image

I find it hard to wrap my head around another way of doing the spherical diffusion. I've tried projecting the shape function gradients to the plane normal to the vertical direction and vice versa to take the mesh deformation in the normal direction instead of the vertical direction. None of the different combinations give the mainline results though. I also can't think of a way to cancel out contributations to the horizontal direction without explicitely not assemblying them. Do you have an idea?

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

No branches or pull requests

1 participant