[Getdp] 3D Laplace equation with Neumann and Dirichlet boundary conditions

gilles quemener quemener at lpccaen.in2p3.fr
Fri Oct 17 11:42:39 CEST 2014


Hello, 

Currently I am trying to solve Laplace equation in 3D with both some Neumann and Dirichlet boundary conditions 
on different parts of the problem domain. This domain consists in an outer cube with a cubic hole at centre 
(see attached file Laplace3D.geo). 
The problem to be solved is the following : 

- div(grad(u) = 0 in Omega 

with both the following BC: 
1) Dirichlet BC: 
u = 0 on GammaOuter 

2) Neumann BC: 
\partial u / \partial normal = grad(u).normal = (gbx, gby, gbz).(normalX, normalY, normalZ) on GammaInner 

where: 
GammaOuter = Outer cube surface 
GammaInner = Inner cube surface 
Omega = volume limited by these two surfaces 

I tried to modify Onelab examples for 2D Laplace equations as shown at http://onelab.info/wiki/Category:GetDP. 
I have some known functions of space coordinates X[], Y[] and Z[] and of an order norder (=3 e.g.) for gbx[], gby[] 
and gbz[]. 
As I do not know how to access the normal components (normalX, normalY and normalZ) within GetDP and as 
my geometry is quite simple, I divided both GammerOuter and GammaInner into 6 individual Physical Surfaces: 
top, bottom, left, right, front and back faces for each cube. There the normal vectors are known and I can therefore 
write the Neumann boundary conditions on each face see the (Weak) Formulation space in the attached file 
Laplace3D.pro. Note: how to proceed for more complicated surfaces is still a mystery to me but this is not my current 
problem ! 

Gmsh (command: gmsh Laplace3D.geo -3) does its works and provides me with a 3D mesh of the domain of interest. 
GetDP (command: getdp Laplace3D.pro -solve -pos) runs and outputs files, but solved potentials are null everywhere ! 

Does anyone have some clue on what I am doing wrong in this formulation ? I tried to solve the same problem 
using FreeFem++ (see atached files Laplace-cube-cube.edp and MeshSurface.idp) and got results making some sense. 
But I would prefer much more to solve it in Gmsh/GetDP as Gmsh is so powerful for postprocessing data. 

Thanks a lot for any help, 

Gilles 


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.geuz.org/pipermail/getdp/attachments/20141017/6de68926/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Laplace-cube-cube.edp
Type: application/octet-stream
Size: 11044 bytes
Desc: not available
URL: <http://www.geuz.org/pipermail/getdp/attachments/20141017/6de68926/attachment.edp>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: MeshSurface.idp
Type: application/octet-stream
Size: 4250 bytes
Desc: not available
URL: <http://www.geuz.org/pipermail/getdp/attachments/20141017/6de68926/attachment.idp>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Laplace3D.geo
Type: text/x-csrc
Size: 5200 bytes
Desc: not available
URL: <http://www.geuz.org/pipermail/getdp/attachments/20141017/6de68926/attachment.geo>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Laplace3D.pro
Type: text/x-csrc
Size: 11933 bytes
Desc: not available
URL: <http://www.geuz.org/pipermail/getdp/attachments/20141017/6de68926/attachment.pro>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: param.geo
Type: text/x-csrc
Size: 870 bytes
Desc: not available
URL: <http://www.geuz.org/pipermail/getdp/attachments/20141017/6de68926/attachment-0001.geo>