[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/