Package pulse.problem.schemes.rte
Class RadiativeTransferSolver
- java.lang.Object
-
- pulse.util.UpwardsNavigable
-
- pulse.util.Group
-
- pulse.util.Accessible
-
- pulse.util.PropertyHolder
-
- pulse.problem.schemes.rte.RadiativeTransferSolver
-
- All Implemented Interfaces:
Serializable,Descriptive,Reflexive
- Direct Known Subclasses:
DiscreteOrdinatesMethod,NonscatteringRadiativeTransfer
public abstract class RadiativeTransferSolver extends PropertyHolder implements Reflexive, Descriptive
Manages processes to solve the radiative transfer equation and generate the input needed by the heat problem, i.e. fluxes and their derivatives. Uses aSplineInterpolatorto generate a smooth spatial temperature profile. Provides means of probing the calculation health and tracking calculation steps with listeners.- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description RadiativeTransferSolver()Dummy constructor.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidaddRTEListener(RTECalculationListener listener)Adds a listener that can listen to status updates.abstract RTECalculationStatuscompute(double[] temperatureArray)Launches a calculation of the radiative transfer equation.voidfireStatusUpdate(RTECalculationStatus status)FluxesgetFluxes()StringgetPrefix()List<RTECalculationListener>getRTEListeners()booleanignoreSiblings()ShouldAccessibles that belong to thisPropertyHolderbe ignored when thisPropertyHolderis displayed in a table?voidinit(ParticipatingMedium p, Grid grid)Retrieves the parameters frompandgridneeded to run the calculations.Resets the flux arrays.org.apache.commons.math3.analysis.UnivariateFunctioninterpolateTemperatureProfile(double[] tempArray)Performs interpolation with natural cubic splines using the input arguments.doubleopticalCoordinateAt(int i)Retrieves the optical coordinate corresponding to the grid indexivoidsetFluxes(Fluxes fluxes)-
Methods inherited from class pulse.util.PropertyHolder
addListener, areDetailsHidden, data, describe, firePropertyChanged, getDescriptor, getListeners, initListeners, isListedNumericType, isListedParameter, listedKeywords, listedTypes, numericData, parameterListChanged, removeListeners, setPrefix, updateProperties, updateProperty
-
Methods inherited from class pulse.util.Accessible
accessibleChildren, genericProperties, genericProperty, numericProperties, numericProperty, property, set, update, update
-
Methods inherited from class pulse.util.UpwardsNavigable
addHierarchyListener, getHierarchyListeners, getParent, identify, removeHierarchyListener, removeHierarchyListeners, setParent, specificAncestor, tellParent
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface pulse.util.Descriptive
describe
-
-
-
-
Method Detail
-
compute
public abstract RTECalculationStatus compute(double[] temperatureArray)
Launches a calculation of the radiative transfer equation.- Parameters:
temperatureArray- the input temperature profile- Returns:
- the status of calculation
-
init
public void init(ParticipatingMedium p, Grid grid)
Retrieves the parameters frompandgridneeded to run the calculations.Resets the flux arrays.- Parameters:
p-grid- the grid
-
interpolateTemperatureProfile
public org.apache.commons.math3.analysis.UnivariateFunction interpolateTemperatureProfile(double[] tempArray)
Performs interpolation with natural cubic splines using the input arguments.- Parameters:
tempArray- an array of data defined on a previously initialised grid.- Returns:
- a
UnivariateFunctiongenerated with aSplineInterpolator
-
opticalCoordinateAt
public double opticalCoordinateAt(int i)
Retrieves the optical coordinate corresponding to the grid indexi- Parameters:
i- the external grid index- Returns:
-
ignoreSiblings
public boolean ignoreSiblings()
Description copied from class:PropertyHolderShouldAccessibles that belong to thisPropertyHolderbe ignored when thisPropertyHolderis displayed in a table?- Overrides:
ignoreSiblingsin classPropertyHolder- Returns:
falseby default- See Also:
PropertyHolderTable
-
getPrefix
public String getPrefix()
- Overrides:
getPrefixin classPropertyHolder
-
getRTEListeners
public List<RTECalculationListener> getRTEListeners()
-
addRTEListener
public void addRTEListener(RTECalculationListener listener)
Adds a listener that can listen to status updates.- Parameters:
listener- a listener to track the calculation progress
-
fireStatusUpdate
public void fireStatusUpdate(RTECalculationStatus status)
-
getFluxes
public final Fluxes getFluxes()
-
setFluxes
public final void setFluxes(Fluxes fluxes)
-
-