simulations.objects
Class ElectricDipole

java.lang.Object
  extended bysimulations.objects.BaseObject
      extended bysimulations.objects.ElectricDipole
Direct Known Subclasses:
ElectricOscillatingDipole

public class ElectricDipole
extends BaseObject

This is a quasi-static electric dipole moving at constant velocity that can be extended to a time varying radiating electric dipole (see for example ElectricOscillatingDipole). In this routine we set the time derivative and the second time derivative of the dipole moment vector to zero, even though we have in the expressions for the electric and magnetic field the full radiation correct terms for a point electric dipole. To do radiaton terms we have to put in correct expressions for the time derivatives of the dipole moment, as in ElectricOscillatingDipole. Important note: for color coding purposes, where we want to color code the DLIC according to the magnitude of the electric field, we multiply the overall electric field of this dipole by one factor of the radius and scale it by 1/100. If you want this dipole to interact with other electromagnetic objects you must compensate for this!!!!

Version:
1.0
Author:
Andreas Sunquist

Field Summary
 Vec3 p
          The dipole moment of the dipole.
 double t
          The time.
 Vec3 v
          The constant velocity of the dipole.
 Vec3 x
          The position of the dipole.
 
Constructor Summary
ElectricDipole(Vec3 x, Vec3 p)
          Create an electric dipole with zero velocity at t = 0.
ElectricDipole(Vec3 x, Vec3 v, Vec3 p)
          Create an electric dipole with non-zero velocity at t = 0.
 
Method Summary
 Vec3 Bfield(Vec3 x, Vec3 B)
          Compute the magnetic field at position x and time t
 Vec3 Efield(Vec3 x, Vec3 E)
          Compute the electric field at position x and time t
 void Evolve(double dt)
          Evolve the dipole time and position.
 Vec3 getDDP(double dtretarded)
          Get the second time derivative of dipole moment vector of the dipole.
 Vec3 getDP(double dtretarded)
          Get the time derivative of dipole moment vector of the dipole.
 Vec3 getP(double dtretarded)
          Get the dipole moment vector.
 double getT()
          Get the time.
 
Methods inherited from class simulations.objects.BaseObject
Bfield, Efield, Pfield, Pfield
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

x

public Vec3 x
The position of the dipole.


v

public Vec3 v
The constant velocity of the dipole.


p

public Vec3 p
The dipole moment of the dipole.


t

public double t
The time.

Constructor Detail

ElectricDipole

public ElectricDipole(Vec3 x,
                      Vec3 p)
Create an electric dipole with zero velocity at t = 0.


ElectricDipole

public ElectricDipole(Vec3 x,
                      Vec3 v,
                      Vec3 p)
Create an electric dipole with non-zero velocity at t = 0.

Method Detail

getT

public double getT()
Get the time. This allows us the find the current time for this dipole.


getP

public Vec3 getP(double dtretarded)
Get the dipole moment vector. Here we always return the constant dipole moment vector p, which does not evolve in time. To extend this to non-quasi-static dipoles or radiating dipoles, this method must be overridden. See for example ElectricOscillatingDipole


getDP

public Vec3 getDP(double dtretarded)
Get the time derivative of dipole moment vector of the dipole. Here we set this to zero, so that we have a quasi-static electric dipole. To extend this to non-quasi-static dipoles, this method must be overridden, see for example ElectricOscillatingDipole


getDDP

public Vec3 getDDP(double dtretarded)
Get the second time derivative of dipole moment vector of the dipole. Here we set this to zero, so that we have a quasi-static electric dipole. To extend this to non-quasi-static dipoles, this method must be overridden, see for example ElectricOscillatingDipole


Evolve

public void Evolve(double dt)
Evolve the dipole time and position. This needs to be improved if the dipole is not moving with constant speed.

Overrides:
Evolve in class BaseObject
Parameters:
dt - the time step

Efield

public Vec3 Efield(Vec3 x,
                   Vec3 E)
Compute the electric field at position x and time t

Specified by:
Efield in class BaseObject
Parameters:
x - the position of the observer
E - the electric field at the observer's position
Returns:
E the electric field at the observer's position

Bfield

public Vec3 Bfield(Vec3 x,
                   Vec3 B)
Compute the magnetic field at position x and time t

Specified by:
Bfield in class BaseObject
Parameters:
B - the magnetic field at the observer's position
Returns:
B the magnetic field at the observer's position