-
Notifications
You must be signed in to change notification settings - Fork 35
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
new feature 'overset grids' #186
Conversation
include/exadg/functions_and_boundary_conditions/interface_coupling.h
Outdated
Show resolved
Hide resolved
539183c
to
41769fa
Compare
Nice, some domain-decomposition method! The next step would be to compute the traditional Schwarz setup: union of rectangle and circle. That was one of the first tests of RPE. I'll try to take a look at the PR later today. |
Yes, I already thought of this setup, did not realize it so far since some functionality is missing. Can you point me to that test case? Is it part of deal.II? I need functionality like |
This is the test: https://github.com/dealii/dealii/blob/master/tests/remote_point_evaluation/vector_tools_evaluate_at_points_02.cc Not very nice. What I do is to only check if the quadrature points are inside of the domain or not. |
I do not find the place where you check whether the q-points are inside the other triangulation. Does this happen inside RemotePointEvaluation? For me the code looks like you are collecting all points on the boundary, do the evaluation, and set constraints for all the points afterwards? |
Yes. If the point is not found in the other domain, the value has its default value (0.0). |
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.
Looks good to me!
Does this mean that you impose a constraint with a value of 0.0 for faces that are not found? This would be restrictive since one might want to impose other inhomogeneous boundary conditions for those faces that are outside the other tria. |
…ult value for template parameter n_components
i would merge once the checks completed |
This PR introduces the feature of overset grids by the example of the
Poisson
module. Two domains overlap and ExaDG's interface coupling functionality is used to couple the two domains via Dirichlet BCs. A very simple outer iteration is currently used to obtain convergence for the coupled problem.This PR is currently a draft, since several aspects have been encountered which first need to be generalized in ExaDG. Here is a list of main points:InterfaceCoupling
/FunctionCached
does currently not work for scalar quantities. -> see commit 69a89d8Hence, I set up a vectorial Poisson problem. However, I had to deactivate the error calculation inPoisson::Postprocessor
since this seems to work only for scalar problems. <\del>MultigridPreconditionerBase
) does not take into account Dirichlet cached BCs. In case all boundary conditions are of typeDirichletCached
, multigrid even crashes. It is remarkable that multigrid seems to work if we have bothDirichlet
andDirichletCached
BCs (as in some FSI examples). This is a bug. -> See PR take DirichletCached BCs into account for multigrid setup #188.InterfaceCoupling
needs to be generalized in case that the two domains do not touch each other along a boundary, but intersect each other (->marked_vertices
and setup ofInterfaceCoupling
needs to be generalized). -> See PR improve robustness of InterfaceCoupling regarding marked_vertices #187 as a first remedy.Example: Scalar Poisson problem with constant right-hand side, homogeneous DBC's, DirichletCachedBC's at the overlapping boundaries: Domain1 = [0,1]^2; Domain2 = [0.5, 1.5] x [0, 1]. -> overlap from x_1 = 0.5 to 1.0.
Solution after initialization with zero
and after 1, 2, 3 iterations (visually converged after 3 iterations).