Class ImplicitTwoTemperatureSolver
- java.lang.Object
- 
- pulse.util.UpwardsNavigable
- 
- pulse.util.Group
- 
- pulse.util.Accessible
- 
- pulse.util.PropertyHolder
- 
- pulse.problem.schemes.DifferenceScheme
- 
- pulse.problem.schemes.OneDimensionalScheme
- 
- pulse.problem.schemes.ImplicitScheme
- 
- pulse.problem.schemes.solvers.ImplicitTwoTemperatureSolver
 
 
 
 
 
 
 
 
- 
- All Implemented Interfaces:
- Serializable,- FixedPointIterations,- Solver<TwoTemperatureModel>,- Descriptive,- Reflexive
 
 public class ImplicitTwoTemperatureSolver extends ImplicitScheme implements Solver<TwoTemperatureModel>, FixedPointIterations - See Also:
- Serialized Form
 
- 
- 
Constructor SummaryConstructors Constructor Description ImplicitTwoTemperatureSolver()ImplicitTwoTemperatureSolver(NumericProperty N, NumericProperty timeFactor, NumericProperty timeLimit)
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description 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.doubleevalRightBoundary(double alphaN, double betaN)doublefirstBeta()NumericPropertygetNonlinearPrecision()voiditeration(int m)Performs an iteration at timemSet<NumericPropertyKeyword>listedKeywords()The superclass only lists theTIME_LIMITproperty.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.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.voidsetNonlinearPrecision(NumericProperty nonlinearPrecision)doublesignal()voidsolve(TwoTemperatureModel problem)Calculates the solution of thetand stores it in the respectiveHeatingCurve.voidtimeStep(int m)Calculates the solution at the boundaries using the boundary conditions specific to the problem statement and runs the tridiagonal matrix algorithm to evaluate solution at the intermediate grid points.StringtoString()Prints out the description of this problem type.- 
Methods inherited from class pulse.problem.schemes.ImplicitSchemegetTridiagonalMatrixAlgorithm, leftBoundary, setTridiagonalMatrixAlgorithm
 - 
Methods inherited from class pulse.problem.schemes.OneDimensionalSchemeclearArrays, finaliseStep, getCurrentSolution, getPreviousSolution, setSolutionAt
 - 
Methods inherited from class pulse.problem.schemes.DifferenceSchemeareDetailsHidden, copyFrom, getCurrentPulseValue, getDiscretePulse, getGrid, getTimeInterval, getTimeLimit, initFrom, normalOperation, prepareStep, pulse, runTimeSequence, runTimeSequence, scaleSolution, setDetailsHidden, setGrid, setTimeInterval, setTimeLimit
 - 
Methods inherited from class pulse.util.PropertyHolderaddListener, data, describe, firePropertyChanged, getDescriptor, getListeners, getPrefix, ignoreSiblings, initListeners, isListedNumericType, isListedParameter, listedTypes, numericData, parameterListChanged, removeListeners, setPrefix, updateProperties, updateProperty
 - 
Methods inherited from class pulse.util.AccessibleaccessibleChildren, genericProperties, genericProperty, numericProperties, numericProperty, property, update, update
 - 
Methods inherited from class pulse.util.UpwardsNavigableaddHierarchyListener, getHierarchyListeners, getParent, identify, removeHierarchyListener, removeHierarchyListeners, setParent, specificAncestor, tellParent
 - 
Methods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 - 
Methods inherited from interface pulse.problem.schemes.FixedPointIterationsdoIterations, finaliseIteration
 
- 
 
- 
- 
- 
Constructor Detail- 
ImplicitTwoTemperatureSolverpublic ImplicitTwoTemperatureSolver() 
 - 
ImplicitTwoTemperatureSolverpublic ImplicitTwoTemperatureSolver(NumericProperty N, NumericProperty timeFactor, NumericProperty timeLimit) 
 
- 
 - 
Method Detail- 
preparepublic 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 class- ImplicitScheme
- Parameters:
- problem- the heat problem to be solved
- Throws:
- SolverException
 
 - 
solvepublic void solve(TwoTemperatureModel problem) throws SolverException Description copied from interface:SolverCalculates the solution of thetand stores it in the respectiveHeatingCurve.- Specified by:
- solvein interface- Solver<TwoTemperatureModel>
- Parameters:
- problem- - an accepted instance of- T
- Throws:
- SolverException
 
 - 
timeSteppublic void timeStep(int m) throws SolverExceptionDescription copied from class:ImplicitSchemeCalculates the solution at the boundaries using the boundary conditions specific to the problem statement and runs the tridiagonal matrix algorithm to evaluate solution at the intermediate grid points.- Overrides:
- timeStepin class- ImplicitScheme
- Parameters:
- m- the time step
- Throws:
- SolverException- if the calculation failed
 
 - 
iterationpublic void iteration(int m) throws SolverExceptionDescription copied from interface:FixedPointIterationsPerforms an iteration at timem- Specified by:
- iterationin interface- FixedPointIterations
- Parameters:
- m- time step
- Throws:
- SolverException- if the calculation failed
 
 - 
signalpublic double signal() - Overrides:
- signalin class- OneDimensionalScheme
 
 - 
evalRightBoundarypublic double evalRightBoundary(double alphaN, double betaN)- Specified by:
- evalRightBoundaryin class- ImplicitScheme
 
 - 
firstBetapublic double firstBeta() - Specified by:
- firstBetain class- ImplicitScheme
 
 - 
copypublic DifferenceScheme copy() Description copied from class:DifferenceSchemeCreates aDifferenceScheme, which is an exact copy of this object.- Specified by:
- copyin class- DifferenceScheme
- Returns:
- an exact copy of this DifferenceScheme.
 
 - 
toStringpublic String toString() Prints out the description of this problem type.- Overrides:
- toStringin class- ImplicitScheme
- Returns:
- a verbose description of the problem.
 
 - 
domainpublic 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 class- DifferenceScheme
- Returns:
- an array containing subclasses of the Problemclass which can be used as input for this difference scheme.
 
 - 
getNonlinearPrecisionpublic NumericProperty getNonlinearPrecision() 
 - 
setNonlinearPrecisionpublic void setNonlinearPrecision(NumericProperty nonlinearPrecision) 
 - 
listedKeywordspublic Set<NumericPropertyKeyword> listedKeywords() Description copied from class:DifferenceSchemeThe superclass only lists theTIME_LIMITproperty.- Overrides:
- listedKeywordsin class- DifferenceScheme
- Returns:
- a set of NumericPropertyKeywordinstances, which have been explicitly marked as a listed parameter for thisPropertyHolder.
 
 - 
setpublic 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.- Overrides:
- setin class- DifferenceScheme
- Parameters:
- type- the type, which must be equal by definition to- property.getType().
- property- the property, which contains new information.
 
 
- 
 
-