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

Mesh deformation with GMG not working #5489

Open
alarshi opened this issue Nov 13, 2023 · 2 comments
Open

Mesh deformation with GMG not working #5489

alarshi opened this issue Nov 13, 2023 · 2 comments

Comments

@alarshi
Copy link
Contributor

alarshi commented Nov 13, 2023

When we use spherical geometry with imposed topography using the mesh deformation plugin and GMG solver, we get the following error in deal.II. On the other hand, box geometry with GMG and mesh deformation works okay.

--------------------------------------------------------
An error occurred in line <760> of file </home/arushi/opt/tmp/unpack/deal.II-v9.5.1/include/deal.II/lac/affine_constraints.templates.h> in function
    void dealii::AffineConstraints<number>::close() [with number = double]
The violated condition was: 
    dof_index != constrained_line.entries[i].first
Additional information: 
    Cycle in constraints detected!

Stacktrace:
-----------
#0  /home/arushi/opt/deal.II-v9.5.1/lib/libdeal_II.g.so.9.5.1: dealii::AffineConstraints<double>::close()
#1  /home/arushi/opt/deal.II-v9.5.1/lib/libdeal_II.g.so.9.5.1: dealii::AffineConstraints<double>::merge(dealii::AffineConstraints<double> const&, dealii::AffineConstraints<double>::MergeConflictBehavior, bool)
#2  /home/arushi/opt/aspect-main/build/aspect: dealii::MGConstrainedDoFs::add_user_constraints(unsigned int, dealii::AffineConstraints<double> const&)
#3  /home/arushi/opt/aspect-main/build/aspect: aspect::MeshDeformation::MeshDeformationHandler<2>::compute_mesh_displacements_gmg()
#4  /home/arushi/opt/aspect-main/build/aspect: aspect::MeshDeformation::MeshDeformationHandler<2>::execute()
#5  /home/arushi/opt/aspect-main/build/aspect: aspect::Simulator<2>::solve_timestep()
#6  /home/arushi/opt/aspect-main/build/aspect: aspect::Simulator<2>::run()
#7  /home/arushi/opt/aspect-main/build/aspect: void run_simulator<2>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool, bool, bool)
#8  /home/arushi/opt/aspect-main/build/aspect: main
--------------------------------------------------------

I am testing with this parameter file : spherical_mesh_deformation_gmg.txt
input_1deg_topography.txt

@tjhei
Copy link
Member

tjhei commented Nov 13, 2023

Can you check if
https://github.com/geodynamics/aspect/blob/12bb3bf746c448a23941bf5def5e46970cf06a45/source/mesh_deformation/interface.cc#L1070C36-L1070C36 sould use tangential_mesh_deformation_boundary_indicators instead of asking the boundary_velocity_manager? (maybe print the two sets and check if they are different in this case)

@alarshi
Copy link
Contributor Author

alarshi commented Nov 13, 2023

In this test, tangential_mesh_deformation_boundary_indicators only outputs the inner boundary while boundary_velocity_manager includes both the inner and the outer boundaries.
I get the same error message as before with the tangential_mesh_deformation_boundary_indicators.

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

2 participants