Package pulse.problem.schemes.rte.dom
Class AdaptiveIntegrator
- java.lang.Object
-
- pulse.util.UpwardsNavigable
-
- pulse.util.Group
-
- pulse.util.Accessible
-
- pulse.util.PropertyHolder
-
- pulse.problem.schemes.rte.dom.ODEIntegrator
-
- pulse.problem.schemes.rte.dom.AdaptiveIntegrator
-
- All Implemented Interfaces:
Serializable,Descriptive,Reflexive
- Direct Known Subclasses:
ExplicitRungeKutta,TRBDF2
public abstract class AdaptiveIntegrator extends ODEIntegrator
An ODE integrator with an adaptive step size.- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description AdaptiveIntegrator(Discretisation intensities)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidgenerateGrid(int nNew)Generates a uniform grid using the argument as the density.NumericPropertygetAbsoluteTolerance()NumericPropertygetGridScalingFactor()HermiteInterpolatorgetHermiteInterpolator()NumericPropertygetRelativeTolerance()NumericPropertygetTimeThreshold()RTECalculationStatusintegrate()booleanisFirstRun()Set<NumericPropertyKeyword>listedKeywords()By default, this will search the children of thisPropertyHolderto collect the types of their listed numeric parameters recursively.voidreduceStepSize()voidset(NumericPropertyKeyword type, NumericProperty property)An abstract method, which must be overriden to gain access over setting the values of all relevant (selected by the programmer)NumericProperties in subclasses ofAccessible.voidsetAbsoluteTolerance(NumericProperty p)voidsetFirstRun(boolean firstRun)voidsetGridScalingFactor(NumericProperty p)voidsetRelativeTolerance(NumericProperty p)voidsetTimeThreshold(NumericProperty timeThreshold)abstract Vector[]step(int j, double sign)StringtoString()booleanwasRescaled()-
Methods inherited from class pulse.problem.schemes.rte.dom.ODEIntegrator
derivative, derivative, emission, extract, getDescriptor, getDiscretisation, getEmissionFunction, getPhaseFunction, init, partial, partial, setDiscretisation, setEmissionFunction, setPhaseFunction, source, source, treatZeroIndex
-
Methods inherited from class pulse.util.PropertyHolder
addListener, areDetailsHidden, data, describe, firePropertyChanged, getListeners, getPrefix, ignoreSiblings, initListeners, isListedNumericType, isListedParameter, listedTypes, numericData, parameterListChanged, removeListeners, setPrefix, updateProperties, updateProperty
-
Methods inherited from class pulse.util.Accessible
accessibleChildren, genericProperties, genericProperty, numericProperties, numericProperty, property, update, update
-
Methods inherited from class pulse.util.UpwardsNavigable
addHierarchyListener, getHierarchyListeners, getParent, identify, removeHierarchyListener, removeHierarchyListeners, setParent, specificAncestor, tellParent
-
-
-
-
Constructor Detail
-
AdaptiveIntegrator
public AdaptiveIntegrator(Discretisation intensities)
-
-
Method Detail
-
integrate
public RTECalculationStatus integrate()
- Specified by:
integratein classODEIntegrator
-
step
public abstract Vector[] step(int j, double sign)
-
reduceStepSize
public void reduceStepSize()
-
wasRescaled
public boolean wasRescaled()
-
generateGrid
public void generateGrid(int nNew)
Generates a uniform grid using the argument as the density.- Parameters:
nNew- new grid density
-
getRelativeTolerance
public NumericProperty getRelativeTolerance()
-
getAbsoluteTolerance
public NumericProperty getAbsoluteTolerance()
-
getGridScalingFactor
public NumericProperty getGridScalingFactor()
-
setRelativeTolerance
public void setRelativeTolerance(NumericProperty p)
-
setAbsoluteTolerance
public void setAbsoluteTolerance(NumericProperty p)
-
setGridScalingFactor
public void setGridScalingFactor(NumericProperty p)
-
set
public void set(NumericPropertyKeyword type, NumericProperty property)
Description copied from class:AccessibleAn abstract method, which must be overriden to gain access over setting the values of all relevant (selected by the programmer)
NumericProperties in subclasses ofAccessible. Typically this involves aswitchstatement that goes through the different options for thetypeand invokes differentset(...)methods to update the matchingNumericPropertywithproperty.- Specified by:
setin classAccessible- Parameters:
type- the type, which must be equal by definition toproperty.getType().property- the property, which contains new information.
-
listedKeywords
public Set<NumericPropertyKeyword> listedKeywords()
Description copied from class:PropertyHolderBy default, this will search the children of this
PropertyHolderto collect the types of their listed numeric parameters recursively.- Overrides:
listedKeywordsin classPropertyHolder- Returns:
- a set of
NumericPropertyKeywordinstances, which have been explicitly marked as a listed parameter for thisPropertyHolder.
-
toString
public String toString()
- Overrides:
toStringin classODEIntegrator
-
getTimeThreshold
public NumericProperty getTimeThreshold()
-
setTimeThreshold
public void setTimeThreshold(NumericProperty timeThreshold)
-
isFirstRun
public boolean isFirstRun()
-
setFirstRun
public void setFirstRun(boolean firstRun)
-
getHermiteInterpolator
public HermiteInterpolator getHermiteInterpolator()
-
-