Class ParticleSolution

java.lang.Object
  extended bySolution
      extended byParticleSolution
Direct Known Subclasses:
MCPSolution

abstract class ParticleSolution
extends Solution

ParticleSolution -- Is an abstract class at the top of all the solvers that that push particles in phase space.

Version:
$Revision: 1.12 $
See Also:
Solution

Field Summary
protected  double[][] currentState
          A vector with the position of the particles
protected  boolean distributionUpToDate
          Whether the distribution function is up to date
protected  int numberOfRealisations
          The number of test particles in the simulation
protected  java.util.Random random
          Random number generator
protected  double stateDensity
          The amount of mass each test particle represents
 
Fields inherited from class Solution
df, dfm, dfp, dg, dgm, dgp, dx, f, f0, fm, fp, g, gm, gp, ic, initialMoments, mesh, method, scheme, time, topic, x, x_0, x_1, xOffset, xSize, y_0, y_1, yOffset, ySize
 
Constructor Summary
ParticleSolution(RunData runData)
          Creates a ParticleSolution object.
 
Method Summary
 void discretize(ShapeFunction function)
          Discretize the initial Shape function and initialize the moments Initializes a new set of particles, the number being determined by the numerical scheme parameter.
protected  void generateDistribution()
          Generates the distribution function from the set of test particles.
 double getValue(double arg)
          Linear interpolation of the solution.
 double getValue(int index)
          Gives the value of the function for an index
 double[] limits()
          Calculates the limits of the solution.
 double momentsDeviation(int m)
          Calculates the deviation from the m:th initial moment.
 boolean previous(RunData runData)
          Take the solution backward one step to initialize 3 time level schemes; not appropriate in this context.
 
Methods inherited from class Solution
calculateMoments, getTime, getWinSize, hasOption, incTime, limits, measure, next, output, plot, rescale, setIC, setMethod, setScheme, setTime, setTopic, updateHeaders
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

numberOfRealisations

protected int numberOfRealisations
The number of test particles in the simulation


currentState

protected double[][] currentState
A vector with the position of the particles


stateDensity

protected double stateDensity
The amount of mass each test particle represents


distributionUpToDate

protected boolean distributionUpToDate
Whether the distribution function is up to date


random

protected java.util.Random random
Random number generator

Constructor Detail

ParticleSolution

public ParticleSolution(RunData runData)
Creates a ParticleSolution object. The method discretize() must be called before next() is called for the first time.

Parameters:
runData - The run time parameters
See Also:
Solution.next(RunData), Solution.discretize(ShapeFunction)
Method Detail

previous

public boolean previous(RunData runData)
Take the solution backward one step to initialize 3 time level schemes; not appropriate in this context.

Specified by:
previous in class Solution
Parameters:
runData - List of run parameters
Returns:
False since it is not used here
See Also:
RunData

discretize

public void discretize(ShapeFunction function)
Discretize the initial Shape function and initialize the moments Initializes a new set of particles, the number being determined by the numerical scheme parameter.

Specified by:
discretize in class Solution
Parameters:
function - The initial shape to be approximated
See Also:
Solution.setScheme(java.lang.String)

momentsDeviation

public double momentsDeviation(int m)
Calculates the deviation from the m:th initial moment.

Overrides:
momentsDeviation in class Solution
Parameters:
m - The order of the moment
Returns:
The deviation of the m:th moment from the beginning

limits

public double[] limits()
Calculates the limits of the solution.

Returns:
A vector consisting of {min(solution), max(solution)}

getValue

public double getValue(int index)
Gives the value of the function for an index

Overrides:
getValue in class Solution
Parameters:
index - The index for which to get the value
Returns:
The value of the distribution function at a given index

getValue

public double getValue(double arg)
Linear interpolation of the solution. Assumes a uniform mesh.

Overrides:
getValue in class Solution
Parameters:
arg - Argument
Returns:
A linear interpolation of the function for a given argument

generateDistribution

protected void generateDistribution()
Generates the distribution function from the set of test particles. Assumes a uniform mesh.