[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