Announcement

Collapse
No announcement yet.

Announcement

Collapse
No announcement yet.

Minelab 8000

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Hi all,

    now added multi path definition feature. A coil can consist of several individual parts.
    Move, scale and rotate on section is also implemented.

    Dilatation and contraction of wire path referred to its reference is also important.
    I have maybe implemented 50 % of the required features.

    Comment


    • Dilatation and contraction is very important as a coil bundle can't be really realised with scale only commands.
      And I am also thinking of cubic spline interpolation feature for coils. A better coil geometry and accuracy can be realised.

      Oh man!, it is more than 34 years ago I have done cubic spline interpolations (in the exam!).
      This might be a good job for AI coding...

      Comment


      • Yep, I really need 3d-cubic spline interpolation. This is a must-have feature.
        We can model complex fusion reactor coil​ arrangements with it..

        There we have the next evolution and slight changes:
        I have to distinguish between a wire path (physically existing wires, implemented in the current version) and a geometric path (which does not create any wires). From the geometric path definition, I can create the smooth wire path finally.

        Let me think of it further.
        Thinking. Changing. Implementing. Testing.

        Comment


        • WTF, how to contract and dilatate a path?

          I have finally found the implementation of the dilatation and contraction algorithm part (already implemented in 2024).
          This is beeing used for magnetic flux calculation of the single wire element.
          dir = 0: calculate magnetic flux up to the center axis of wire element
          dir = 1: up to the outside of the wire element (dilatation)
          dir =-1: up to the inside the wire element (contraction)
          pLeiter->LeiterR is the dilatation/contraction distance (wire radius in this case).

          I think, I can reuse the code section.

          Code:
                // 2024 neu: Winkelabhängigkeit wird berücksichtigt
                //
                VEKTOR _dse, _R1e, _R2e;
                double a1, a2, tan2a1, tan2a2, rx1, rx2;
          
                VekCopy(_dse, pLeiter->ds);
                EinheitsVektor(_dse);
          
                VekCopy(_R1e, _R1);
                EinheitsVektor(_R1e);
          
                VekCopy(_R2e, _R2);
                EinheitsVektor(_R2e);
          
                a1 = _PI_H - acos(-SkalarProdukt(_R1e, _dse));
                a2 = _PI_H - acos( SkalarProdukt(_R2e, _dse));
                tan2a1 = tan(a1);
                tan2a1 *= tan2a1;
          
                tan2a2 = tan(a2);
                tan2a2 *= tan2a2;
          
                rx1 = pLeiter->LeiterR * sqrt(1.0 + tan2a1);
                rx2 = pLeiter->LeiterR * sqrt(1.0 + tan2a2);
          
                VekAddSkalarMul(_R1, _R1, rx1*dir, _R1e);
                VekAddSkalarMul(_R2, _R2, rx2*dir, _R2e);
          ​

          Don't ask me what I have did. I don't know anymore.
          But it speeds up the implementation.

          AI totally sucks! It can't do it.

          Comment


          • Well ok,

            dilatation/contraction of a path needs a more accurate solution.

            This elliptical coil is done with duplicate scale modifier. Note, that the bundle thickness scales too.
            Click image for larger version

Name:	Elliptic-Scale.png
Views:	0
Size:	174.2 KB
ID:	447516
            And this is done with dilatate/contract modifier. The bundle thickness stays same.
            Click image for larger version

Name:	Elliptic-Dilatate-Contract.png
Views:	0
Size:	184.2 KB
ID:	447517
            But the latter one produces inaccurate wire locations.
            Back to the black board.
            AI, why don't you do that?
            Attached Files

            Comment

            Working...
            X