Class IterativeSolver
- java.lang.Object
-
- pulse.util.UpwardsNavigable
-
- pulse.util.Group
-
- pulse.util.Accessible
-
- pulse.util.PropertyHolder
-
- pulse.problem.schemes.rte.dom.IterativeSolver
-
- All Implemented Interfaces:
Serializable,Descriptive,Reflexive
- Direct Known Subclasses:
FixedIterations,SuccessiveOverrelaxation
public abstract class IterativeSolver extends PropertyHolder implements Reflexive
Used to iteratively solve the radiative transfer problem.This is necessary since the latter can only be solved separately for rays travelling in the positive or negative hemispheres. The problem lies in the fact that the intensities of incoming and outward rays are coupled. The only way to solve the coupled set of two Cauchy problems is iterative in nature.
This abstract class only defines the basic functionaly, its implementation is defined by the subclasses.
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description IterativeSolver()Constructs anIterativeSolverwith the default thresholds for iteration error and number of iterations.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract RTECalculationStatusdoIterations(AdaptiveIntegrator integrator)De-facto solves the radiative transfer problem iteratively.doublegetIterationError()NumericPropertygetIterationErrorTolerance()NumericPropertygetMaxIterations()Set<NumericPropertyKeyword>listedKeywords()By default, this will search the children of thisPropertyHolderto collect the types of their listed numeric parameters recursively.protected RTECalculationStatussanityCheck(RTECalculationStatus status, int iterations)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.voidsetIterationErrorTolerance(NumericProperty e)voidsetMaxIterations(NumericProperty iterations)StringtoString()-
Methods inherited from class pulse.util.PropertyHolder
addListener, areDetailsHidden, 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
-
-
-
-
Method Detail
-
doIterations
public abstract RTECalculationStatus doIterations(AdaptiveIntegrator integrator)
De-facto solves the radiative transfer problem iteratively.- Parameters:
integrator- the integerator embedded in the iterative approach- Returns:
- a calculation status
-
sanityCheck
protected RTECalculationStatus sanityCheck(RTECalculationStatus status, int iterations)
-
getIterationErrorTolerance
public NumericProperty getIterationErrorTolerance()
-
setIterationErrorTolerance
public void setIterationErrorTolerance(NumericProperty e)
-
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.
-
getMaxIterations
public NumericProperty getMaxIterations()
-
setMaxIterations
public void setMaxIterations(NumericProperty iterations)
-
getIterationError
public double getIterationError()
-
-