net.algart.model3d.common.movement
Class MovingSpheresModel

java.lang.Object
  extended by net.algart.model3d.common.movement.MovingSpheresModel

public class MovingSpheresModel
extends java.lang.Object

A simple physical model of moving and impacting elastic balls. It is a "model" part of MVC pattern, implemented by this package.

Please see the source code for more details.

AlgART Laboratory 2010

Since:
JDK 1.5
Version:
1.0
Author:
Daniel Alievsky

Field Summary
Modifier and Type Field and Description
static int EULER_MOVEMENT_INTEGRATOR
           
protected  MovementIntegrator movementIntegrator
           
static int RK4_MOVEMENT_INTEGRATOR
           
static int RKF45_MOVEMENT_INTEGRATOR
           
 
Constructor Summary
Constructor and Description
MovingSpheresModel(ParameterGetter pg)
           
 
Method Summary
Modifier and Type Method and Description
 void addInitialItems()
           
 void addNonintersectingRandomElasticBallsInBunker(int count, double averageRadius, double standardDeviation, double minRadius, double maxRadius)
           
protected  java.util.List<InteractionRule> createInteractionRules()
           
protected  MovementIntegrator createMovementIntegrator(int movementIntegratorCode)
           
 double getBallDensity()
           
 double getBallElasticityModulus()
           
 double getBallFrictionCoefficient()
           
 double getBunkerMaxX()
           
 double getBunkerMaxY()
           
 double getBunkerMaxZ()
           
 double getBunkerMinX()
           
 double getBunkerMinY()
           
 double getBunkerMinZ()
           
 Earth getEarth()
           
 ItemSet getItemSet()
           
 int getMovementIntegratorCode()
           
 int getNumberOfWalls()
           
 PhysicalMedium getPhysicalMedium()
           
 java.util.Random getRand()
           
 void removeAll()
           
 void resetRandSeed()
           
 void setBallDensity(double ballDensity)
           
 void setBallElasticityModulus(double ballElasticityModulus)
           
 void setBallFrictionCoefficient(double ballFrictionCoefficient)
           
 void setBunkerMaxX(double bunkerMaxX)
           
 void setBunkerMaxY(double bunkerMaxY)
           
 void setBunkerMaxZ(double bunkerMaxZ)
           
 void setBunkerMinX(double bunkerMinX)
           
 void setBunkerMinY(double bunkerMinY)
           
 void setBunkerMinZ(double bunkerMinZ)
           
 void setMovementIntegrator(int movementIntegratorCode)
           
 void setRandSeed(long seed)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

EULER_MOVEMENT_INTEGRATOR

public static final int EULER_MOVEMENT_INTEGRATOR
See Also:
Constant Field Values

RK4_MOVEMENT_INTEGRATOR

public static final int RK4_MOVEMENT_INTEGRATOR
See Also:
Constant Field Values

RKF45_MOVEMENT_INTEGRATOR

public static final int RKF45_MOVEMENT_INTEGRATOR
See Also:
Constant Field Values

movementIntegrator

protected MovementIntegrator movementIntegrator
Constructor Detail

MovingSpheresModel

public MovingSpheresModel(ParameterGetter pg)
Method Detail

resetRandSeed

public void resetRandSeed()

setRandSeed

public void setRandSeed(long seed)

getRand

public java.util.Random getRand()

getItemSet

public ItemSet getItemSet()

removeAll

public void removeAll()

addInitialItems

public void addInitialItems()

addNonintersectingRandomElasticBallsInBunker

public void addNonintersectingRandomElasticBallsInBunker(int count,
                                                         double averageRadius,
                                                         double standardDeviation,
                                                         double minRadius,
                                                         double maxRadius)

getBunkerMinX

public double getBunkerMinX()

setBunkerMinX

public void setBunkerMinX(double bunkerMinX)

getBunkerMaxX

public double getBunkerMaxX()

setBunkerMaxX

public void setBunkerMaxX(double bunkerMaxX)

getBunkerMinY

public double getBunkerMinY()

setBunkerMinY

public void setBunkerMinY(double bunkerMinY)

getBunkerMaxY

public double getBunkerMaxY()

setBunkerMaxY

public void setBunkerMaxY(double bunkerMaxY)

getBunkerMinZ

public double getBunkerMinZ()

setBunkerMinZ

public void setBunkerMinZ(double bunkerMinZ)

getBunkerMaxZ

public double getBunkerMaxZ()

setBunkerMaxZ

public void setBunkerMaxZ(double bunkerMaxZ)

getNumberOfWalls

public int getNumberOfWalls()

getBallDensity

public double getBallDensity()

setBallDensity

public void setBallDensity(double ballDensity)

getBallElasticityModulus

public double getBallElasticityModulus()

setBallElasticityModulus

public void setBallElasticityModulus(double ballElasticityModulus)

getBallFrictionCoefficient

public double getBallFrictionCoefficient()

setBallFrictionCoefficient

public void setBallFrictionCoefficient(double ballFrictionCoefficient)

getEarth

public Earth getEarth()

getPhysicalMedium

public PhysicalMedium getPhysicalMedium()

createInteractionRules

protected java.util.List<InteractionRule> createInteractionRules()

createMovementIntegrator

protected MovementIntegrator createMovementIntegrator(int movementIntegratorCode)

getMovementIntegratorCode

public int getMovementIntegratorCode()

setMovementIntegrator

public void setMovementIntegrator(int movementIntegratorCode)