[Getdp] Resolution with a parameter

Christophe Geuzaine cgeuzaine at ulg.ac.be
Thu Aug 13 18:26:47 CEST 2015


You should simply impose the total current (including the induced currents) as a global quantity. See

  http://www.geuz.org/getdp/doc/texinfo/getdp.html#Magnetodynamic-problem

for a complete example (cf. the "Current_2D" constraint).


> On 13 Aug 2015, at 16:47, Peter Kis <md2z34 at gmail.com> wrote:
> 
> Dear Frederic, 
> 
> my final goal is to calculate the current (I = int_coil(js - sigma[]*Dt[{Aphi})) at every time instance and update the current density in order to achieve a certain current value. 
> 
> Regarding your suggestion, is it possible to define such constraint which depends on the solution (Aphi)?
> 
> Best Regards
> 
> Peter 
> 
> On Thu, Aug 13, 2015 at 4:40 PM, Frederic Trillaud Pighi <ftrillaudp at pumas.iingen.unam.mx> wrote:
> Dear Peter,
> 
> You may adjust your TimeFunction to your need in the constraint. It is interpolated during the resolution.
> 
> Best,
> 
> Frederic 
> 
>> On Aug 13, 2015, at 9:34 AM, Peter Kis <md2z34 at gmail.com> wrote:
>> 
>> Dear List Members,
>> 
>> I'm just wondering if it's possible to scale the current density from the time iteration loop. 
>> 
>> Here I introduced a parameter current_factor, 
>> 
>> Function{ 
>>     ......
>>     current_factor = 1.; 
>> } 
>> 
>> which appears in the formulation as a scaling factor for the current density:
>> 
>> Formulation{ // OK 
>>   {Name VectorPotentialFormulation; Type FemEquation; 
>>    Quantity{ 
>>      {Name Aphi; Type Local; NameOfSpace Afs;} 
>>      {Name js; Type Local; NameOfSpace jfs;} 
>>    } 
>>    Equation{ 
>>     Galerkin{ [1/mu0*Dof{Curl Aphi},{Curl Aphi}]; 
>>       In Omega; Jacobian JVol; Integration I1;} 
>>  
>>     Galerkin{ DtDof[sigma[]*Dof{Aphi},{Aphi}]; 
>>       In Omega; Jacobian JVol; Integration I1;} 
>>  
>>     Galerkin{ [-current_factor*Dof{js},{Aphi}]; 
>>       In Omega_coil; Jacobian JVol; Integration I1;} 
>>     } 
>>   } 
>> } 
>> 
>> and I'd like to update this parameter during the time iteration:
>> 
>> Resolution{ 
>>   {Name Solution; 
>>     System{ 
>>       {Name Syst; NameOfFormulation VectorPotentialFormulation;} 
>>     } 
>>     Operation{ 
>>         InitSolution[Syst];SaveSolution[Syst]; 
>>         TimeLoopTheta[t0,tmax,dt,theta] {
>>             current_factor = 1/1.7;  // This has no effect!!
>>             Generate[Syst]; Solve[Syst]; SaveSolution[Syst]; 
>>         } 
>>     } 
>>   } 
>> }
>> 
>> but this has no impact on the solution. Apparently the value of current_vector is still considered one as it's defined in Functions. 
>> 
>> Is there any way to update this parameter from the time loop? 
>> 
>> Thanks for your help in advance.
>> 
>> 
>> Peter
>> 
>> _______________________________________________
>> getdp mailing list
>> getdp at geuz.org
>> http://www.geuz.org/mailman/listinfo/getdp
> 
> 
> _______________________________________________
> getdp mailing list
> getdp at geuz.org
> http://www.geuz.org/mailman/listinfo/getdp

-- 
Prof. Christophe Geuzaine
University of Liege, Electrical Engineering and Computer Science 
http://www.montefiore.ulg.ac.be/~geuzaine