[Getdp] computing q from V

Christophe Geuzaine geuzaine at acm.caltech.edu
Sat Jul 6 01:34:12 CEST 2002


"ghather at uclink.berkeley.edu" wrote:
> 
> I'm doing an electrostatics problem where after I linearly compute the voltage v everywhere, I would like to determine the bound charge from the second order nonliner polarization and use it for a second computation.  I define
> 
> Function{
>   epsr[die] = 10;
>   epsr[air] = 1;
>   q2[inside] = (1/100000)*Div[3*CompX[$1]*CompX[$1] + 2.5*CompY[$1]*CompY[$1] + 4*CompY[$1]*CompY[$1]];
> }
> 
> Then I use q2 in a galerkin term in another calculation.
> 
>   Equation{
>     Galerkin{[epsr[]*Dof{Grad u}, {Grad v}]; In inside; Jacobian jac1; Integration int1;}
>     //Galerkin{[q[], {v}]; In inside; Jacobian jac1; Integration int1;}
>     Galerkin{[Dof{Grad u2}, {Grad v2}]; In inside; Jacobian jac1; Integration int1;}
>     Galerkin{[q2[{Grad v}], {v2}]; In inside; Jacobian jac1; Integration int1;}
>   }}
> 
> Resolution{
>   {Name eres;
>   System{
>     {Name esyst; NameOfFormulation electroform;}
>   }
>   Operation{
>     Generate[esyst]; Solve[esyst];
>     Generate[esyst]; Solve[esyst];
>     SaveSolution[esyst];
>   }}
> }
> 
> The compiler doesn't understand what Div means here.  What should I do?
> 

Yep, you can only apply differential operators to discrete quantities,
inside a '{}' construct (and there is no Div[] function implemented in
getdp). I'll think about it.

Christophe

-- 
Christophe Geuzaine

Tel: (626) 395-4552    http://www.geuz.org
Fax: (626) 578-0124    mailto:geuzaine at acm.caltech.edu