Storing Cookies (See : http://ec.europa.eu/ipg/basics/legal/cookies/index_en.htm ) help us to bring you our services at overunity.com . If you use this website and our services you declare yourself okay with using cookies .More Infos here:
https://overunity.com/5553/privacy-policy/
If you do not agree with storing cookies, please LEAVE this website now. From the 25th of May 2018, every existing user has to accept the GDPR agreement at first login. If a user is unwilling to accept the GDPR, he should email us and request to erase his account. Many thanks for your understanding

User Menu

Custom Search

Author Topic: Electrostatic generator  (Read 2819 times)

EOW

  • Sr. Member
  • ****
  • Posts: 383
Electrostatic generator
« on: July 08, 2015, 11:54:09 PM »
I calculated the sum of energy with a charged particle in a linear translation (axis X) with a circular dipole (2 charges) in rotation. I think with electrostatic charges for example and the law is like 1/d². The single particle has a mass 'm' and has a velocity 'v0' at start. A disk turns only (no translation) has an inertia 'j' and 2 charged particles are fixed on it (one positive, one negative). I calculated the energy for one turn only, it's enough but I calculated for several rounds and the energy is not the same.

The energy must be the same for one turn, why ? because the single particle don't need an energy for move far away or move closer to the disk: the disk has one charge positive and one charge negative !

But with a disk in rotation and a charge with a velocity the energy is not the same. And it's logical because the single particle accelerates/decelerates with a difference of forces but the disk accelerates/decelerates with the sum of forces.



-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

I give the program in python for test my results. I used the lib gmpy2 for better precision, so install it before.

import gmpy2
import matplotlib.pyplot as plt
import matplotlib.cm as cm
from gmpy2 import mpfr


dt=mpfr("1e-4")      # step time converge from 1e-4 s

pi=mpfr("3.14159265358979323846264338327950288419716939937510")   # pi 50 digits

m   = mpfr("1")    # mass of single particle
j   = mpfr("3")      # inertia of disk
v0  = mpfr("1")      # initial velocity of single particle
w0  = mpfr("1.2")      # initial angular velocity of disk
d   = mpfr("100")   # distance between the single particle and the disk
r   = mpfr("0.05")   # radius of the disk
o0  = mpfr("0")      # angular at start
k   = mpfr("1")      # coeficient of the force

t   = mpfr("0")      # the time
f1  = mpfr("0")      # force from the single particle and the attractive particle on disk
f2  = mpfr("0")      # force from the single particle and the repulsive particle on disk
f1x = mpfr("0")      # force f1 on the axis X
f2x = mpfr("0")      # force f2 on the axis X

v   = mpfr("0")      # the linear velocity of the single particle
a   = mpfr("0")      # the acceleration of the single particle
d0  = mpfr("0")      # the distance at start
x   = mpfr("0")      # the position of the single particle

w   = mpfr("0")      # the angular velocity
s  = mpfr("0")      # the angular acceleration
o   = mpfr("0")      # the angle
f1r = mpfr("0")      # torque
f2r = mpfr("0")      # torque

l1  = mpfr("0")      # the lenght between in axis x from the single particle and the attractive particle on the disk
l2  = mpfr("0")      # the lenght between in axis x from the single particle and the repulsive particle on the disk
yc1 = mpfr("0")      # the root of length between the single particle and the attractive particle on the disk
yc2 = mpfr("0")      # the root of length between the single particle and the repulsive particle on the disk
h   = mpfr("0")      # the vertical distance of a particle on the disk

el  = []      # list of each linear velocity of the single particle
wl  = []      # list of each angular velocity of the disk
tl  = []      # list of each time


with gmpy2.local_context(gmpy2.context(), precision=200) as ctx:

   v=v0      # set v at V0
   w=w0      # set w at w0
   x=d0+d      # set position of the single particle at d0+d
   o=o0      # set the start angular position (not necessary)

   while o < 2*pi :
   
       h=r*( abs( gmpy2.cos(o)))      
      l1=x+r*(1-gmpy2.cos(o-pi/2.0))
      l2=x+r*(1+gmpy2.cos(o-pi/2.0))      
      yc1=pow( l1 ,2 ) + pow( h ,2 )
      yc2=pow( l2 ,2 ) + pow( h ,2 )
      f1=k/yc1         # calculate the force from single particle to attractive particle on the disk
      f2=k/yc2         # calculate the force from single particle to repulsive particle on the disk
      f1x=f1*l1/gmpy2.sqrt(yc1)
      f2x=f2*l2/gmpy2.sqrt(yc2)
      a=(f1x-f2x)/m         # calculate the linear acceleration of the single particle
      v=v+a*dt         # calculate the linear velocity of the single particle
      x=x-( 1/2.0*a*dt*dt+v*dt )

      f1r=f1*(x+r)*abs(gmpy2.cos(pi/2.0-gmpy2.acos(l1/gmpy2.sqrt(yc1)))) # the torque from single particle to attractive on disk
      f2r=f2*(x+r)*abs(gmpy2.cos(pi/2.0-gmpy2.acos(l2/gmpy2.sqrt(yc2)))) # the torque from single particle to repulsive on disk
      if o < pi/2.0:
         s=(f1r+f2r)/j         # calculate the angular acceleration
      elif o >= pi/2.0 and o < pi:
         s=(-f1r-f2r)/j         # calculate the angular acceleration
      elif o >= pi and o < 3.0*pi/2.0:
         s=(-f1r-f2r)/j         # calculate the angular acceleration
      elif o >= 3.0*pi/2.0 and o < 2*pi:
         s=(f1r+f2r)/j         # calculate the angular acceleration
      w=w+s*dt         # calculate the angular velocity of the disk
      o=o+w*dt+1/2.0*s*dt*dt      # calculate the angle   

      el.append(1/2.0*m*v*v-1/2.0*m*v0*v0)
      wl.append(1/2.0*j*w*w-1/2.0*j*w0*w0)         
      tl.append(t)


      t=t+dt            # add step time
      

   # print various datas
   print "v=",v
   print "x=",x
   print "w=",w
   print "o=",o
   print "t=",t
   print "f1x=",f1x
   print "f1y=",f2x
   
   print "E at start = ",1/2.0*m*v0*v0+1/2.0*j*w0*w0    # print the energy at start
   print "E at final = ",1/2.0*m*v*v+1/2.0*j*w*w       # print the energy at end

   
   # plot energies
   fig, ax1 = plt.subplots()
   ax2 = ax1.twinx()
   ax1.set_xlabel('Time (s)')
   ax1.set_ylabel('E lin (J)', color='b')
   ax1.plot(tl,el,'b')
   ax2.set_ylabel('E w (J)', color='r')
   ax2.plot(tl,wl,'r')
   plt.show()
   
















« Last Edit: July 09, 2015, 11:22:17 AM by EOW »

Low-Q

  • Hero Member
  • *****
  • Posts: 2847
Re: Electrostatic generator
« Reply #1 on: July 09, 2015, 09:46:42 PM »
Nice. Just not hoping you believe anything of this is over unity ;-)
Any charge, wether it is electrons or mechanical potential energy, everything is accounted for.

Vidar