[Getdp] Nonlinear E-J
Peter Kis
md2z34 at gmail.com
Thu Aug 20 17:26:32 CEST 2015
Hi getDP users,
I am about to implement a single turn coil with nonlinear sigma using AV
formalism for the coil region and A formalism for the surrounding air
domain.
I use a global term to prescribe the total current in the eddy current
domain, which works like a charm for the linear case, while the time
iteration is done with the DtDof{} operator. When I replace that term with
a manual implementation of the backward Euler and put that into the
equation, it becomes divergent even for constant sigma.
I followed Michael's instructions to implement Picard iteration:
http://www.geuz.org/pipermail/getdp/2012/001533.html
But using Picard iteration for the nonlinear problem is my final goal. Now
I just want to make the linear case work with manual backward Euler.
The symptoms are the following despite using constant sigma:
1. the vector potential I get is slightly different from the DtDof{}
case, but not too much
2. the gradV becomes much larger by one order of magnitude
3. the total current, which is imposed by global terms reaches 1700 A
and it should be 100 A
These are formulations:
Formulation{
{Name AV_lin; Type FemEquation;
Quantity{
{Name Aphi; Type Local; NameOfSpace Afs;}
{Name gradV; Type Local; NameOfSpace gradVfs;}
{Name I; Type Global; NameOfSpace gradVfs [I]; }
{Name U; Type Global; NameOfSpace gradVfs [U]; }
}
Equation{
Galerkin{ [1/mu0*Dof{Curl Aphi},{Curl Aphi}];
In Omega; Jacobian JVol; Integration I1;}
Galerkin{ DtDof[sigma_lin[]*Dof{Aphi},{Aphi}];
In Omega_coil; Jacobian JVol; Integration I1;}
Galerkin{ [sigma_lin[]*Dof{gradV},{Aphi}];
In Omega_coil; Jacobian JVol; Integration I1;}
Galerkin{ DtDof[sigma_lin[]*Dof{Aphi},{gradV}];
In Omega_coil; Jacobian JVol; Integration I1;}
Galerkin{ [sigma_lin[]*Dof{gradV},{gradV}];
In Omega_coil; Jacobian JVol; Integration I1;}
GlobalTerm { [ Dof{I} , {U} ]; In Omega_coil; }
}
}
{Name AV_Picard; Type FemEquation;
Quantity{
{Name Aphi; Type Local; NameOfSpace Afs;}
{Name gradV; Type Local; NameOfSpace gradVfs;}
{Name Aphipast; Type Local; NameOfSpace Apastfs;}
{Name gradVpast; Type Local; NameOfSpace gradVpastfs;}
{Name I; Type Global; NameOfSpace gradVfs [I]; }
{Name U; Type Global; NameOfSpace gradVfs [U]; }
}
Equation{
Galerkin{ [1/mu0*Dof{Curl Aphi},{Curl Aphi}];
In Omega; Jacobian JVol; Integration I1;}
Galerkin{ [(sigma_lin[]*Dof{Aphi} -
sigma_lin[]*{Aphipast})/$DTime,{Aphi}];
In Omega_coil; Jacobian JVol; Integration I1;}
Galerkin{ [sigma_lin[]*Dof{gradV},{Aphi}];
In Omega_coil; Jacobian JVol; Integration I1;}
Galerkin{ [(sigma_lin[]*Dof{Aphi} -
sigma_lin[]*{Aphipast})/$DTime,{gradV}];
In Omega_coil; Jacobian JVol; Integration I1;}
Galerkin{ [sigma_lin[]*Dof{gradV},{gradV}];
In Omega_coil; Jacobian JVol; Integration I1;}
GlobalTerm { [ Dof{I} , {U} ]; In Omega_coil; }
}
}}
Could you take a look at my code? Maybe you can spot something.
Thank for your help in advance.
Best Regards
Peter
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.geuz.org/pipermail/getdp/attachments/20150820/bd303ba9/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: coil.geo
Type: application/octet-stream
Size: 2102 bytes
Desc: not available
URL: <http://www.geuz.org/pipermail/getdp/attachments/20150820/bd303ba9/attachment-0002.geo>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: coil.pro
Type: application/octet-stream
Size: 14456 bytes
Desc: not available
URL: <http://www.geuz.org/pipermail/getdp/attachments/20150820/bd303ba9/attachment-0001.pro>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: param.geo
Type: application/octet-stream
Size: 301 bytes
Desc: not available
URL: <http://www.geuz.org/pipermail/getdp/attachments/20150820/bd303ba9/attachment-0003.geo>