<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html;
      charset=windows-1252">
  </head>
  <body>
    <p><font size="+1" face="Times New Roman, Times, serif">Hello
        Théodore,</font><font size="+1" face="Times New Roman, Times,
        serif"><br>
      </font></p>
    <p><font size="+1" face="Times New Roman, Times, serif">I started to
        collect information on the moving band I found in the electric
        machine examples and the getDp/gmsh archives (sometimes it's
        just a copy of a forum contribution or of a comment in the
        examples). Maybe this is helpful. Comments are welcome.<br>
      </font></p>
    <p><font size="+1" face="Times New Roman, Times, serif">Regards,</font><font
        size="+1" face="Times New Roman, Times, serif"> <br>
        Alexander </font><br>
    </p>
    <font face="Times New Roman, Times, serif"><br>
      <font size="+1">/* Creates Moving Band geometry for models
        containing a single pole<br>
         *<br>
         * The following variables must exist in the workspace:<br>
         * lineMBstator ...  line between stator airgap and moving band<br>
         * lineMBrotor  ...  line between rotor airgap and moving band<br>
         * p ... total number of pole pairs<br>
         * lineMBstatorAux[] ... moving band lines<br>
         * 2019/07/24 A. Kreim */<br>
        <br>
//------------------------------------------------------------------------------<br>
        // Moving Band (information)<br>
/*<f1>-----------------------------------------------------------------------*/<br>
        /*  The explanations are limited to rotating electric machines.<br>
        *  The moving band is the interface between stator (fixed) and
        rotor (moving).<br>
        *  In theory a layer of elements are placed in the middle of the
        airgap<br>
        * (moving band) [1]. Due to the rotation of the rotor the
        elements are distorted.<br>
        *  If the distortion is large enough the moving band will be
        remeshed.<br>
        *<br>
        *  The definition of the moving band requires several steps in
        the geo (gmsh)<br>
        *  and pro (getDp) files.<br>
        *<br>
        *  The airgap is split into three parts:<br>
        *  - stator airgap<br>
        *  - rotor airgap<br>
        *  - moving band between stator and rotor airgap<br>
        *<br>
        *  The following information are collected from example files
        (machine models [2])<br>
        *  and the getDp archive:<br>
        *<br>
        *  It is assumed that gmsh and getDp are used.<br>
        *<br>
        * The explanations are based on a four pole machine with one
        pole in the model<br>
        * (which is only an example, other configurations are possible)<br>
        *<br>
        *                              -----------------*<br>
        *                              | stator           |<br>
        *                              -----------------*<br>
        *                              | stator airgap |<br>
        *                              -----------------* <= stator
        moving band lines (one pole)<br>
        *                          moving band region (no mesh)<br>
        *
        -----------------*-----------------*-----------------*-----------------*
        <= rotor moving band lines (all poles)<br>
        *      aux 3        | rotor airgap   |      aux 1            aux
        2<br>
        *                       -----------------*<br>
        *                       | rotor             |<br>
        *                       -----------------*<br>
        *<br>
        *  The moving band is defined in the getDp group object:<br>
        *  MB = MovingBand2D[MovingBand_PhysicalNb, Stator_Bnd_MB,
        Rotor_Bnd_MB, SymmetryFactor] ;<br>
        *<br>
        *  MovingBand_PhysicalNb (defined in getDp Group object):<br>
        *    'MovingBand_PhysicalNb' needs to contain exactly one
        region.<br>
        *    This region is assigned to the moving band.<br>
        *    The region is a dummy region since it is not defined in the
        mesh<br>
        *    created by gmsh.<br>
        *    Typically:  MovingBand_PhysicalNb = Region[0] ;<br>
        *<br>
        *  Stator_Bnd_MB (defined in getDp Group object)<br>
        *    is a Region defined by physical lines.<br>
        *    The Region contains all lines in the model which are at the
        interface of the<br>
        *    stator airgap and the moving band. If for example one pole
        is modelled the<br>
        *    Region Stator_Bnd_MB typically consists of one line.<br>
        *<br>
        *  Rotor_Bnd_MB (defined in getDp Group object)<br>
        *    Similar to Stator_Bnd_MB is Rotor_Bnd_MB a region defined
        by physical lines.<br>
        *    Even if not all poles are  modelled, the lines must define
        the<br>
        *    boundary between the rotor airgap and the moving band for
        the<br>
        *    complete electric machine (all poles). The corresponding
        lines are created<br>
        *    in gmsh and are for example called rotor_moving_band (line
        inside the<br>
        *    one pole modell) and rotor_moving_band_aux_x (lines outside
        the one pole model,<br>
        *    x is a number e.g. x=  1..3).<br>
        *    All lines are collected in the Rotor_Bnd_MB region.<br>
        *    To apply periodic constraints on the moving band there must
        be also a Region<br>
        *    for each line (e.g. rotor_moving_band       => Region
        Rotor_Bnd_MB_1,<br>
        *                        rotor_moving_band_aux_1 => Region
        Rotor_Bnd_MB_AUX_1,<br>
        *                        rotor_moving_band_aux_2 => Region
        Rotor_Bnd_MB_AUX_2,<br>
        *                        rotor_moving_band_aux_3 => Region
        Rotor_Bnd_MB_AUX_3)<br>
        *<br>
        *  SymmetryFactor (could for example be defined by a onelab
        parameter)<br>
        *    SymmetryFactor is the number of poles of the complete
        machine divided by<br>
        *    the number of poles in the model<br>
        *    SymmetryFactor = NbrPolesTot/NbrPolesInModel ;<br>
        *    For a four pole machine:<br>
        *    SymmetryFactor = 1 -> the complete machine is modeled<br>
        *    SymmetryFactor = 2 -> half of the machine is modeled<br>
        *    SymmetryFactor = 4 -> one pole is modeled<br>
        *<br>
        *  Meshing:<br>
        *     The user has to define the number of elements on the
        interface lines<br>
        *     rotor_moving_band, stator_moving_band and
        rotor_moving_band_aux.<br>
        *     This number must be the same for all lines. This can be
        achieved by<br>
        *     using the transfinite line command in gmsh.<br>
        *<br>
        *  Constraints:<br>
        *     The following has to be done in the getDp constraints
        object:<br>
        *     ? The degrees of freedom of the moving band line elements
        outside the<br>
        *     model area has to be linked to the degrees of freedom
        inside the one pole<br>
        *     rotor model. ? TODO<br>
        *<br>
        *  The following commands has to be inserted in the getDp object
        Resolution<br>
        *   InitMovingBand2D[MB]<br>
        *     No explanation - TODO<br>
        *   MeshMovingBand2D[MB]<br>
        *     Mesh operation. the moving band itself is not meshed by
        the user. This is<br>
        *     done during the getDp resolution process.<br>
        *<br>
        *  from getDp archieve ("Torque and force calculation based on
        Virtual Work prinzip")<br>
        *  InitMovingBand2D [MB], initialises the structures of the
        Moving Band.<br>
        *  MeshMovingBand2D[MB], does the actual mesh between the
        indicated limiting lines<br>
        *<br>
        *  Change of Coordinates - TODO<br>
        *  ChangeOfCoordinates[NodesOf[Region to rotate],
        transformation]<br>
        *<br>
        *  Limitations:<br>
        *  - The moving band tool in GetDP works with first-order
        triangular elements only<br>
        *  - limited to 2D<br>
        *<br>
        * References<br>
        * [1] N.Sadowski: FINITE ELEMENT TORQUE CALCULATION IN
        ELECTRICAL MACHINES WHILE<br>
        *                 CONSIDERING THE MOWEMENT, IEEE TRANSACTIONS ON
        MAGNETICS,<br>
        *                 VOL. 28, N0.2, MARCH 1992, p. 1410 - p. 1413<br>
        * [2] Onelab: Machine modells pmsm_data.geo pmsm.geo
        pmsm_rotor.geo<br>
        *             pmsm_stator.geo pmsm.pro, available on
        <a class="moz-txt-link-abbreviated" href="http://www.onelab.info">www.onelab.info</a> */<br>
      </font></font>
    <p><font face="Times New Roman, Times, serif"><font size="+1">/*</f1>*/</font></font></p>
    <p><font face="Times New Roman, Times, serif"><font size="+1"><br>
        </font></font></p>
    <div class="moz-cite-prefix">Am 27.11.20 um 18:44 schrieb Théodore
      CHERRIÈRE:<br>
    </div>
    <blockquote type="cite"
cite="mid:20201127184426.Horde.mHtazpzB9DgcOi1aqRoe2w6@webmail.ens-paris-saclay.fr">
      <meta http-equiv="Content-Type" content="text/html;
        charset=windows-1252">
      <title></title>
      <div>Dear GetDP users,</div>
      <div> </div>
      <div>I'm new to OneLab, and I'm trying to calculate the average
        torque of electric machines. I wrote my own .pro file for this
        after following the tutorials, it works but it is quite slow.
        For example I couldn't reuse the last iteration solution to
        initialize the Newton-Raphson solver ; and I simulate the motion
        with hand-made periodic boundary conditions while there are far
        better existing implementations like the moving band.</div>
      <div><br>
        I took a look at the dedicated template, but I didn't find any
        documentation to run it from scratch. I especially want to
        understand how to use the moving band implementation. Can
        someone help me please?</div>
      <div> </div>
      <div>Best regards,</div>
      <div><span style="color: rgb(0, 119, 139); font-family: Helvetica,
          Arial; background-color: rgb(255, 255, 255); font-size: 12pt;">Théodore
          CHERRIÈRE</span><span style="color: rgb(0, 119, 139);
          font-family: Helvetica, Arial; font-size: 12px;
          background-color: rgb(255, 255, 255);"> </span><span
          class="nd" style="color: rgb(0, 119, 139); font-family:
          Helvetica, Arial; background-color: rgb(255, 255, 255);
          font-size: 17px;"> |<i><font size="2">  Doctorant </font></i></span><br
          class="nd" style="color: rgb(0, 119, 139); font-family:
          Helvetica, Arial; font-size: 12px; background-color: rgb(255,
          255, 255);">
        <span style="color: rgb(0, 119, 139); font-family: Helvetica,
          Arial; font-size: 12px; background-color: rgb(255, 255, 255);">Département
          EEA - </span><span style="color: rgb(0, 119, 139);
          font-family: Helvetica, Arial; font-size: 12px;
          background-color: rgb(255, 255, 255);">Laboratoire SATIE,
          UMR8029</span><br>
        <span style="color: rgb(0, 119, 139); font-family: Helvetica,
          Arial; font-size: 12px; background-color: rgb(255, 255, 255);">Pôle
          CSEE - groupe de recherche SETE</span><br style="color: rgb(0,
          119, 139); font-family: Helvetica, Arial; font-size: 12px;
          background-color: rgb(255, 255, 255);">
        <a href="tel:+33642398382" style="font-family: Helvetica, Arial;
          font-size: 12px; background-color: rgb(255, 255, 255); color:
          rgb(0, 119, 139); text-decoration-line: none;"
          moz-do-not-send="true"><span class="nl">+33(0)6 42 39 83 82 </span></a><br
          class="nd" style="color: rgb(0, 119, 139); font-family:
          Helvetica, Arial; font-size: 12px; background-color: rgb(255,
          255, 255);">
        <span class="nl" style="color: rgb(0, 119, 139); font-family:
          Helvetica, Arial; font-size: 9pt; background-color: rgb(255,
          255, 255);"><a
href="geo:///?q=%204%20Avenue%20des%20Sciences%20Gif-sur-Yvette%20France"
            style="color: rgb(0, 119, 139); text-decoration-line: none;"
            target="_blank" moz-do-not-send="true"><span class="nl">ENS
              Paris-Saclay</span><span class="nd"> - </span><span
              class="nl">4 avenue des sciences 91190 Gif-sur-Yvette</span></a><br
            class="nd">
          <span style="font-size: 12pt; line-height: 24px;"><a
              href="http://www.ens-paris-saclay.fr/" style="color:
              rgb(0, 119, 139); text-decoration-line: none;"
              target="_blank" moz-do-not-send="true">www.ens-paris-saclay.fr</a></span></span></div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <pre class="moz-quote-pre" wrap="">_______________________________________________
getdp mailing list
<a class="moz-txt-link-abbreviated" href="mailto:getdp@onelab.info">getdp@onelab.info</a>
<a class="moz-txt-link-freetext" href="http://onelab.info/mailman/listinfo/getdp">http://onelab.info/mailman/listinfo/getdp</a>
</pre>
    </blockquote>
  </body>
</html>