[Getdp] Timestepping rotating geometries

Kristof Geldhof kristof.geldhof at ugent.be
Tue Jun 14 15:24:40 CEST 2005


Hello,

I am trying to calculate the magnetic field patterns in a rotating 
switched reluctance motor. My first goal is to calculate phase 
inductances for a given phase current and different rotor positions. 
Therefore I make use of the TimeLoopTheta routine. At each time step the 
rotor (mesh) is being rotated over a fixed angle, the airgap is being 
remeshed, and a static (linear) finite element calculation is made. The 
data I'm interested in is then written into a file by calling the 
'PostOperation' part (see code below).

I have following problems:

1. If I call the PostOperation part directly from the TimeLoopTheta 
routine I get an error 'incompatible time' at the second time step. The 
error does not occur when I perform the postprocessing after the 
calculation using the resolution file.
2. Calling the PostOperation part from the TimeLoopTheta routine I get a 
series of views in the gmsh user interface. These views correctly 
respresent the different rotor positions and magnetic flux patterns. 
However, combining these views by clicking 'combine - Time steps - by 
view name' does not work properly: it seems as if the rotor mesh is not 
being rotated when clicking through the different time steps.
3. Trying to create timestepping views by performing the PostOperation 
after the calculation (using the resolution file) doesn't work either.

How do I solve these problems?

I also noticed a few small bugs in the Gmsh version I use (Gmsh 1.60.1 
under Suse Linux 9.2). First of all, suppose there are two different 
views open (for instance 'az' and 'one') and I want to change properties 
of the second view ('one)'. After clicking 'apply' in the view options 
window the views both get the same name 'one'...

Another strange thing is that when I load postprocessing views the 
original geometry disappears, so I have to reload it again every time. 
Is there some option that can be set to prevent the original geometry 
from disappearing?

Thanks in advance for any help,
Kristof Geldhof



Function
{
  RR[]            = Vector[Cos[($1*180/Pi)#1]#2 *$X- Sin[#1]#3*$Y, 
#3*$X+#2*$Y, $Z] ;
  TotalAngle = 90;
  StepAngle  = 1;
}

Vector potential formulation with imposed current:
      Galerkin { [ nu[{d a}] * Dof{d a} , {d a} ]; In Domain;
                 Jacobian Vol; Integration CurlCurl; }
      Galerkin { [ - Dof{j} , {a} ]; In Cond;
                 Jacobian Vol; Integration CurlCurl; }

Operation {
    InitSolution[MagRes];
    Init_MovingBand2D{MB};
    TimeLoopTheta [0,TotalAngle,StepAngle,1]
    {
        Generate[MagRes];
        Solve[MagRes];
        SaveSolution[MagRes];
        ChangeOfCoordinates [NodesOf[Rotor], RR[StepAngle*($TimeStep)]];
        Mesh_MovingBand2D{MB};
        PostOperation [ Map ];
    }
}

Postprocessing:
      { Name az;
        Value {
          Local { [ CompZ[{a}] ]; In Domain; Jacobian Vol; }
// vector potential
        }
      }
      { Name az_int;
        Value {
          Integral { [ CompZ[{a}] ]; In Cond; Integration CurlCurl; 
Jacobian Vol; }
// mean vector potential in  the conductor, used for calculating phase 
inductance
        }
      }
      { Name one;
        Value {
          Local { [1.] ; In RotorYoke; Jacobian Vol; }
// used to visualise the rotating rotor in the gmsh window
        }
      }

PostOperation:
    Print[ az, OnElementsOf Domain, File "az" ];
    Print[ az_int[Cond], OnRegion Cond, File "az_int" ];
    Print[ one, OnElementsOf Domain, File "rotor" ] ;

-- 
ir. Kristof Geldhof
Electrical Energy Laboratory (EELAB)
Dept. of Electrical Energy, Systems and Automation (EESA)
Ghent University (TW08)
Sint-Pietersnieuwstraat 41, B-9000 Ghent - Belgium
Phone: +32 9 264 34 42, Fax.: +32 9 264 35 82
kristof.geldhof at ugent.be
http://www.eesa.ugent.be/