vmm.latticemodel
Class FermiPastaUlam

java.lang.Object
  extended by vmm.core.Exhibit
      extended by vmm.core3D.Exhibit3D
          extended by vmm.latticemodel.LatticeModel
              extended by vmm.latticemodel.FermiPastaUlam
All Implemented Interfaces:
java.util.EventListener, javax.swing.event.ChangeListener, Decorateable, Parameterizable

public class FermiPastaUlam
extends LatticeModel


Nested Class Summary
protected  class FermiPastaUlam.FPULatticeData
           
 class FermiPastaUlam.FPUView
           
 
Nested classes/interfaces inherited from class vmm.latticemodel.LatticeModel
LatticeModel.LatticeData, LatticeModel.LMTransform, LatticeModel.LMView
 
Field Summary
protected  RealParam a
           
protected  RealParam b
           
protected  RealParam c
           
protected  RealParam d
           
 
Fields inherited from class vmm.latticemodel.LatticeModel
BOUNDARY_CONDITION_PERIODIC, BOUNDARY_CONDITION_ZERO, canShowNormalModeDisplay, defaultAmplitude, defaultBoundaryCondition, defaultDisplayStyle, defaultInitialMode, defaultInitialShape, defaultLatticeDensity, defaultLatticeLength, defaultNumberOfNodes, defaultScaleFactor, defaultStepSize, DISPLAY_BRIDGE, DISPLAY_CIRCILAR, DISPLAY_FPU_GRAPH, DISPLAY_LONGITUDINAL, DISPLAY_PENDULUM, DISPLAY_TRANSVERSE, INITIAL_MODE_EIGHTH, INITIAL_MODE_FIRST, INITIAL_MODE_FOURTH, INITIAL_MODE_SECOND, INITIAL_MODE_SIXTEENTH, INITIAL_SHAPE_BREATHER, INITIAL_SHAPE_GAUSSIAN, INITIAL_SHAPE_KINK, INITIAL_SHAPE_SINUSOIDAL, INITIAL_SHAPE_THERMAL, MAX_NUMBER_OF_NODES, MaxPermittedDisplacementExceeded, numIterations
 
Fields inherited from class vmm.core3D.Exhibit3D
defaultViewpoint, defaultViewUp, previousTransform3D
 
Fields inherited from class vmm.core.Exhibit
decorations, exhibitNeedsRedraw, isMorphing, morphingView, parameters, previousTransform
 
Constructor Summary
FermiPastaUlam()
           
 
Method Summary
protected  void doDraw3D(java.awt.Graphics2D g, View3D view, Transform3D transform)
          Draws this Exhibit in a 3D view.
protected  double externalForceLaw(double x, double theLatticeSpacing)
           
 View getDefaultView()
          Returns the default View of this Exhibit.
protected  double internalForceLaw(double x, double theLatticeSpacing)
           
protected  double potentialEnergy(double x, double theLatticeSpacing)
           
 
Methods inherited from class vmm.latticemodel.LatticeModel
drawTransverse, getCreateAnimation, getDefaultTransform, getSettingsCommandsForView
 
Methods inherited from class vmm.core3D.Exhibit3D
computeDrawData3D, computeDrawDataHook, doDrawHook, getDefaultViewpoint, getDefaultViewUp, setDefaultViewpoint, setDefaultViewUp
 
Methods inherited from class vmm.core.Exhibit
addChangeListener, addDecoration, addExtraXML, addParameter, addView, clearDecorations, computeDrawData, doDraw, fireExhibitChangeEvent, forceRedraw, getActionsForView, getAdditionalAnimationsForView, getAlternativeViews, getBuildAnimation, getDecorations, getDefaultBackground, getDefaultForeground, getDefaultWindow, getFramesForMorphing, getMorphingAnimation, getName, getParameterByName, getParameters, getTitle, getUseFilmstripForMorphing, getViews, parameterChanged, readExtraXML, removeChangeListener, removeDecoration, removeParameter, removeView, render, setDefaultBackground, setDefaultForeground, setDefaultWindow, setDefaultWindow, setFramesForMorphing, setName, setUseFilmstripForMorphing, stateChanged
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

a

protected RealParam a

b

protected RealParam b

c

protected RealParam c

d

protected RealParam d
Constructor Detail

FermiPastaUlam

public FermiPastaUlam()
Method Detail

potentialEnergy

protected double potentialEnergy(double x,
                                 double theLatticeSpacing)
Specified by:
potentialEnergy in class LatticeModel

internalForceLaw

protected double internalForceLaw(double x,
                                  double theLatticeSpacing)
Specified by:
internalForceLaw in class LatticeModel

externalForceLaw

protected double externalForceLaw(double x,
                                  double theLatticeSpacing)
Specified by:
externalForceLaw in class LatticeModel

doDraw3D

protected void doDraw3D(java.awt.Graphics2D g,
                        View3D view,
                        Transform3D transform)
Description copied from class: Exhibit3D
Draws this Exhibit in a 3D view. The method in the Exhibit3D class does nothing. Subclasses should override this method to do the actual drawing. When this method is called, Exhibit3D.computeDrawData3D(View3D, boolean, Transform3D, Transform3D) has already been called, so that any cached data should be correct. Note that this method is called only if the Exhibit is being drawn in a View3D. Exhibits that have both two and three dimensional renderings should also override Exhibit.doDraw(Graphics2D, View, Transform).

When drawing a 3D exhibit, you are strongly advised to use the drawing routines supplied by the View3D and View3DLit classes. These routines will automatically produce the correct results in stereo views -- the same is not true about direct drawing to the graphics context.

Overrides:
doDraw3D in class LatticeModel
Parameters:
g - the graphics context where the exhibit is being drawn.
view - The View3D in which the exhibit is being drawn. In general, it is advisable to use the view for all drawing operations.
transform - The transform that is being used to draw the exhibit.

getDefaultView

public View getDefaultView()
Description copied from class: Exhibit3D
Returns the default View of this Exhibit. In the Exhibit3D class, the return value is a basic View3D.

Overrides:
getDefaultView in class LatticeModel