gridap / gridap/Gridap.jl

Extraction of Neumann boundary

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

Description

Hello all,

My Problem is: I want to calculate both dirichlet-to-neumann maps and neumann-to-dirichlet maps.
However I fail to reconstruct the values of the neumann boundary from the solution.
If you guys know how the problem gets the neumann boundary in the first place, maybe you can give the hint on how to extract a neumann boundary properly.
Basically for defining Neumann boundary conditions I do something like this:
```julia
Ω = Triangulation(mesh)
dΩ = Measure(Ω,2)
Γ = BoundaryTriangulation(mesh, tags= "boundary" )
dΓ = Measure(Γ,2)
# Weak problem:
a(u, v) = ∫( γ * ∇(v) ⋅ ∇(u) )dΩ
l(v) = ∫( b * v )dΓ #here it gets the Neumann condition
```
But there is no extract neumann boundary function.
And sofar all my experiments on extracting it have failed. My input differs from my output.
Like this:
![image](https://github.com/gridap/Gridap.jl/assets/71269893/889e65f9-e196-4a7e-84c0-a81aa5a5e34d)

I know how to calculate the gradient at a given point, but I don't know exactly how the "normal" vector for each boundary point is calculated.

Contributor guide

Open the contributing guide

Research direction

Start with the BoundaryTriangulation and Measure calls in the Julia example, then review how the weak problem's boundary term handles the Neumann condition. Investigate how boundary normals and gradient values are represented. Done would require a documented, reproducible way to recover Neumann boundary values, but the issue names no file or test.

Written by the indexing model from the issue text.

Assessment

Tech stack
julia
Domain
backend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.