[Getdp] Neumann boundary condition

Bernhard Kubicek bernhard.kubicek at arsenal.ac.at
Tue Mar 25 11:24:38 CET 2008


Honestly, I am kind of in a hurry at the moment, and could not catch the
complete nature of the problem. But in the ThermalProblem Wiki-Example, 
http://geuz.org/getdp/wiki/ThermalProblem
there are Galerkin Terms for the Heatflow boundary condition (a constant
flow of heat on a physical surface).
This kind of helped me with my potential calculations that have a total
current as boundary condition.

Equation {
//Diffusion
      Galerkin { [ k[] * Dof{d T} , {d T} ]; 
                 In Vol_The; Integration I1; Jacobian JVol;  }

//Time dependence
      Galerkin { Dt [ rhoc[] * Dof{T} , {T} ]; 
                 In Vol_The; Integration I1; Jacobian JVol;  }
//Volumetric heat source
      Galerkin { [ -qVol[] , {T} ]; 
                 In Vol_The; Integration I1; Jacobian JVol;  }

//constant Flow from a surface
      Galerkin { [ -Flux[] , {T} ]; // - sign for incoming flux
                 In Sur_The; Integration I1; Jacobian JSur;  }

//cooling at a surface to an constant temperature outside wall
      Galerkin { [ h[] * Dof{T} , {T} ] ; 
                 In SurConv_The ; Integration I1; Jacobian JSur;  }

      Galerkin { [ -h[] * TConv[] , {T} ] ;
                 In SurConv_The ; Integration I1; Jacobian JSur;  }

//Radiation cooling on a surface, but forces multiple solves, due to the non-possible Dof and nonlinearities.
      Galerkin { [ hr[{T}] * (({T}+273.)^4-(TConv[]+273.)^4) , {T} ] ; 
                 In SurRad_The ; Integration I1; Jacobian JSur;  }

Maybe this helps somehow,
very nice greetings, 
bernhard,


On Thu, 2008-03-20 at 17:10 -0700, Tammo.Heeren at AlconLabs.com wrote:
> Hi Luis,
> 
> Thank you for your response and the code. I am working my way through it
> to understand it.
> Here is what I understand so far, please correct me if I am wrong.
> 
> ---
> 1. Galerkin { [ Dof{d u} , {d u} ] ; In OMEGA ; Jacobian Vol ;
> Integration Int ; }
> 2. Galerkin { [ -f[] , {u} ] ; In OMEGA ; Jacobian Vol ; Integration Int
> ; }
> 3. Galerkin { [ -g[] , {u} ] ; In GAMMA ; Jacobian Sur ; Integration Int
> ; }
> 4. Galerkin { [ Dof{u} , {uo} ] ; In OMEGA ; Jacobian Vol ; Integration
> Int ; }
> 5. Galerkin { [ Dof{uo} , {uo} ] ; In OMEGA ; Jacobian Vol ; Integration
> Int ; }
> ---
> 
> - GAMMA is a line surrounding surface OMEGA. Both are in domain DOMAIN.
> - I assume that GAMMA and OMEGA share nodes
> - div( grad(u) ) - f = 0 in OMEGA
> - f is defined in DOMAIN, though I suppose you only have to define it in
> OMEGA
> - u is defined in DOMAIN as a Form0 FunctionSpace 
> - grad(u) comes for the Form0 FunctionSpace and the {d u} in the second
> part of the Galerkin
> - div(...) stems from the {d u} in the first part of the Galerkin
> - the -f comes from the second Galerkin term  
> 
> I don't understand where
> > \frac{\partial u}{\partial n} = g in \Gamma
> comes from.
> 
> - if GAMMA and OMEGA share nodes, than the Galerkin terms 1 and 2 are
> also valid in GAMMA
> - then have div( grad(u) ) - f - g = 0 in GAMMA
> 
> I am also a little fuzzy about Galerkin terms 4 and 5.
> - I assume that Galerkin 4. simply copies the function space u onto uo
> - u is defined as Form0 and uo is defined as Scalar (where is the
> difference?)
> - does Galerkin 5. then simply copy uo onto itself?
> 
> If anybody else can contribute some inside, I would be happy to hear it.
> 
> Gruesse,
> 
> Tammo
> 
> ---
> FunctionSpace {
>     { Name FSU ; Type Form0 ;
>         BasisFunction {
>             { Name sn ; NameOfCoef un ; Function BF_Node ;
>             Support DOMAIN ; Entity NodesOf[ All ] ; }
>         }
>         Constraint {
>         }
>     }
>     { Name FSU0 ; Type Scalar ;
>         BasisFunction {
>             { Name so ; NameOfCoef uo ; Function BF_Region ;
>             Support OMEGA ; Entity OMEGA ; }
>         }
>         Constraint {
>         }
>     }
> }
> 
> Formulation {
>     { Name Uform ; Type FemEquation ;
>         Quantity {
>             { Name u; Type Local;  NameOfSpace FSU; }
>             { Name uo; Type Local;  NameOfSpace FSU0; }
>         }
>         Equation {
>                 // div( grad( u ) ) = f in Omega (Surface)
>                 Galerkin { [ Dof{d u} , {d u} ] ; In OMEGA ; Jacobian
> Vol ; Integration Int ; }
>                 Galerkin { [ -f[] , {u} ] ; In OMEGA ; Jacobian Vol ;
> Integration Int ; }
>                 Galerkin { [ -g[] , {u} ] ; In GAMMA ; Jacobian Sur ;
> Integration Int ; }
>                 Galerkin { [ Dof{u} , {uo} ] ; In OMEGA ; Jacobian Vol ;
> Integration Int ; }
>                 Galerkin { [ Dof{uo} , {uo} ] ; In OMEGA ; Jacobian Vol
> ; Integration Int ; }
>         }
>     }
> }
> ---
> 
> 
> This e-mail (including any attachments) is confidential and may be legally privileged. If you are not an intended recipient or an authorized representative of an intended recipient, you are prohibited from using, copying or distributing the information in this e-mail or its attachments. If you have received this e-mail in error, please notify the sender immediately by return e-mail and delete all copies of this message and any attachments.
> Thank you.
> 
> _______________________________________________
> getdp mailing list
> getdp at geuz.org
> http://www.geuz.org/mailman/listinfo/getdp