simulations.objects
Class BaseObject

java.lang.Object
  extended bysimulations.objects.BaseObject
Direct Known Subclasses:
ChargeRingFinite, ColorTestField, ConstantFields, CurrentRing, CurrentSheet, DataInputObject, EddyCurrents, EflowXY, ElectricAntenna, ElectricDipole, ElectricDipoleRotating, ElectricDipoleStatic, ElectromagneticPlaneWave, EMCollection, EMTransform, HelioField, InfiniteWire, ISMfield, Line3DMagneticDipoles, LineCurrent, LineMagneticMonopoles, MagneticDipole, MagneticDipoleStatic, MagneticMonopole, MovingMagneticField, MovingRecedingImagePotentialAbove, MovingRecedingImagePotentialBelow, PointCharge, TwoPlanes

public abstract class BaseObject
extends java.lang.Object

This is the abstract base class for physical objects. Its methods describe how a given source object (for example a line of current or a point charge) produce electromagnetic and other fields. Every derived subclass must provide a method to compute the various fields in the rest frame of the observer by defining the Vec3 to Vec3 mapping in the methods Efield(), Bfield(), and Pfield().

Version:
1.0
Author:
Andreas Sundquist, John Belcher

Constructor Summary
BaseObject()
           
 
Method Summary
 Vec3 Bfield(Vec3 x)
          Returns: a new Vec3 with the value of the magnetic field at 'x'.
abstract  Vec3 Bfield(Vec3 x, Vec3 B)
          Sets 'B' to the value of the magnetic field at 'x'.
 Vec3 Efield(Vec3 x)
          Returns: a new Vec3 with the value of the electric field at 'x'.
abstract  Vec3 Efield(Vec3 x, Vec3 E)
          Sets 'E' to the value of the electric field at 'x'.
 void Evolve(double dt)
          Evolves the object by the amount of time 'dt'.
 Vec3 Pfield(Vec3 x)
          Returns: a new Vec3 with the value of the Pauli field at 'x'.
 Vec3 Pfield(Vec3 x, Vec3 P)
          Sets 'P' to the value of the Pauli field at 'x'.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BaseObject

public BaseObject()
Method Detail

Efield

public abstract Vec3 Efield(Vec3 x,
                            Vec3 E)
Sets 'E' to the value of the electric field at 'x'. 'x' is not modified. Returns: resulting 'E'

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 abstract Vec3 Bfield(Vec3 x,
                            Vec3 B)
Sets 'B' to the value of the magnetic field at 'x'. 'x' is not modified. Returns: resulting 'B'. * @param x the position of the observer

Parameters:
B - the magnetic field at the observer's position
Returns:
B the magnetic field at the observer's position

Pfield

public Vec3 Pfield(Vec3 x,
                   Vec3 P)
Sets 'P' to the value of the Pauli field at 'x'. 'x' is not modified. Returns: resulting 'P'.

Parameters:
x - the position of the observer
P - the Pauli field at the observer's position
Returns:
P the Pauli field at the observer's position

Efield

public Vec3 Efield(Vec3 x)
Returns: a new Vec3 with the value of the electric field at 'x'. 'x' is not modified.

Parameters:
x - the position of the observer
Returns:
E the electric field at the position of the observer

Pfield

public Vec3 Pfield(Vec3 x)
Returns: a new Vec3 with the value of the Pauli field at 'x'. 'x' is not modified.

Parameters:
x - the position of the observer
Returns:
P the Pauli field at the position of the observer

Bfield

public Vec3 Bfield(Vec3 x)
Returns: a new Vec3 with the value of the magnetic field at 'x'. 'x' is not modified.

Parameters:
x - the position of the observer
Returns:
B the magnetic field at the position of the observer

Evolve

public void Evolve(double dt)
Evolves the object by the amount of time 'dt'.

Parameters:
dt - the time step