gridap / gridap/Gridap.jl

Applying a Dirac Neumann BC on a variable lying on a boundary part in a multifield problem

Open
#913 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Julia
Stars
879
Forks
119
Avg merge
6d 3h
Merged PRs (30d)
4

Description

Here is the description of the problem

I consider a (normalized with no physical unit) electrical ohmic problem on a square with uniform conductivity such that the top line is made of a very high conductive material (infinite conductivity on a thickness tending to 0 such that the product conductivity by thickness is finite ). Thus the top line can be considered as a "lineic material" with its own potential field which is related to the potential of the same point in the square by a linear relationship existing between the local normal flux and the local difference of potentials. In addition I consider a Dirichlet boundary condition at the bottom line and an injection point (Neumann Dirac) at the top left point. At this point there are two choices of injection since two material points coincide on the same node (one of the lineic material and one of the bulk material)

1. If the Dirac is applied on the bulk material there is no problem (except an error message "MultiFieldFEFunction():ERROR: AssertionError: A check failed") which does not seem to hinder the calculation).
2. If the Dirac is applied on the lineic variablen then the following error is raised

> ERROR: AssertionError:

> Your are trying to integrate a CellField using a CellQuadrature defined on incompatible
> triangulations. Verify that either the two objects are defined in the same triangulation
> or that the triangulaiton of the CellField is the background triangulation of the CellQuadrature.

This problem is mathematically well-posed and correctly solved by other tools but I have problems to make it work with Gridap.

I attach an example (in .jl.txt to be renamed in .jl).

[test_multi_dirac.jl.txt](https://github.com/gridap/Gridap.jl/files/11926548/test_multi_dirac.jl.txt)

Contributor guide

Open the contributing guide

Research direction

Start with the attached test_multi_dirac.jl.txt example, renaming it to .jl as described, and reproduce the assertion when applying the Neumann Dirac to the lineic variable. Read the multifield and boundary-condition paths involved in that run. Done means the example executes without the incompatible-triangulation assertion and preserves the intended result.

Written by the indexing model from the issue text.

Assessment

Tech stack
julia
Domain
backend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.