{
  "information": {
    "Title": "Magnetic Field From Loop Simulator",
    "Author": [
      "Fu-Kwun Hwang, Wolfgang Christian, Robert Mohr remixed by lookang (weelookang@gmail.com)",
      "Fremont Teng",
      "Loo Kang Wee"
    ],
    "AuthorLogo": [
      "./01authorfu-kwun.hwang.png",
      "",
      "./01authorlookang50x50.png"
    ],
    "Password": "",
    "Keywords": "Bfield, Magnetic Field, loop, solenoid",
    "Abstract": "javascript version created by Fremont and Loo Kang\n\nOrignal model by Fu-Kwun Hwang modified and adapted Ejs 4.1 by Wolfgang Christian and Robert Mohr at Davidson College.\nslight editing by lookang",
    "Copyright": "Creative Commons Attribution",
    "Level": "",
    "Language": "",
    "Logo": [
      "./logo.png"
    ],
    "RunAlways": "true",
    "ModelTab": "",
    "ModelTabTitle": "",
    "ModelName": "",
    "FixedNavigationBar": "false",
    "CSSFile": "",
    "DetectedFiles": [
      "./01authorfu-kwun.hwang.png",
      "./01authorlookang50x50.png",
      "./logo.png"
    ],
    "AuxiliaryFiles": [
      "./MagneticFieldFromLoops/"
    ],
    "HTMLHead": "<script \nasync=\"true\" src=\"https://www.googletagmanager.com/gtag/js?id=G-S9EWRY1CPJ\"></script>\n<script>\n  window.dataLayer = window.dataLayer || [];\n  function gtag(){dataLayer.push(arguments);}\n  gtag('js', new Date());\n\n  gtag('config', 'G-S9EWRY1CPJ');\n</script>\n\n<script data-ad-client=\"ca-pub-0121577198857509\" async=\"true\" src=\"https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js\"></script>",
    "SaveInXMLFormat": "false",
    "IncludeSource": "true",
    "IncludeLibrary": "true",
    "UglifyJS": "false",
    "PreviewFullModel": "false",
    "UseInterpreter": "true",
    "UseDeltaForODE": "false"
  },
  "description": {
    "pages": [
      {
        "Name": "Magnetic Field From Loops",
        "Active": "true",
        "Internal": "false",
        "Type": "DESCRIPTION_EDITOR",
        "Locale": "_default_",
        "Title": "Magnetic Field From Loops",
        "External": "false",
        "Code": "<html>\n<head></head>\n<body>\n<p> </p><p> </p><p> </p><h1>      Magnetic Field from Loops    </h1><p> </p><p>      The EJSMagnetic Field from Loops model computes the B-field created by       an electric current through a straight wire, a closed loop, and a       solenoid. The user can adjust the vertical position of the slice through       the 3D field.    </p><p> </p><ol><li>        Watch the simulation as the field changes from the field around a long         straight current-carrying wire to the field near a coil. Explain what         happens to the field. Inside a coil of many loops, why is the field         fairly uniform near the center (think about vector addition and what         vectors would be adding together near the center).      </li><li>        There is an arrow on each end of the wire (red and blue). &nbsp;Which one         shows the direction of the current in the wire? Explain.      </li><li>        The simulation also shows the magnetic flux. What is flux? Therefore,         what do the different colors represent and why (i.e is pink higher         flux than yellow or vice versa)? and what does \"higher flux\" mean in         terms of the geometry and field strength?)?      </li></ol><p> </p><p> </p><p> </p><h3>      Credits:    </h3><p> </p><p>      The Magnetic Field from Loops simulation was created by Fu-Kwun Hwang       using the Easy Java Simulations (EJS) modeling tool and was adapted to       EJS version 4.1 by Robert Mohr and Wolfgang Christian at Davidson       College. Additional exercises written by Anne J. Cox. You can examine       and modify the model for this simulation if you have Ejs installed by       right-clicking within the simulation frame and selecting \"Open Ejs       Model\" from the pop-up menu. Information about EJS is available at: &lt;<strong><a href=\"http://www.um.es/fem/Ejs/\">http://www.um.es/fem/Ejs/</a></strong>&gt;       and in the OSP ComPADRE collection &lt;<strong><a href=\"http://www.compadre.org/OSP/\">http://www.compadre.org/OSP/</a></strong>&gt;.    </p><p> </p>\n</body>\n</html>"
      }
    ]
  },
  "model": {
    "variables": {
      "pages": [
        {
          "Name": "coordinate",
          "Active": "true",
          "Internal": "false",
          "Type": "VARIABLE_EDITOR",
          "PageComment": "",
          "Variables": [
            {
              "Name": "range",
              "Value": "200",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "xmin",
              "Value": "-range/2",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "xmax",
              "Value": "range/2",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "ymin",
              "Value": "-range/2",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "ymax",
              "Value": "range/2",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "zmin",
              "Value": "-range/2",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "zmax",
              "Value": "range/2",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "t",
              "Value": "0.0",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "dt",
              "Value": "0.1",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "size",
              "Value": "range/40",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            }
          ]
        },
        {
          "Name": "basic",
          "Active": "true",
          "Internal": "false",
          "Type": "VARIABLE_EDITOR",
          "PageComment": "",
          "Variables": [
            {
              "Name": "n",
              "Value": "360",
              "Type": "int",
              "Dimension": "",
              "Comment": "n is number of points on the coil",
              "Domain": "public"
            },
            {
              "Name": "n2",
              "Value": "n/2",
              "Type": "int",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "xn",
              "Value": "0.0",
              "Type": "double",
              "Dimension": "[n]",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "yn",
              "Value": "0.0",
              "Type": "double",
              "Dimension": "[n]",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "zn",
              "Value": "0.0",
              "Type": "double",
              "Dimension": "[n]",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "polygon",
              "Value": "0",
              "Type": "double",
              "Dimension": "[3][n]",
              "Comment": "wire",
              "Domain": "public"
            },
            {
              "Name": "cta",
              "Value": "0.0",
              "Type": "double",
              "Dimension": "[n]",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "omega",
              "Value": "0.0",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "dc",
              "Value": "Math.PI*2/(n-1)",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "np",
              "Value": "10",
              "Type": "int",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "bX",
              "Value": "0",
              "Type": "double",
              "Dimension": "[1][np][np]",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "bY",
              "Value": "0",
              "Type": "double",
              "Dimension": "[1][np][np]",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "bZ",
              "Value": "0",
              "Type": "double",
              "Dimension": "[1][np][np]",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "bXlookang",
              "Value": "0",
              "Type": "double",
              "Dimension": "[np*np]",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "bYlookang",
              "Value": "0",
              "Type": "double",
              "Dimension": "[np*np]",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "bZlookang",
              "Value": "0",
              "Type": "double",
              "Dimension": "[np*np]",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "bColor",
              "Value": "0",
              "Type": "double",
              "Dimension": "[1][np][np]",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "z",
              "Value": "",
              "Type": "double",
              "Dimension": "",
              "Comment": "24.286",
              "Domain": "public"
            },
            {
              "Name": "vx",
              "Value": "0.0",
              "Type": "double",
              "Dimension": "[n]",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "vz",
              "Value": "0.0",
              "Type": "double",
              "Dimension": "[n]",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "T",
              "Value": "2.0",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "nCoils",
              "Value": "",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "T2",
              "Value": "T*nCoils",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "R",
              "Value": "50",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "psi",
              "Value": "0.0",
              "Type": "double",
              "Dimension": "[np][np]",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "scale",
              "Value": "0.7",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "showFlux",
              "Value": "false",
              "Type": "boolean",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "stroke",
              "Value": "2.0",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "I",
              "Value": "",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "I0",
              "Value": "0",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "Iold",
              "Value": "0",
              "Type": "double",
              "Dimension": "",
              "Comment": "to remember current",
              "Domain": "public"
            },
            {
              "Name": "current",
              "Value": "true",
              "Type": "boolean",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "polarity",
              "Value": "",
              "Type": "boolean",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "CENTER",
              "Value": "0",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            }
          ]
        },
        {
          "Name": "varfrem",
          "Active": "true",
          "Internal": "false",
          "Type": "VARIABLE_EDITOR",
          "PageComment": "",
          "Variables": [
            {
              "Name": "font",
              "Value": "\"normal normal 1.5vw\"",
              "Type": "String",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "fontb",
              "Value": "\"normal bold 2vw\"",
              "Type": "String",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "box",
              "Value": "1",
              "Type": "int",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "xposition",
              "Value": "0",
              "Type": "double",
              "Dimension": "[np]",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "yposition",
              "Value": "0",
              "Type": "double",
              "Dimension": "[np][np]",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "zposition",
              "Value": "0",
              "Type": "double",
              "Dimension": "[np]",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "xpositionlookang",
              "Value": "0",
              "Type": "double",
              "Dimension": "[np*np]",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "ypositionlookang",
              "Value": "0",
              "Type": "double",
              "Dimension": "[np*np]",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "zpositionlookang",
              "Value": "0",
              "Type": "double",
              "Dimension": "[np*np]",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "positiontext",
              "Value": "\"\"",
              "Type": "String",
              "Dimension": "[np*np]",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "color",
              "Value": "\"blue\"",
              "Type": "String",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "headheight",
              "Value": "2",
              "Type": "int",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "headwidth",
              "Value": "4",
              "Type": "int",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "",
              "Value": "",
              "Type": "String",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            }
          ]
        }
      ]
    },
    "initialization": {
      "pages": [
        {
          "Name": "undefined",
          "Active": "true",
          "Internal": "false",
          "Type": "CODE_EDITOR",
          "Comment": "",
          "Code": "// Init Page 2\nif (nCoils==undefined){\n  nCoils=1;\n  T2 = nCoils*2\n  }\n if (I==undefined){\n  I=1;\n  }\n   if (polarity==undefined){\n  polarity=false;\n  }\n   if (z==undefined){\n  z=0;\n  }"
        },
        {
          "Name": "Init Page",
          "Active": "true",
          "Internal": "false",
          "Type": "CODE_EDITOR",
          "Comment": "",
          "Code": "var dx,dy,dz;\nupdateaction ();\nsetcoil();\n//double x,y,z;\n//calPsi(0,0,0);\nt=0;\nomega=0.;\ndx=dy=dz=range/(np-1);\n\nif ( I==0 ) { // added to remember I by lookang\n  I = Iold = 1.0;\n  }\n\n\n\nupdateaction ();\n"
        }
      ]
    },
    "evolution": {
      "information": {
        "FPS": "20",
        "SPD": "1",
        "RealTimeVariable": "",
        "Autoplay": "false"
      },
      "pages": [
        {
          "Name": "Evolve Field",
          "Active": "true",
          "Internal": "false",
          "Type": "ODE_EDITOR",
          "Comment": "",
          "IndependentVariable": "t",
          "Increment": "dt",
          "Equations": [
            {
              "state": "xn[i]",
              "rate": "vx[i]"
            },
            {
              "state": "zn[i]",
              "rate": "vz[i]"
            },
            {
              "state": "cta[i]",
              "rate": "omega"
            },
            {
              "state": "",
              "rate": ""
            }
          ],
          "Method": "RungeKuttaFehlberg",
          "AbsoluteTolerance": "0.00001",
          "PreliminaryCode": {
            "Code": "",
            "Comment": "Code to be executed before rate equations are evaluated"
          },
          "EventMaximumStep": "",
          "Events": {
            "pages": [
              {
                "Type": "EVENT_EDITOR",
                "Name": "First Coil",
                "Active": "true",
                "Internal": "false",
                "EventType": "STATE_EVENT",
                "Method": "BISECTION",
                "Iterations": "100",
                "Tolerance": "0.001",
                "StopAtEvent": "true",
                "ZeroCondition": "if(omega==0 && t>=T){\n  return T-t;\n}\nreturn 1;\n",
                "Action": "for(var i=0;i<n;i++) {\n  vx[i]=vz[i]=0.;\n}\nomega=Math.PI*2/T;\nIold = I; // added by lookang\n",
                "Comment": ""
              },
              {
                "Type": "EVENT_EDITOR",
                "Name": "Last Coil",
                "Active": "true",
                "Internal": "false",
                "EventType": "STATE_EVENT",
                "Method": "BISECTION",
                "Iterations": "100",
                "Tolerance": "0.001",
                "StopAtEvent": "true",
                "ZeroCondition": "return T2-t;",
                "Action": "t=T2;\n_pause();",
                "Comment": ""
              }
            ]
          },
          "ZenoEffect": {
            "Code": "",
            "Comment": "",
            "StopAfterEffect": "true"
          },
          "AccelerationIndependentOfVelocity": "false",
          "ForceSynchronization": "false",
          "UseBestInterpolation": "false",
          "EstimateFirstStep": "false",
          "MemoryLength": "",
          "InternalStep": "",
          "MaximumStep": "",
          "MaximumNumberOfSteps": "10000",
          "RelativeTolerance": "",
          "DelayList": "",
          "DelayMaximum": "",
          "DelayAddDiscont": "",
          "DelayInitialCondition": {
            "Code": "",
            "Comment": ""
          },
          "DirectIncidenceMatrix": "",
          "Discontinuities": {
            "pages": []
          },
          "ErrorHandling": {
            "pages": []
          }
        },
        {
          "Name": "Update View",
          "Active": "true",
          "Internal": "false",
          "Type": "EVOLUTION_EDITOR",
          "Comment": "",
          "Code": "if(omega!=0 && t>=T){\n  calShape();\n}else{\n  calcOne();\n}\nupdateaction ();\n"
        }
      ]
    },
    "fixed_relations": {
      "pages": [
        {
          "Name": "Coil Polygon",
          "Active": "true",
          "Internal": "false",
          "Type": "CODE_EDITOR",
          "Comment": "",
          "Code": "for(var i=0;i<n;i++) {\n  polygon[0][i] = xn[i]; //swap arrays frem\n  polygon[1][i] = yn[i];\n  polygon[2][i] = zn[i];\n}\n\n\n"
        },
        {
          "Name": "fixedfrem",
          "Active": "true",
          "Internal": "false",
          "Type": "CODE_EDITOR",
          "Comment": "",
          "Code": "//frem: To create vector field positions\n  var deltaX = range/(np-1);\n  var deltaY = range/(np-1);\nfor(var i=0;i<np;i++) {\n    xposition[i] = xmin+i*deltaX;\n    \n    for(var j=0;j<np;j++) {\n      yposition[i][j] = ymin+j*deltaY;\n      xpositionlookang[i+np*j] = xmin+i*deltaX // added to display position in single element\n    ypositionlookang[i+np*j] = ymin+j*deltaY;\n    zpositionlookang[i+np*j] = z;\n  //  positiontext[i+np*j]=i+np*j+\"=\"+bXlookang[i+np*j];\n  //   positiontext[i+np*j]=i+np*j+\"=\"+bX[0][i][j];\n    }\n     }\n"
        },
        {
          "Name": "ending",
          "Active": "true",
          "Internal": "false",
          "Type": "CODE_EDITOR",
          "Comment": "",
          "Code": "if ( t<0 ) {\n  _pause(); // added by lookang to prevent simulation from running to t <0\n  }\n"
        }
      ]
    },
    "custom": {
      "pages": [
        {
          "Name": "norm",
          "Active": "true",
          "Internal": "false",
          "Type": "LIBRARY_EDITOR",
          "Comment": "",
          "Code": "function norm (a, b, c) {\n  return Math.sqrt(a*a + b*b + c*c);\n}"
        },
        {
          "Name": "updateAction",
          "Active": "true",
          "Internal": "false",
          "Type": "LIBRARY_EDITOR",
          "Comment": "",
          "Code": "function updateaction () {\n  var deltaX = range/(np-1);\n  var deltaY = range/(np-1);\n  \n  I0=Math.abs(I); // added by lookang for current variable\n  \n  for(var i=0;i<np;i++) {\n    var x = xmin+i*deltaX;\n    for(var j=0;j<np;j++) {\n      var y = ymin+j*deltaY;\n      psi[i][j]=calPsi(x,y,z);\n      computeBfield(i,j,x,y,z);\n      var norm1 = norm (bX[0][i][j],bY[0][i][j],bZ[0][i][j]);//rearrange arrays frem\n      var factor = range/np/norm1;\n/* formula\nBperpendicular = \u00b5oI / (2*pi*r)\nwhere\n   * \u00b5o, permeability of free space = 4*pi x 10-7 Tm/A\n   * I, current flowing through the wire, measured in amps\n   * B, magnetic field strength, measured in Tesla\n   * r, distance from the wire, measured in meters\n   */\n\nbX[0][i][j] *= factor*I; // added *I for variablility with I by lookang\n      bY[0][i][j] *= factor*I; // factor is the currently not using distance? hmmmm \n      bZ[0][i][j] *= factor*I;\n \n bXlookang[i+ np*j]  = bX[0][i][j];//rearragned array frem\n  bYlookang[i+ np*j] = bY[0][i][j];\n  bZlookang[i+ np*j] = bZ[0][i][j];\n      bColor[0][i][j]=\"rgb(\"+(10*norm1).toFixed(0)+\",0,200)\";  \n    }\n  }\n}"
        },
        {
          "Name": "computeBField",
          "Active": "true",
          "Internal": "false",
          "Type": "LIBRARY_EDITOR",
          "Comment": "",
          "Code": "function computeBfield(index1, index2, x, y, z) {\n  var bx=0, by=0, bz=0;\n  for(var i=1;i<n;i++) {\n    var dx=xn[i]-xn[i-1];\n    var dy=yn[i]-yn[i-1];\n    var dz=zn[i]-zn[i-1];\n    var xs=x-xn[i-1];\n    var ys=y-yn[i-1];\n    var zs=z-zn[i-1];\n    var r=Math.sqrt(xs*xs+ys*ys+zs*zs);\n    var r3=r*r*r;\n    bz+=(dx*ys-dy*xs)/r3;\n    bx+=(dy*zs-dz*ys)/r3;\n    by+=(dz*xs-zs*dx)/r3;\n  }\n  bX[0][index1][index2] = bx;//rearragned array frem\n  bY[0][index1][index2] = by;\n  bZ[0][index1][index2] = bz;\n // bXlookang[index1+i*index2] = bx;//rearragned array frem\n // bYlookang[index1+i*index2] = by;\n // bZlookang[index1+i*index2] = bz;\n  \n}\n"
        },
        {
          "Name": "calPsi",
          "Active": "true",
          "Internal": "false",
          "Type": "LIBRARY_EDITOR",
          "Comment": "",
          "Code": "function calPsi(x, y, z) {\n  var p=0;\n  for(var i=1;i<n;i++) {\n    var xs=x-xn[i-1];\n    var ys=y-yn[i-1];\n    var zs=z-zn[i-1];\n    var dz=zn[i]-zn[i-1];\n    var r=Math.sqrt(xs*xs+ys*ys+zs*zs);\n    var r2=Math.sqrt(xn[i-1]*xn[i-1]+yn[i-1]*yn[i-1]);\n    if(r>size)p+=r2/r;// p+=dz*r2/(r*r);\n  }\n  return p;\n}\n"
        },
        {
          "Name": "calShape",
          "Active": "true",
          "Internal": "false",
          "Type": "LIBRARY_EDITOR",
          "Comment": "",
          "Code": "function calShape() {\n  var dy=size*2;\n  for(var i=0;i<n;i++) {\n    //if(t<T2)c=(i-n2)*dc*t*2/T;\n    //else c=(i-n2)*dc*T2*2/T;\n    var c=(i-n2)*dc*t/T;\n    xn[i]=-R*Math.cos(c);\n    zn[i]=R*Math.sin(c);\n    yn[i]=(nCoils>1)?c/Math.PI/2*dy:0;\n  }\n}"
        },
        {
          "Name": "calcOne",
          "Active": "true",
          "Internal": "false",
          "Type": "LIBRARY_EDITOR",
          "Comment": "",
          "Code": "function calcOne() {\n  var dy=size*2;\n  for(var i=0;i<n;i++) {\n    var c=(i-n2)*dc*t/T;\n    yn[i]=(nCoils>1)?-c/Math.PI/2*dy:0;\n  }\n}\n"
        },
        {
          "Name": "setcoil",
          "Active": "true",
          "Internal": "false",
          "Type": "LIBRARY_EDITOR",
          "Comment": "",
          "Code": "function setcoil () {\n  var dz=(zmax-zmin)/n;\n  for(var i=0;i<n;i++) {\n    // current segment\n    xn[i]=0;\n    yn[i]=0.;\n    zn[i]=zmax-(i+0.5)*dz;\n    vx[i]=(R*Math.cos(i*dc)-xn[i])/T;\n    vz[i]=(R*Math.sin(i*dc)-zn[i])/T;\n  }\n}"
        },
        {
          "Name": "fullscreen",
          "Active": "true",
          "Internal": "false",
          "Type": "LIBRARY_EDITOR",
          "Comment": "",
          "Code": "//https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Using_full_screen_mode\n// does not work for iOS \n/*jslint browser:true */\nfunction toggleFullScreen() {\n  if (!document.fullscreenElement &&    // alternative standard method\n      !document.mozFullScreenElement && !document.webkitFullscreenElement && !document.msFullscreenElement ) {  // current working methods\n    if (document.documentElement.requestFullscreen) {\n      document.documentElement.requestFullscreen();\n    } else if (document.documentElement.msRequestFullscreen) {\n      document.documentElement.msRequestFullscreen();\n    } else if (document.documentElement.mozRequestFullScreen) {\n      document.documentElement.mozRequestFullScreen();\n    } else if (document.documentElement.webkitRequestFullscreen) {\n      document.documentElement.webkitRequestFullscreen();\n    }\n  } else {\n    if (document.exitFullscreen) {\n      document.exitFullscreen();\n    } else if (document.msExitFullscreen) {\n      document.msExitFullscreen();\n    } else if (document.mozCancelFullScreen) {\n      document.mozCancelFullScreen();\n    } else if (document.webkitExitFullscreen) {\n      document.webkitExitFullscreen();\n    }\n  }\n}"
        }
      ]
    },
    "elements": {
      "list": []
    }
  },
  "view": {
    "Tree": [
      {
        "Name": "executionPanel",
        "Type": "Panel",
        "Expanded": "true",
        "Properties": [
          {
            "name": "Background",
            "value": "color"
          },
          {
            "name": "Font",
            "value": "font"
          }
        ],
        "Children": [
          {
            "Name": "comboBox",
            "Type": "ComboBox",
            "Properties": [
              {
                "name": "Options",
                "value": "[\"Polarity\",\"Current\",\"Number of Coils\",\"z slice\"]"
              },
              {
                "name": "Foreground",
                "value": "color"
              },
              {
                "name": "OnChange",
                "value": "var opts = _view.comboBox.getProperty(\"SelectedOptions\");  // array of options\n    var option = (opts.length > 0)? opts[0]:\"\"; // selected option \n\n//[\"Display\",\"Current\",\"Number of Coils\",\"z slice\"]\n\nif (option ==\"Polarity\"){box=1;color=\"blue\";}\nelse if (option ==\"Current\"){box=2;color=\"green\";}\nelse if (option ==\"Number of Coils\"){box=3;color=\"red\";}\nelse if (option==\"z slice\"){box=4;color=\"orange\";}\n"
              },
              {
                "name": "Font",
                "value": "font"
              },
              {
                "name": "Display",
                "value": "\"none\""
              }
            ]
          },
          {
            "Name": "current",
            "Type": "CheckBox",
            "Properties": [
              {
                "name": "Checked",
                "value": "current"
              },
              {
                "name": "Foreground",
                "value": "\"white\""
              },
              {
                "name": "Text",
                "value": "\"\""
              }
            ]
          },
          {
            "Name": "currentlabel",
            "Type": "Label",
            "Properties": [
              {
                "name": "Foreground",
                "value": "\"white\""
              },
              {
                "name": "Text",
                "value": "\"I = \"+ I.toFixed(1)+\" A\""
              },
              {
                "name": "Font",
                "value": "font"
              }
            ]
          },
          {
            "Name": "slidercurrent",
            "Type": "Slider",
            "Properties": [
              {
                "name": "Minimum",
                "value": "-1"
              },
              {
                "name": "Maximum",
                "value": "1"
              },
              {
                "name": "ShowText",
                "value": "false"
              },
              {
                "name": "Format",
                "value": "\"0.0\""
              },
              {
                "name": "Tooltip",
                "value": "\"slider for current in wire\""
              },
              {
                "name": "Value",
                "value": "I"
              },
              {
                "name": "OnChange",
                "value": "updateaction ()"
              },
              {
                "name": "Step",
                "value": "0.1"
              },
              {
                "name": "Width",
                "value": "\"15vw\""
              }
            ]
          },
          {
            "Name": "Coils",
            "Type": "Label",
            "Properties": [
              {
                "name": "Foreground",
                "value": "\"white\""
              },
              {
                "name": "Text",
                "value": "\"N = \"+nCoils.toFixed(0)"
              },
              {
                "name": "Font",
                "value": "font"
              }
            ]
          },
          {
            "Name": "sliderCoils",
            "Type": "Slider",
            "Properties": [
              {
                "name": "Minimum",
                "value": "1"
              },
              {
                "name": "Maximum",
                "value": "10"
              },
              {
                "name": "ShowText",
                "value": "false"
              },
              {
                "name": "Tooltip",
                "value": "\"slider for current in wire\""
              },
              {
                "name": "Value",
                "value": "nCoils"
              },
              {
                "name": "OnChange",
                "value": "nCoils=Math.round(Math.max(nCoils,1));\nnCoils=Math.min(nCoils,10);\nT2=T*nCoils;"
              },
              {
                "name": "Step",
                "value": "1"
              },
              {
                "name": "Width",
                "value": "\"15vw\""
              }
            ]
          },
          {
            "Name": "varfield",
            "Type": "ParsedField",
            "Properties": [
              {
                "name": "Format",
                "value": "\"0\""
              },
              {
                "name": "Value",
                "value": "nCoils"
              },
              {
                "name": "Editable",
                "value": "t==0"
              },
              {
                "name": "OnChange",
                "value": "nCoils=Math.round(Math.max(nCoils,1));\nnCoils=Math.min(nCoils,10);\nT2=T*nCoils;"
              },
              {
                "name": "Foreground",
                "value": "color"
              },
              {
                "name": "Font",
                "value": "font"
              },
              {
                "name": "Width",
                "value": "\"10%\""
              },
              {
                "name": "Display",
                "value": "\"none\""
              }
            ]
          },
          {
            "Name": "Z",
            "Type": "Label",
            "Properties": [
              {
                "name": "Foreground",
                "value": "\"white\""
              },
              {
                "name": "Text",
                "value": "\"Z slice = \""
              },
              {
                "name": "Font",
                "value": "font"
              }
            ]
          },
          {
            "Name": "sliderz",
            "Type": "Slider",
            "Properties": [
              {
                "name": "Minimum",
                "value": "zmin"
              },
              {
                "name": "Maximum",
                "value": "zmax"
              },
              {
                "name": "ShowText",
                "value": "false"
              },
              {
                "name": "Tooltip",
                "value": "\"controls level of field\""
              },
              {
                "name": "Value",
                "value": "z"
              },
              {
                "name": "OnChange",
                "value": "updateaction()"
              },
              {
                "name": "Disabled",
                "value": "_isPlaying"
              },
              {
                "name": "Width",
                "value": "\"15vw\""
              }
            ]
          },
          {
            "Name": "polarity",
            "Type": "CheckBox",
            "Properties": [
              {
                "name": "Checked",
                "value": "polarity"
              },
              {
                "name": "Foreground",
                "value": "\"white\""
              },
              {
                "name": "Text",
                "value": "\"Pole?\""
              },
              {
                "name": "Disabled",
                "value": "t<T2"
              },
              {
                "name": "Tooltip",
                "value": "\"appear after playing and stopped\""
              }
            ]
          },
          {
            "Name": "playpausebutton",
            "Type": "TwoStateButton",
            "Properties": [
              {
                "name": "OffClick",
                "value": "_pause()"
              },
              {
                "name": "TextOn",
                "value": "\"Play\u25b6\""
              },
              {
                "name": "State",
                "value": "_isPaused"
              },
              {
                "name": "TextOff",
                "value": "\"Pause\u275a\u275a\""
              },
              {
                "name": "OnClick",
                "value": "_play()"
              },
              {
                "name": "Font",
                "value": "fontb"
              }
            ]
          },
          {
            "Name": "resetButton",
            "Type": "Button",
            "Properties": [
              {
                "name": "Text",
                "value": "\"Reset\u21bb\""
              },
              {
                "name": "OnClick",
                "value": "_reset()"
              },
              {
                "name": "Font",
                "value": "fontb"
              }
            ]
          },
          {
            "Name": "slider2",
            "Type": "Slider",
            "Properties": [
              {
                "name": "ShowText",
                "value": "true"
              },
              {
                "name": "Minimum",
                "value": "1"
              },
              {
                "name": "Maximum",
                "value": "100"
              },
              {
                "name": "Value",
                "value": "headheight"
              },
              {
                "name": "Display",
                "value": "\"none\""
              }
            ]
          },
          {
            "Name": "slider",
            "Type": "Slider",
            "Properties": [
              {
                "name": "ShowText",
                "value": "true"
              },
              {
                "name": "Minimum",
                "value": "1"
              },
              {
                "name": "Maximum",
                "value": "100"
              },
              {
                "name": "Value",
                "value": "headwidth"
              },
              {
                "name": "Display",
                "value": "\"none\""
              }
            ]
          }
        ]
      },
      {
        "Name": "panel",
        "Type": "Panel",
        "Expanded": "false",
        "Properties": [
          {
            "name": "Width",
            "value": "\"100%\""
          },
          {
            "name": "Display",
            "value": "\"inline-flex\""
          }
        ],
        "Children": [
          {
            "Name": "drawingPanel3D",
            "Type": "Display3DPanel",
            "Expanded": "true",
            "Properties": [
              {
                "name": "MinimumX",
                "value": "xmin*scale"
              },
              {
                "name": "MinimumY",
                "value": "ymin*scale"
              },
              {
                "name": "MinimumZ",
                "value": "zmin*scale"
              },
              {
                "name": "Enabled",
                "value": "true"
              },
              {
                "name": "Height",
                "value": "window.innerHeight*0.9"
              },
              {
                "name": "DecorationType",
                "value": "\"CENTERED_AXES\""
              },
              {
                "name": "OnDoubleClick",
                "value": "toggleFullScreen()"
              },
              {
                "name": "MaximumZ",
                "value": "zmax*scale"
              },
              {
                "name": "Width",
                "value": "\"100%\""
              },
              {
                "name": "MaximumY",
                "value": "ymax*scale"
              },
              {
                "name": "MaximumX",
                "value": "xmax*scale"
              }
            ],
            "Children": [
              {
                "Name": "textSet3D",
                "Type": "TextSet3D",
                "Properties": [
                  {
                    "name": "NumberOfElements",
                    "value": "np*np"
                  },
                  {
                    "name": "SizeX",
                    "value": "20"
                  },
                  {
                    "name": "X",
                    "value": "xpositionlookang"
                  },
                  {
                    "name": "Y",
                    "value": "ypositionlookang"
                  },
                  {
                    "name": "Text",
                    "value": "positiontext"
                  },
                  {
                    "name": "Z",
                    "value": "zpositionlookang"
                  },
                  {
                    "name": "SizeZ",
                    "value": "20"
                  },
                  {
                    "name": "SizeY",
                    "value": "20"
                  },
                  {
                    "name": "Font",
                    "value": "\"normal normal 49px \""
                  }
                ]
              },
              {
                "Name": "vectorfieldlookang",
                "Type": "ArrowSet3D",
                "Properties": [
                  {
                    "name": "FillColor",
                    "value": "\"Magenta\""
                  },
                  {
                    "name": "SizeX",
                    "value": "bXlookang"
                  },
                  {
                    "name": "X",
                    "value": "xpositionlookang"
                  },
                  {
                    "name": "Y",
                    "value": "ypositionlookang"
                  },
                  {
                    "name": "Z",
                    "value": "zpositionlookang"
                  },
                  {
                    "name": "SizeZ",
                    "value": "bZlookang"
                  },
                  {
                    "name": "SizeY",
                    "value": "bYlookang"
                  },
                  {
                    "name": "LineWidth",
                    "value": "1"
                  }
                ]
              },
              {
                "Name": "sphereSet3Dlookang",
                "Type": "SphereSet3D",
                "Properties": [
                  {
                    "name": "NumberOfElements",
                    "value": "np*np"
                  },
                  {
                    "name": "Radius",
                    "value": "1"
                  },
                  {
                    "name": "FillColor",
                    "value": "\"Gray\""
                  },
                  {
                    "name": "X",
                    "value": "xpositionlookang"
                  },
                  {
                    "name": "LineColor",
                    "value": "\"Green\""
                  },
                  {
                    "name": "Y",
                    "value": "ypositionlookang"
                  },
                  {
                    "name": "Z",
                    "value": "zpositionlookang"
                  }
                ]
              },
              {
                "Name": "wire",
                "Type": "Trail3D",
                "Properties": [
                  {
                    "name": "InputZ",
                    "value": "polygon[2]"
                  },
                  {
                    "name": "InputX",
                    "value": "polygon[0]"
                  },
                  {
                    "name": "InputY",
                    "value": "polygon[1]"
                  },
                  {
                    "name": "LineWidth",
                    "value": "stroke"
                  },
                  {
                    "name": "ClearAtInput",
                    "value": "true"
                  }
                ]
              },
              {
                "Name": "vectorfieldfrem",
                "Type": "Group3D",
                "Expanded": "false",
                "Properties": [
                  {
                    "name": "Z",
                    "value": "z"
                  },
                  {
                    "name": "Visibility",
                    "value": "false"
                  }
                ],
                "Children": [
                  {
                    "Name": "vector010",
                    "Type": "Group3D",
                    "Expanded": "true",
                    "Properties": [],
                    "Children": [
                      {
                        "Name": "vectorfield",
                        "Type": "ArrowSet3D",
                        "Properties": [
                          {
                            "name": "SizeX",
                            "value": "bX[0][0]"
                          },
                          {
                            "name": "X",
                            "value": "xposition[0]"
                          },
                          {
                            "name": "LineColor",
                            "value": "\"blue\""
                          },
                          {
                            "name": "Y",
                            "value": "yposition[0]"
                          },
                          {
                            "name": "SizeZ",
                            "value": "bZ[0][0]"
                          },
                          {
                            "name": "SizeY",
                            "value": "bY[0][0]"
                          },
                          {
                            "name": "LineWidth",
                            "value": "stroke"
                          },
                          {
                            "name": "HeadHeight",
                            "value": "50"
                          }
                        ]
                      },
                      {
                        "Name": "vectorfield1",
                        "Type": "ArrowSet3D",
                        "Properties": [
                          {
                            "name": "SizeX",
                            "value": "bX[0][1]"
                          },
                          {
                            "name": "X",
                            "value": "xposition[1]"
                          },
                          {
                            "name": "LineColor",
                            "value": "\"blue\""
                          },
                          {
                            "name": "Y",
                            "value": "yposition[0]"
                          },
                          {
                            "name": "SizeZ",
                            "value": "bZ[0][1]"
                          },
                          {
                            "name": "SizeY",
                            "value": "bY[0][1]"
                          },
                          {
                            "name": "LineWidth",
                            "value": "stroke"
                          }
                        ]
                      },
                      {
                        "Name": "vectorfield12",
                        "Type": "ArrowSet3D",
                        "Properties": [
                          {
                            "name": "SizeX",
                            "value": "bX[0][2]"
                          },
                          {
                            "name": "X",
                            "value": "xposition[2]"
                          },
                          {
                            "name": "LineColor",
                            "value": "\"blue\""
                          },
                          {
                            "name": "Y",
                            "value": "yposition[0]"
                          },
                          {
                            "name": "SizeZ",
                            "value": "bZ[0][2]"
                          },
                          {
                            "name": "SizeY",
                            "value": "bY[0][2]"
                          },
                          {
                            "name": "LineWidth",
                            "value": "stroke"
                          }
                        ]
                      },
                      {
                        "Name": "vectorfield13",
                        "Type": "ArrowSet3D",
                        "Properties": [
                          {
                            "name": "SizeX",
                            "value": "bX[0][3]"
                          },
                          {
                            "name": "X",
                            "value": "xposition[3]"
                          },
                          {
                            "name": "LineColor",
                            "value": "\"blue\""
                          },
                          {
                            "name": "Y",
                            "value": "yposition[0]"
                          },
                          {
                            "name": "SizeZ",
                            "value": "bZ[0][3]"
                          },
                          {
                            "name": "SizeY",
                            "value": "bY[0][3]"
                          },
                          {
                            "name": "LineWidth",
                            "value": "stroke"
                          }
                        ]
                      },
                      {
                        "Name": "vectorfield14",
                        "Type": "ArrowSet3D",
                        "Properties": [
                          {
                            "name": "SizeX",
                            "value": "bX[0][4]"
                          },
                          {
                            "name": "X",
                            "value": "xposition[4]"
                          },
                          {
                            "name": "LineColor",
                            "value": "\"blue\""
                          },
                          {
                            "name": "Y",
                            "value": "yposition[0]"
                          },
                          {
                            "name": "SizeZ",
                            "value": "bZ[0][4]"
                          },
                          {
                            "name": "SizeY",
                            "value": "bY[0][4]"
                          },
                          {
                            "name": "LineWidth",
                            "value": "stroke"
                          }
                        ]
                      },
                      {
                        "Name": "vectorfield15",
                        "Type": "ArrowSet3D",
                        "Properties": [
                          {
                            "name": "SizeX",
                            "value": "bX[0][5]"
                          },
                          {
                            "name": "X",
                            "value": "xposition[5]"
                          },
                          {
                            "name": "LineColor",
                            "value": "\"blue\""
                          },
                          {
                            "name": "Y",
                            "value": "yposition[0]"
                          },
                          {
                            "name": "SizeZ",
                            "value": "bZ[0][5]"
                          },
                          {
                            "name": "SizeY",
                            "value": "bY[0][5]"
                          },
                          {
                            "name": "LineWidth",
                            "value": "stroke"
                          }
                        ]
                      },
                      {
                        "Name": "vectorfield16",
                        "Type": "ArrowSet3D",
                        "Properties": [
                          {
                            "name": "SizeX",
                            "value": "bX[0][6]"
                          },
                          {
                            "name": "X",
                            "value": "xposition[6]"
                          },
                          {
                            "name": "LineColor",
                            "value": "\"blue\""
                          },
                          {
                            "name": "Y",
                            "value": "yposition[0]"
                          },
                          {
                            "name": "SizeZ",
                            "value": "bZ[0][6]"
                          },
                          {
                            "name": "SizeY",
                            "value": "bY[0][6]"
                          },
                          {
                            "name": "LineWidth",
                            "value": "stroke"
                          }
                        ]
                      },
                      {
                        "Name": "vectorfield17",
                        "Type": "ArrowSet3D",
                        "Properties": [
                          {
                            "name": "SizeX",
                            "value": "bX[0][7]"
                          },
                          {
                            "name": "X",
                            "value": "xposition[7]"
                          },
                          {
                            "name": "LineColor",
                            "value": "\"blue\""
                          },
                          {
                            "name": "Y",
                            "value": "yposition[0]"
                          },
                          {
                            "name": "SizeZ",
                            "value": "bZ[0][7]"
                          },
                          {
                            "name": "SizeY",
                            "value": "bY[0][7]"
                          },
                          {
                            "name": "LineWidth",
                            "value": "stroke"
                          }
                        ]
                      },
                      {
                        "Name": "vectorfield18",
                        "Type": "ArrowSet3D",
                        "Properties": [
                          {
                            "name": "SizeX",
                            "value": "bX[0][8]"
                          },
                          {
                            "name": "X",
                            "value": "xposition[8]"
                          },
                          {
                            "name": "LineColor",
                            "value": "\"blue\""
                          },
                          {
                            "name": "Y",
                            "value": "yposition[0]"
                          },
                          {
                            "name": "SizeZ",
                            "value": "bZ[0][8]"
                          },
                          {
                            "name": "SizeY",
                            "value": "bY[0][8]"
                          },
                          {
                            "name": "LineWidth",
                            "value": "stroke"
                          }
                        ]
                      },
                      {
                        "Name": "vectorfield19",
                        "Type": "ArrowSet3D",
                        "Properties": [
                          {
                            "name": "SizeX",
                            "value": "bX[0][9]"
                          },
                          {
                            "name": "X",
                            "value": "xposition[9]"
                          },
                          {
                            "name": "LineColor",
                            "value": "\"blue\""
                          },
                          {
                            "name": "Y",
                            "value": "yposition[0]"
                          },
                          {
                            "name": "SizeZ",
                            "value": "bZ[0][9]"
                          },
                          {
                            "name": "SizeY",
                            "value": "bY[0][9]"
                          },
                          {
                            "name": "LineWidth",
                            "value": "stroke"
                          }
                        ]
                      },
                      {
                        "Name": "vectorfield110",
                        "Type": "ArrowSet3D",
                        "Properties": [
                          {
                            "name": "SizeX",
                            "value": "bX[0][10]"
                          },
                          {
                            "name": "X",
                            "value": "xposition[10]"
                          },
                          {
                            "name": "LineColor",
                            "value": "\"blue\""
                          },
                          {
                            "name": "Y",
                            "value": "yposition[0]"
                          },
                          {
                            "name": "SizeZ",
                            "value": "bZ[0][10]"
                          },
                          {
                            "name": "SizeY",
                            "value": "bY[0][10]"
                          },
                          {
                            "name": "LineWidth",
                            "value": "stroke"
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "Name": "vector1120",
                    "Type": "Group3D",
                    "Expanded": "true",
                    "Properties": [],
                    "Children": [
                      {
                        "Name": "vectorfield111",
                        "Type": "ArrowSet3D",
                        "Properties": [
                          {
                            "name": "SizeX",
                            "value": "bX[0][11]"
                          },
                          {
                            "name": "X",
                            "value": "xposition[11]"
                          },
                          {
                            "name": "LineColor",
                            "value": "\"blue\""
                          },
                          {
                            "name": "Y",
                            "value": "yposition[0]"
                          },
                          {
                            "name": "SizeZ",
                            "value": "bZ[0][11]"
                          },
                          {
                            "name": "SizeY",
                            "value": "bY[0][11]"
                          },
                          {
                            "name": "LineWidth",
                            "value": "stroke"
                          }
                        ]
                      },
                      {
                        "Name": "vectorfield122",
                        "Type": "ArrowSet3D",
                        "Properties": [
                          {
                            "name": "SizeX",
                            "value": "bX[0][12]"
                          },
                          {
                            "name": "X",
                            "value": "xposition[12]"
                          },
                          {
                            "name": "LineColor",
                            "value": "\"blue\""
                          },
                          {
                            "name": "Y",
                            "value": "yposition[0]"
                          },
                          {
                            "name": "SizeZ",
                            "value": "bZ[0][12]"
                          },
                          {
                            "name": "SizeY",
                            "value": "bY[0][12]"
                          },
                          {
                            "name": "LineWidth",
                            "value": "stroke"
                          }
                        ]
                      },
                      {
                        "Name": "vectorfield132",
                        "Type": "ArrowSet3D",
                        "Properties": [
                          {
                            "name": "SizeX",
                            "value": "bX[0][13]"
                          },
                          {
                            "name": "X",
                            "value": "xposition[13]"
                          },
                          {
                            "name": "LineColor",
                            "value": "\"blue\""
                          },
                          {
                            "name": "Y",
                            "value": "yposition[0]"
                          },
                          {
                            "name": "SizeZ",
                            "value": "bZ[0][13]"
                          },
                          {
                            "name": "SizeY",
                            "value": "bY[0][13]"
                          },
                          {
                            "name": "LineWidth",
                            "value": "stroke"
                          }
                        ]
                      },
                      {
                        "Name": "vectorfield142",
                        "Type": "ArrowSet3D",
                        "Properties": [
                          {
                            "name": "SizeX",
                            "value": "bX[0][14]"
                          },
                          {
                            "name": "X",
                            "value": "xposition[14]"
                          },
                          {
                            "name": "LineColor",
                            "value": "\"blue\""
                          },
                          {
                            "name": "Y",
                            "value": "yposition[0]"
                          },
                          {
                            "name": "SizeZ",
                            "value": "bZ[0][14]"
                          },
                          {
                            "name": "SizeY",
                            "value": "bY[0][14]"
                          },
                          {
                            "name": "LineWidth",
                            "value": "stroke"
                          }
                        ]
                      },
                      {
                        "Name": "vectorfield152",
                        "Type": "ArrowSet3D",
                        "Properties": [
                          {
                            "name": "SizeX",
                            "value": "bX[0][15]"
                          },
                          {
                            "name": "X",
                            "value": "xposition[15]"
                          },
                          {
                            "name": "LineColor",
                            "value": "\"blue\""
                          },
                          {
                            "name": "Y",
                            "value": "yposition[0]"
                          },
                          {
                            "name": "SizeZ",
                            "value": "bZ[0][15]"
                          },
                          {
                            "name": "SizeY",
                            "value": "bY[0][15]"
                          },
                          {
                            "name": "LineWidth",
                            "value": "stroke"
                          }
                        ]
                      },
                      {
                        "Name": "vectorfield162",
                        "Type": "ArrowSet3D",
                        "Properties": [
                          {
                            "name": "SizeX",
                            "value": "bX[0][16]"
                          },
                          {
                            "name": "X",
                            "value": "xposition[16]"
                          },
                          {
                            "name": "LineColor",
                            "value": "\"blue\""
                          },
                          {
                            "name": "Y",
                            "value": "yposition[0]"
                          },
                          {
                            "name": "SizeZ",
                            "value": "bZ[0][16]"
                          },
                          {
                            "name": "SizeY",
                            "value": "bY[0][16]"
                          },
                          {
                            "name": "LineWidth",
                            "value": "stroke"
                          }
                        ]
                      },
                      {
                        "Name": "vectorfield172",
                        "Type": "ArrowSet3D",
                        "Properties": [
                          {
                            "name": "SizeX",
                            "value": "bX[0][17]"
                          },
                          {
                            "name": "X",
                            "value": "xposition[17]"
                          },
                          {
                            "name": "LineColor",
                            "value": "\"blue\""
                          },
                          {
                            "name": "Y",
                            "value": "yposition[0]"
                          },
                          {
                            "name": "SizeZ",
                            "value": "bZ[0][17]"
                          },
                          {
                            "name": "SizeY",
                            "value": "bY[0][17]"
                          },
                          {
                            "name": "LineWidth",
                            "value": "stroke"
                          }
                        ]
                      },
                      {
                        "Name": "vectorfield182",
                        "Type": "ArrowSet3D",
                        "Properties": [
                          {
                            "name": "SizeX",
                            "value": "bX[0][18]"
                          },
                          {
                            "name": "X",
                            "value": "xposition[18]"
                          },
                          {
                            "name": "LineColor",
                            "value": "\"blue\""
                          },
                          {
                            "name": "Y",
                            "value": "yposition[0]"
                          },
                          {
                            "name": "SizeZ",
                            "value": "bZ[0][18]"
                          },
                          {
                            "name": "SizeY",
                            "value": "bY[0][18]"
                          },
                          {
                            "name": "LineWidth",
                            "value": "stroke"
                          }
                        ]
                      },
                      {
                        "Name": "vectorfield192",
                        "Type": "ArrowSet3D",
                        "Properties": [
                          {
                            "name": "SizeX",
                            "value": "bX[0][19]"
                          },
                          {
                            "name": "X",
                            "value": "xposition[19]"
                          },
                          {
                            "name": "LineColor",
                            "value": "\"blue\""
                          },
                          {
                            "name": "Y",
                            "value": "yposition[0]"
                          },
                          {
                            "name": "SizeZ",
                            "value": "bZ[0][19]"
                          },
                          {
                            "name": "SizeY",
                            "value": "bY[0][19]"
                          },
                          {
                            "name": "LineWidth",
                            "value": "stroke"
                          }
                        ]
                      },
                      {
                        "Name": "vectorfield1102",
                        "Type": "ArrowSet3D",
                        "Properties": [
                          {
                            "name": "SizeX",
                            "value": "bX[0][20]"
                          },
                          {
                            "name": "X",
                            "value": "xposition[20]"
                          },
                          {
                            "name": "LineColor",
                            "value": "\"blue\""
                          },
                          {
                            "name": "Y",
                            "value": "yposition[0]"
                          },
                          {
                            "name": "SizeZ",
                            "value": "bZ[0][20]"
                          },
                          {
                            "name": "SizeY",
                            "value": "bY[0][20]"
                          },
                          {
                            "name": "LineWidth",
                            "value": "stroke"
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "Name": "vector2128",
                    "Type": "Group3D",
                    "Expanded": "true",
                    "Properties": [],
                    "Children": [
                      {
                        "Name": "vectorfield1112",
                        "Type": "ArrowSet3D",
                        "Properties": [
                          {
                            "name": "SizeX",
                            "value": "bX[0][21]"
                          },
                          {
                            "name": "X",
                            "value": "xposition[21]"
                          },
                          {
                            "name": "LineColor",
                            "value": "\"blue\""
                          },
                          {
                            "name": "Y",
                            "value": "yposition[0]"
                          },
                          {
                            "name": "SizeZ",
                            "value": "bZ[0][21]"
                          },
                          {
                            "name": "SizeY",
                            "value": "bY[0][21]"
                          },
                          {
                            "name": "LineWidth",
                            "value": "stroke"
                          }
                        ]
                      },
                      {
                        "Name": "vectorfield1222",
                        "Type": "ArrowSet3D",
                        "Properties": [
                          {
                            "name": "SizeX",
                            "value": "bX[0][22]"
                          },
                          {
                            "name": "X",
                            "value": "xposition[22]"
                          },
                          {
                            "name": "LineColor",
                            "value": "\"blue\""
                          },
                          {
                            "name": "Y",
                            "value": "yposition[0]"
                          },
                          {
                            "name": "SizeZ",
                            "value": "bZ[0][22]"
                          },
                          {
                            "name": "SizeY",
                            "value": "bY[0][22]"
                          },
                          {
                            "name": "LineWidth",
                            "value": "stroke"
                          }
                        ]
                      },
                      {
                        "Name": "vectorfield1322",
                        "Type": "ArrowSet3D",
                        "Properties": [
                          {
                            "name": "SizeX",
                            "value": "bX[0][23]"
                          },
                          {
                            "name": "X",
                            "value": "xposition[23]"
                          },
                          {
                            "name": "LineColor",
                            "value": "\"blue\""
                          },
                          {
                            "name": "Y",
                            "value": "yposition[0]"
                          },
                          {
                            "name": "SizeZ",
                            "value": "bZ[0][23]"
                          },
                          {
                            "name": "SizeY",
                            "value": "bY[0][23]"
                          },
                          {
                            "name": "LineWidth",
                            "value": "stroke"
                          }
                        ]
                      },
                      {
                        "Name": "vectorfield1422",
                        "Type": "ArrowSet3D",
                        "Properties": [
                          {
                            "name": "SizeX",
                            "value": "bX[0][24]"
                          },
                          {
                            "name": "X",
                            "value": "xposition[24]"
                          },
                          {
                            "name": "LineColor",
                            "value": "\"blue\""
                          },
                          {
                            "name": "Y",
                            "value": "yposition[0]"
                          },
                          {
                            "name": "SizeZ",
                            "value": "bZ[0][24]"
                          },
                          {
                            "name": "SizeY",
                            "value": "bY[0][24]"
                          },
                          {
                            "name": "LineWidth",
                            "value": "stroke"
                          }
                        ]
                      },
                      {
                        "Name": "vectorfield1522",
                        "Type": "ArrowSet3D",
                        "Properties": [
                          {
                            "name": "SizeX",
                            "value": "bX[0][25]"
                          },
                          {
                            "name": "X",
                            "value": "xposition[25]"
                          },
                          {
                            "name": "LineColor",
                            "value": "\"blue\""
                          },
                          {
                            "name": "Y",
                            "value": "yposition[0]"
                          },
                          {
                            "name": "SizeZ",
                            "value": "bZ[0][25]"
                          },
                          {
                            "name": "SizeY",
                            "value": "bY[0][25]"
                          },
                          {
                            "name": "LineWidth",
                            "value": "stroke"
                          }
                        ]
                      },
                      {
                        "Name": "vectorfield1622",
                        "Type": "ArrowSet3D",
                        "Properties": [
                          {
                            "name": "SizeX",
                            "value": "bX[0][26]"
                          },
                          {
                            "name": "X",
                            "value": "xposition[26]"
                          },
                          {
                            "name": "LineColor",
                            "value": "\"blue\""
                          },
                          {
                            "name": "Y",
                            "value": "yposition[0]"
                          },
                          {
                            "name": "SizeZ",
                            "value": "bZ[0][26]"
                          },
                          {
                            "name": "SizeY",
                            "value": "bY[0][26]"
                          },
                          {
                            "name": "LineWidth",
                            "value": "stroke"
                          }
                        ]
                      },
                      {
                        "Name": "vectorfield1722",
                        "Type": "ArrowSet3D",
                        "Properties": [
                          {
                            "name": "SizeX",
                            "value": "bX[0][27]"
                          },
                          {
                            "name": "X",
                            "value": "xposition[27]"
                          },
                          {
                            "name": "LineColor",
                            "value": "\"blue\""
                          },
                          {
                            "name": "Y",
                            "value": "yposition[0]"
                          },
                          {
                            "name": "SizeZ",
                            "value": "bZ[0][27]"
                          },
                          {
                            "name": "SizeY",
                            "value": "bY[0][27]"
                          },
                          {
                            "name": "LineWidth",
                            "value": "stroke"
                          }
                        ]
                      },
                      {
                        "Name": "vectorfield1822",
                        "Type": "ArrowSet3D",
                        "Properties": [
                          {
                            "name": "SizeX",
                            "value": "bX[0][28]"
                          },
                          {
                            "name": "X",
                            "value": "xposition[28]"
                          },
                          {
                            "name": "LineColor",
                            "value": "\"blue\""
                          },
                          {
                            "name": "Y",
                            "value": "yposition[0]"
                          },
                          {
                            "name": "SizeZ",
                            "value": "bZ[0][28]"
                          },
                          {
                            "name": "SizeY",
                            "value": "bY[0][28]"
                          },
                          {
                            "name": "LineWidth",
                            "value": "stroke"
                          }
                        ]
                      }
                    ]
                  }
                ]
              },
              {
                "Name": "plusstop",
                "Type": "Text3D",
                "Properties": [
                  {
                    "name": "SizeX",
                    "value": "20"
                  },
                  {
                    "name": "FitText",
                    "value": "true"
                  },
                  {
                    "name": "FontColor",
                    "value": "\"red\""
                  },
                  {
                    "name": "X",
                    "value": "6*xn[0]-5*xn[0]"
                  },
                  {
                    "name": "Y",
                    "value": "6*yn[0]-5*yn[0]"
                  },
                  {
                    "name": "Text",
                    "value": "\"+\""
                  },
                  {
                    "name": "Z",
                    "value": "6*zn[0]-5*zn[0]"
                  },
                  {
                    "name": "Visibility",
                    "value": "I>0"
                  },
                  {
                    "name": "SizeZ",
                    "value": "20"
                  },
                  {
                    "name": "SizeY",
                    "value": "20"
                  },
                  {
                    "name": "Font",
                    "value": "\"normal normal 200px \""
                  }
                ]
              },
              {
                "Name": "minusbottom",
                "Type": "Text3D",
                "Properties": [
                  {
                    "name": "SizeX",
                    "value": "20"
                  },
                  {
                    "name": "FontColor",
                    "value": "\"red\""
                  },
                  {
                    "name": "X",
                    "value": "6*xn[n-1]-5*xn[n-1]"
                  },
                  {
                    "name": "Y",
                    "value": "6*yn[n-1]-5*yn[n-1]"
                  },
                  {
                    "name": "Text",
                    "value": "\"-\""
                  },
                  {
                    "name": "SizeZ",
                    "value": "20"
                  },
                  {
                    "name": "Z",
                    "value": "6*zn[n-1]-5*zn[n-1]"
                  },
                  {
                    "name": "Visibility",
                    "value": "I>0"
                  },
                  {
                    "name": "SizeY",
                    "value": "20"
                  },
                  {
                    "name": "Font",
                    "value": "\"normal normal 200px \""
                  }
                ]
              },
              {
                "Name": "minustop",
                "Type": "Text3D",
                "Properties": [
                  {
                    "name": "SizeX",
                    "value": "20"
                  },
                  {
                    "name": "FitText",
                    "value": "true"
                  },
                  {
                    "name": "FontColor",
                    "value": "\"red\""
                  },
                  {
                    "name": "X",
                    "value": "6*xn[0]-5*xn[0]"
                  },
                  {
                    "name": "Y",
                    "value": "6*yn[0]-5*yn[0]"
                  },
                  {
                    "name": "Text",
                    "value": "\"-\""
                  },
                  {
                    "name": "SizeZ",
                    "value": "20"
                  },
                  {
                    "name": "Z",
                    "value": "6*zn[0]-5*zn[0]"
                  },
                  {
                    "name": "Visibility",
                    "value": "I<0"
                  },
                  {
                    "name": "SizeY",
                    "value": "20"
                  },
                  {
                    "name": "Font",
                    "value": "\"normal normal 200px \""
                  }
                ]
              },
              {
                "Name": "plustop",
                "Type": "Text3D",
                "Properties": [
                  {
                    "name": "SizeX",
                    "value": "20"
                  },
                  {
                    "name": "FitText",
                    "value": "true"
                  },
                  {
                    "name": "FontColor",
                    "value": "\"red\""
                  },
                  {
                    "name": "X",
                    "value": "6*xn[n-1]-5*xn[n-1]"
                  },
                  {
                    "name": "Y",
                    "value": "6*yn[n-1]-5*yn[n-1]"
                  },
                  {
                    "name": "Text",
                    "value": "\"+\""
                  },
                  {
                    "name": "Z",
                    "value": "6*zn[n-1]-5*zn[n-1]"
                  },
                  {
                    "name": "Visibility",
                    "value": "I<0"
                  },
                  {
                    "name": "SizeZ",
                    "value": "20"
                  },
                  {
                    "name": "SizeY",
                    "value": "20"
                  },
                  {
                    "name": "Font",
                    "value": "\"normal normal 200px \""
                  }
                ]
              },
              {
                "Name": "arrow3D",
                "Type": "Arrow3D",
                "Properties": [
                  {
                    "name": "HeadHeight",
                    "value": "headheight"
                  },
                  {
                    "name": "FillColor",
                    "value": "\"rgb(64,128,0)\""
                  },
                  {
                    "name": "SizeX",
                    "value": "5*(5*xn[1]-5*xn[0])*I"
                  },
                  {
                    "name": "HeadWidth",
                    "value": "headwidth"
                  },
                  {
                    "name": "X",
                    "value": "6*xn[0]-5*xn[0]"
                  },
                  {
                    "name": "LineColor",
                    "value": "\"Green\""
                  },
                  {
                    "name": "Y",
                    "value": "6*yn[0]-5*yn[0]"
                  },
                  {
                    "name": "Z",
                    "value": "6*zn[0]-5*zn[0]"
                  },
                  {
                    "name": "SizeZ",
                    "value": "5*(5*zn[1]-5*zn[0])*I"
                  },
                  {
                    "name": "Visibility",
                    "value": "current"
                  },
                  {
                    "name": "SizeY",
                    "value": "5*(5*yn[1]-5*yn[0])*I"
                  },
                  {
                    "name": "DrawLines",
                    "value": "true"
                  },
                  {
                    "name": "LineWidth",
                    "value": "stroke*2"
                  }
                ]
              },
              {
                "Name": "currentarrow",
                "Type": "Arrow3D",
                "Properties": [
                  {
                    "name": "HeadHeight",
                    "value": "headheight"
                  },
                  {
                    "name": "FillColor",
                    "value": "\"rgb(64,128,0)\""
                  },
                  {
                    "name": "SizeX",
                    "value": "5*(5*xn[n-1]-5*xn[n-2])*I"
                  },
                  {
                    "name": "HeadWidth",
                    "value": "headwidth"
                  },
                  {
                    "name": "X",
                    "value": "6*xn[n-1]-5*xn[n-1]"
                  },
                  {
                    "name": "LineColor",
                    "value": "\"rgb(64,128,0)\""
                  },
                  {
                    "name": "Y",
                    "value": "6*yn[n-1]-5*yn[n-1]"
                  },
                  {
                    "name": "Z",
                    "value": "6*zn[n-1]-5*zn[n-1]"
                  },
                  {
                    "name": "SizeZ",
                    "value": "5*(5*zn[n-1]-5*zn[n-2])*I"
                  },
                  {
                    "name": "Visibility",
                    "value": "current"
                  },
                  {
                    "name": "SizeY",
                    "value": "5*(5*yn[n-1]-5*yn[n-2])*I"
                  },
                  {
                    "name": "LineWidth",
                    "value": "stroke*2"
                  }
                ]
              },
              {
                "Name": "plane3D",
                "Type": "Plane3D",
                "Properties": [
                  {
                    "name": "FillColor",
                    "value": "\"rgb(192,192,192)\""
                  },
                  {
                    "name": "Transparency",
                    "value": "128"
                  },
                  {
                    "name": "SizeX",
                    "value": "range"
                  },
                  {
                    "name": "X",
                    "value": "0"
                  },
                  {
                    "name": "Y",
                    "value": "0"
                  },
                  {
                    "name": "Z",
                    "value": "z*0.99"
                  },
                  {
                    "name": "SizeY",
                    "value": "range"
                  }
                ]
              },
              {
                "Name": "North",
                "Type": "Text3D",
                "Properties": [
                  {
                    "name": "SizeX",
                    "value": "10"
                  },
                  {
                    "name": "FitText",
                    "value": "true"
                  },
                  {
                    "name": "X",
                    "value": "0"
                  },
                  {
                    "name": "Y",
                    "value": "nCoils*yn[n-1]/5*2"
                  },
                  {
                    "name": "Z",
                    "value": "0"
                  },
                  {
                    "name": "Visibility",
                    "value": "(t>=T2&&polarity==true&&I>0)"
                  },
                  {
                    "name": "Text",
                    "value": "\"North\""
                  },
                  {
                    "name": "SizeZ",
                    "value": "10"
                  },
                  {
                    "name": "SizeY",
                    "value": "10"
                  },
                  {
                    "name": "FontColor",
                    "value": "\"Red\""
                  }
                ]
              },
              {
                "Name": "South",
                "Type": "Text3D",
                "Properties": [
                  {
                    "name": "X",
                    "value": "0"
                  },
                  {
                    "name": "Y",
                    "value": "nCoils*yn[0]/5*2"
                  },
                  {
                    "name": "Z",
                    "value": "0"
                  },
                  {
                    "name": "Visibility",
                    "value": "(t>=T2&&polarity==true&&I>0)"
                  },
                  {
                    "name": "Text",
                    "value": "\"South\""
                  },
                  {
                    "name": "SizeX",
                    "value": "10"
                  },
                  {
                    "name": "FitText",
                    "value": "true"
                  },
                  {
                    "name": "SizeY",
                    "value": "10"
                  },
                  {
                    "name": "SizeZ",
                    "value": "10"
                  },
                  {
                    "name": "FontColor",
                    "value": "\"Cyan\""
                  }
                ]
              },
              {
                "Name": "South2",
                "Type": "Text3D",
                "Properties": [
                  {
                    "name": "SizeX",
                    "value": "10"
                  },
                  {
                    "name": "X",
                    "value": "0"
                  },
                  {
                    "name": "Y",
                    "value": "nCoils*yn[n-1]/5*2"
                  },
                  {
                    "name": "Z",
                    "value": "0"
                  },
                  {
                    "name": "SizeZ",
                    "value": "10"
                  },
                  {
                    "name": "Visibility",
                    "value": "(t>=T2&&polarity==true&&I<0)"
                  },
                  {
                    "name": "Text",
                    "value": "\"South\""
                  },
                  {
                    "name": "SizeY",
                    "value": "10"
                  },
                  {
                    "name": "FitText",
                    "value": "true"
                  },
                  {
                    "name": "FontColor",
                    "value": "\"Cyan\""
                  }
                ]
              },
              {
                "Name": "North2",
                "Type": "Text3D",
                "Properties": [
                  {
                    "name": "X",
                    "value": "0"
                  },
                  {
                    "name": "Y",
                    "value": "nCoils*yn[0]/5*2"
                  },
                  {
                    "name": "Text",
                    "value": "\"North\""
                  },
                  {
                    "name": "Visibility",
                    "value": "(t>=T2&&polarity==true&&I<0)"
                  },
                  {
                    "name": "Z",
                    "value": "0"
                  },
                  {
                    "name": "SizeX",
                    "value": "10"
                  },
                  {
                    "name": "SizeY",
                    "value": "10"
                  },
                  {
                    "name": "SizeZ",
                    "value": "10"
                  },
                  {
                    "name": "FitText",
                    "value": "true"
                  },
                  {
                    "name": "FontColor",
                    "value": "\"Red\""
                  }
                ]
              }
            ]
          }
        ]
      },
      {
        "Name": "html",
        "Type": "Panel",
        "Properties": [
          {
            "name": "Html",
            "value": "<h1>Magnetic Field from Circular Current Loops Simulation</h1>\n<p>\n    This interactive simulation enables users to explore the magnetic field generated by circular current loops. Adjust parameters such as the number of loops, the current flowing through the loops, and the z-slice to observe how these factors influence the magnetic field's strength and pattern.\n</p>\n\n<h2>Features</h2>\n<ul>\n    <li>Visualize magnetic field lines in 3D and 2D plane slices to analyze their symmetry and distribution.</li>\n    <li>Adjustable parameters including current, number of loops, z-slice, and magnetic poles (North and South).</li>\n    <li>Dynamic graph displaying magnetic field strength along the z-plane across the loop.</li>\n    <li>Interactive controls for hands-on learning and enhanced conceptual understanding of electromagnetism.</li>\n</ul>\n\n<h2>Learning Objectives</h2>\n<ul>\n    <li>Understand the relationship between current, number of loops, and magnetic field strength.</li>\n    <li>Apply the right-hand grip rule to determine the resulting North and South poles in the magnetic field produced by current loop coils.</li>\n    <li>Analyze the effects of superposition of magnetic fields from multiple loops on the overall field pattern.</li>\n</ul>\n\n<h2>How to Use</h2>\n<p>\n    Use the sliders and input fields to modify the simulation parameters. Observe how changes in current, number of loops, and z-slice affect the magnetic field's characteristics. To reset the simulation to default settings, use the reset button. For an entirely fresh start, refresh the browser to clear previously saved values.\n</p>\n\n<h2>Applications</h2>\n<p>\n    This simulation is an excellent tool for learning the fundamentals of electromagnetism, including concepts such as solenoids, magnetic field patterns, and the Biot-Savart law. It is ideal for students at the secondary or junior college levels studying physics.\n</p>"
          }
        ]
      }
    ],
    "RootProperties": []
  },
  "metadata": {
    "APP": "WebEJS",
    "CreatedWith": "WebEJS : The web version of Easy JavaScript Simulations",
    "MoreInfo": "WebEJS 1.1",
    "version": "https://www.um.es/fem/wikis/webejs/"
  }
}