Package pulse.problem.schemes.solvers
Class ADILinearisedSolver
- java.lang.Object
-
- pulse.util.UpwardsNavigable
-
- pulse.util.Group
-
- pulse.util.Accessible
-
- pulse.util.PropertyHolder
-
- pulse.problem.schemes.DifferenceScheme
-
- pulse.problem.schemes.ADIScheme
-
- pulse.problem.schemes.solvers.ADILinearisedSolver
-
- All Implemented Interfaces:
Serializable,Solver<ClassicalProblem2D>,Descriptive,Reflexive
public class ADILinearisedSolver extends ADIScheme implements Solver<ClassicalProblem2D>
An alternating direction implicit (ADI) solver for a classical two-dimensional linearised problem.- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description ADILinearisedSolver()ADILinearisedSolver(NumericProperty N, NumericProperty timeFactor)ADILinearisedSolver(NumericProperty N, NumericProperty timeFactor, NumericProperty timeLimit)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclearArrays()DifferenceSchemecopy()Creates aDifferenceScheme, which is an exact copy of this object.Class<? extends Problem>[]domain()Retrieves all problem statements that can be solved with this implementation of the difference scheme.voidfinaliseStep()voidprepare(Problem problem)Contains preparatory steps to ensure smooth running of the solver.This includes creating aDiscretePulseobject and adjusting the grid of this scheme to match theDiscretePulsecreated for thisproblemFinally, a heating curve is cleared from the previously calculated values.doublepulse(int m, int i)doublesignal()voidsolve(ClassicalProblem2D problem)Calculates the solution of thetand stores it in the respectiveHeatingCurve.voidtimeStep(int m)-
Methods inherited from class pulse.problem.schemes.ADIScheme
prepareStep, toString
-
Methods inherited from class pulse.problem.schemes.DifferenceScheme
areDetailsHidden, copyFrom, getCurrentPulseValue, getDiscretePulse, getGrid, getTimeInterval, getTimeLimit, initFrom, listedKeywords, normalOperation, pulse, runTimeSequence, runTimeSequence, scaleSolution, set, setDetailsHidden, setGrid, setTimeInterval, setTimeLimit
-
Methods inherited from class pulse.util.PropertyHolder
addListener, data, describe, firePropertyChanged, getDescriptor, 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
-
ADILinearisedSolver
public ADILinearisedSolver()
-
ADILinearisedSolver
public ADILinearisedSolver(NumericProperty N, NumericProperty timeFactor)
-
ADILinearisedSolver
public ADILinearisedSolver(NumericProperty N, NumericProperty timeFactor, NumericProperty timeLimit)
-
-
Method Detail
-
clearArrays
public void clearArrays()
- Specified by:
clearArraysin classDifferenceScheme
-
prepare
public void prepare(Problem problem) throws SolverException
Description copied from class:DifferenceSchemeContains preparatory steps to ensure smooth running of the solver.This includes creating a
DiscretePulseobject and adjusting the grid of this scheme to match theDiscretePulsecreated for thisproblemFinally, a heating curve is cleared from the previously calculated values.All subclasses of
DifferenceSchemeshould override and explicitly call this superclass method where appropriate.- Overrides:
preparein classDifferenceScheme- Parameters:
problem- the heat problem to be solved- Throws:
SolverException
-
solve
public void solve(ClassicalProblem2D problem) throws SolverException
Description copied from interface:SolverCalculates the solution of thetand stores it in the respectiveHeatingCurve.- Specified by:
solvein interfaceSolver<ClassicalProblem2D>- Parameters:
problem- - an accepted instance ofT- Throws:
SolverException
-
copy
public DifferenceScheme copy()
Description copied from class:DifferenceSchemeCreates aDifferenceScheme, which is an exact copy of this object.- Specified by:
copyin classDifferenceScheme- Returns:
- an exact copy of this
DifferenceScheme.
-
domain
public Class<? extends Problem>[] domain()
Description copied from class:DifferenceSchemeRetrieves all problem statements that can be solved with this implementation of the difference scheme.- Specified by:
domainin classDifferenceScheme- Returns:
- an array containing subclasses of the
Problemclass which can be used as input for this difference scheme.
-
signal
public double signal()
- Specified by:
signalin classDifferenceScheme
-
pulse
public double pulse(int m, int i)
-
timeStep
public void timeStep(int m)
- Specified by:
timeStepin classDifferenceScheme
-
finaliseStep
public void finaliseStep()
- Specified by:
finaliseStepin classDifferenceScheme
-
-