simulations.experiments.fluidFlow
Class HeliosphereFlowExperiment

java.lang.Object
  extended bysimulations.experiments.BaseExperiment
      extended bysimulations.experiments.fluidFlow.HeliosphereFlowExperiment

public class HeliosphereFlowExperiment
extends BaseExperiment

Heliosphere flow experiment.

Version:
1.0
Author:
John Belcher

Nested Class Summary
private  class HeliosphereFlowExperiment.Motion
          The equation of motion governing the evolution of the system
 
Field Summary
private  EMCollection collection
          The sum of these two flow fields.
private  HeliosphereFlowExperiment.Motion equations
          The equation of motion for the system (just Coulomb repulsion)
private  HelioField hfield
           
private  ISMfield ifield
           
private  RungeKuttaIntegration integrator
          The integrator used to evolve the system
private  double radiusBowShock
          The radius of the Bow Shock
private  double radiusTerminationShock
          The radius of the termination shock.
private  double t
          The time t
private  Vec3 Xsun
          The position of the Sun.
 
Fields inherited from class simulations.experiments.BaseExperiment
eps, FieldMotionType, FieldType, FluidFlowSpeed, Fnorm, Fpower, numberSmallSteps
 
Constructor Summary
HeliosphereFlowExperiment(double radiusBowShock, double radiusTerminationShock, Vec3 Xsun)
          Constructs the heliosphere using two parameters
 
Method Summary
 void ConstructEMSource()
          Construct the EMColletion object which is the sum of the two charges
 void Evolve(double dt)
          Evolves the experiment by a time step "dt" using an RK4 integrator by taking numberSmallSteps between t and t + dt, for accuracy.
 void Evolve(double dt, double maxStep)
          Evolves the experiment a time step dt
 BaseObject getEMSource()
          Returns the BaseObject that is the collection of the two point charges
 double getFlowSpeed(Vec3 r, Vec RegionFlow)
           
 double getHue(double TargetHue, Vec3 r, Vec RegionColor)
           
private static void println(java.lang.String s)
          A local way to print a string
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

radiusBowShock

private double radiusBowShock
The radius of the Bow Shock


radiusTerminationShock

private double radiusTerminationShock
The radius of the termination shock.


Xsun

private Vec3 Xsun
The position of the Sun.


t

private double t
The time t


ifield

private ISMfield ifield

hfield

private HelioField hfield

collection

private EMCollection collection
The sum of these two flow fields.


equations

private HeliosphereFlowExperiment.Motion equations
The equation of motion for the system (just Coulomb repulsion)


integrator

private RungeKuttaIntegration integrator
The integrator used to evolve the system

Constructor Detail

HeliosphereFlowExperiment

public HeliosphereFlowExperiment(double radiusBowShock,
                                 double radiusTerminationShock,
                                 Vec3 Xsun)
Constructs the heliosphere using two parameters

Parameters:
radiusBowShock - Radius of the bow shock.
radiusTerminationShock - Radius of the termination shock.
Xsun - The position of the sun.
Method Detail

ConstructEMSource

public void ConstructEMSource()
Construct the EMColletion object which is the sum of the two charges

Specified by:
ConstructEMSource in class BaseExperiment

getEMSource

public BaseObject getEMSource()
Returns the BaseObject that is the collection of the two point charges

Specified by:
getEMSource in class BaseExperiment

Evolve

public void Evolve(double dt,
                   double maxStep)
Evolves the experiment a time step dt


getHue

public double getHue(double TargetHue,
                     Vec3 r,
                     Vec RegionColor)
Specified by:
getHue in class BaseExperiment

getFlowSpeed

public double getFlowSpeed(Vec3 r,
                           Vec RegionFlow)
Specified by:
getFlowSpeed in class BaseExperiment

Evolve

public void Evolve(double dt)
Evolves the experiment by a time step "dt" using an RK4 integrator by taking numberSmallSteps between t and t + dt, for accuracy.

Specified by:
Evolve in class BaseExperiment

println

private static void println(java.lang.String s)
A local way to print a string