[Getdp] Complex -> time step coupling : cannot access to real part of field (bug ?)
Gilles Vogt
vogtgilles at gmail.com
Wed Mar 25 16:03:59 CET 2015
I just noticed this email in the mailing list:
http://www.geuz.org/pipermail/getdp/2001/000231.html
However, using
Galerkin { [ -sigma[]*SquNorm[Dt[{a}]+{ur}] , {t} ];
In Omega_c2; Integration CurlCurl; Jacobian Vol; }
obviously does not work either since getdp returns the error "Missing
solution for time derivative computation" for my thermal problem.
I don't know if that should work with complex values though.
Best regards
--
Gilles VOGT
2015-03-20 15:49 GMT+01:00 Gilles Vogt <vogtgilles at gmail.com>:
> I did not find a clear solution, but using GmshRead is a good workaround
> for this problem. I solve the magnetic problem, post-process it, then load
> the ohmic losses map as volumetric power in the dynamic thermal simulation.
>
> However, the issue is not solved per se : I think it might be an issue for
> real magneto-thermal problems (where the permeability is a function of
> temperature).
>
> Best regards,
>
> --
> Gilles VOGT
> Ingénieur généraliste de l'École Centrale de Lille, docteur en génie
> électrique
> +33 (0)6 25 98 72 02
>
> 2015-03-20 11:53 GMT+01:00 Gilles Vogt <vogtgilles at gmail.com>:
>
>> Hi,
>>
>> I am still working on induction heating 2D coupled problems. My input
>> file is written at the end of this email. As you can see, I solve in
>> complex values the magnetic problem, and use the power from induced
>> currents as heating power.
>> The power is calculated from this code :
>> -sigma[]*((Re[{ur}]-Im[w*{a}])*(Re[{ur}]-Im[w*{a}]) +
>> (Im[{ur}]+Re[w*{a}])*(Im[{ur}]+Re[w*{a}]))
>> Where ur is the scalar electric potential, w=2*pi*f, a the magnetic
>> vector potential.
>> It outputs the correct value when post-processed inside a "NameOfFormulation
>> Magnetodynamics_av_2D" section. However, when post-processed inside a "NameOfFormulation
>> Thermics" section, it outputs only the power from imaginary currents.
>>
>> A full model is attached to this email. You can check that :
>> therm_OhmicL and therm_OhmicL2 give the same results
>> therm_qv gives different results (the formula is the same as
>> therm_OhmicL2 but within the coupled problem).
>>
>> I have been able to confirm that this problem also occurs while solving
>> the problem (the input power is only relative to the imaginary part of
>> currents), and not only in post-pro.
>>
>> My guess is : in the time-step model, real and imaginary part of the
>> complex fields are seen as t0 and t1 steps, and only t1 is considered.
>>
>> I hope someone can confirm the issue, or give me a workaround.
>>
>> Best regards,
>>
>>
>> Here is my .pro file :
>> Formulation {
>> { Name Magnetodynamics_av_2D; Type FemEquation;
>> Quantity {
>> { Name a ; Type Local ; NameOfSpace Hcurl_a_Mag_2D; }
>> { Name ur; Type Local ; NameOfSpace Hregion_u_Mag_2D; }
>> { Name I ; Type Global; NameOfSpace Hregion_u_Mag_2D [I]; }
>> { Name U ; Type Global; NameOfSpace Hregion_u_Mag_2D [U]; }
>> { Name js; Type Local ; NameOfSpace Hregion_j_Mag_2D; }
>> }
>> Equation {
>> Galerkin { [ nu[{d a}] * Dof{d a} , {d a} ]; In Domain_Mag;
>> Jacobian Vol; Integration CurlCurl; }
>>
>> Galerkin { JacNL [ dhdb_NL[{d a}] * Dof{d a} , {d a} ] ;
>> In DomainNL ; Jacobian Vol ; Integration I1 ; }
>>
>> Galerkin { DtDof [ sigma[] * Dof{a} , {a} ]; In DomainC_Mag;
>> Jacobian Vol; Integration CurlCurl; }
>>
>> Galerkin { [ sigma[] * Dof{ur} , {a} ]; In DomainC_Mag;
>> Jacobian Vol; Integration CurlCurl; }
>>
>> Galerkin { [ - Dof{js} , {a} ]; In DomainS_Mag;
>> Jacobian Vol;
>> Integration CurlCurl; }
>>
>> Galerkin { DtDof [ sigma[] * Dof{a} , {ur} ]; In DomainC_Mag;
>> Jacobian Vol; Integration CurlCurl; }
>> Galerkin { [ sigma[] * Dof{ur} , {ur} ]; In DomainC_Mag;
>> Jacobian Vol; Integration CurlCurl; }
>> // GlobalTerm { [ Dof{I} , {U} ]; In DomainC_Mag; }
>> }
>> }
>>
>>
>> { Name TheDyn; Type FemEquation;
>> Quantity {
>> { Name t; Type Local; NameOfSpace Hgrad_T; }
>> { Name a ; Type Local ; NameOfSpace Hcurl_a_Mag_2D; }
>> { Name ur; Type Local ; NameOfSpace Hregion_u_Mag_2D; }
>> }
>> Equation {
>> Galerkin { [ lambda[] * Dof{d t} , {d t} ]; In Omega_c; Integration
>> CurlCurl; Jacobian Vol; }
>>
>> Galerkin { DtDof [ rho[]*c[] * Dof{t} , {t} ]; In Omega_c;
>> Integration CurlCurl; Jacobian Vol; }
>>
>> Galerkin { [ -sigma[]*((Re[{ur}]-Im[w*{a}])*(Re[{ur}]-Im[w*{a}]) +
>> (Im[{ur}]+Re[w*{a}])*(Im[{ur}]+Re[w*{a}])) , {t} ];
>> In Omega_c2; Integration CurlCurl; Jacobian Vol; }
>>
>> Galerkin { [ -qVol[] , {t} ];
>> In DomainS_Mag; Integration CurlCurl; Jacobian Vol; }
>>
>> Galerkin { [ hS[]*Dof{t} , {t} ] ;In BdExt; Jacobian Sur ;
>> Integration CurlCurl ; }
>>
>> Galerkin { [ -hS[]*AmbT[] , {t} ] ; In BdExt ; Jacobian Sur ;
>> Integration CurlCurl ; }
>> }
>> }
>> }
>>
>> Resolution {
>> { Name TheDyn;
>> System {
>> { Name T; NameOfFormulation TheDyn; }
>> { Name B; NameOfFormulation Magnetodynamics_av_2D;
>> Type ComplexValue; Frequency Freq;}
>> }
>> Operation {
>> InitSolution[B];
>> IterativeLoop[Nb_max_iter, stop_criterion,
>> relaxation_factor]{GenerateJac[B] ; SolveJac[B] ;}
>> SaveSolution[B];
>> InitSolution[T]; SaveSolution[T];
>> TimeLoopTheta[time0t, time1t, dtimet, theta] {
>> Generate[T]; Solve[T];
>> SaveSolution[T];
>> }
>> }
>> }
>>
>> }
>>
>> --
>> Gilles VOGT
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.geuz.org/pipermail/getdp/attachments/20150325/c4cf153a/attachment.html>