Package pulse.problem.laser
Class DiscretePulse2D
- java.lang.Object
-
- pulse.problem.laser.DiscretePulse
-
- pulse.problem.laser.DiscretePulse2D
-
- All Implemented Interfaces:
Serializable
public class DiscretePulse2D extends DiscretePulse
The discrete pulse on aGrid2D.The main parameters are the
discretePulseWidth(defined in the superclass) anddiscretePulseSpot, which is the discretised version of the spot diameter of the respectivePulseobject.- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description DiscretePulse2D(ClassicalProblem2D problem, Grid2D grid)The constructor forDiscretePulse2D.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidevalPulseSpot()Calculates thediscretePulseSpotusing thegridRadialDistancemethod.doubleevaluateAt(double time, double radialCoord)This calculates the dimensionless, discretised pulse function at a dimensionless radial coordinatecoord.doublegetDiscretePulseSpot()doublegetRadialConversionFactor()intgetWidthToleranceFactor()A smaller tolerance factor is set for 2D calculationsdoublelaserPowerAt(double time)Calculates the laser power at a give moment in time.-
Methods inherited from class pulse.problem.laser.DiscretePulse
getCharacteristicTime, getDiscreteWidth, getGrid, getPhysicalPulse, init, pulseWidthGrid, resolvedPulseWidthSeconds, totalEnergy
-
-
-
-
Constructor Detail
-
DiscretePulse2D
public DiscretePulse2D(ClassicalProblem2D problem, Grid2D grid)
The constructor forDiscretePulse2D.Calls the constructor of the superclass, after which calculates the
discretePulseSpotusing thegridRadialDistancemethod of this class. The dimension factor is defined as the sample diameter.- Parameters:
problem- a two-dimensional problemgrid- the two-dimensional grid
-
-
Method Detail
-
evaluateAt
public double evaluateAt(double time, double radialCoord)This calculates the dimensionless, discretised pulse function at a dimensionless radial coordinatecoord.It uses a Heaviside function to determine whether the
radialCoordlies within the0 <= radialCoord <= discretePulseSpotinterval. It uses thetimeparameter to determine the discrete pulse function usingevaluateAt(time).- Parameters:
time- the time for calculationradialCoord- - the radial coordinate [length dimension]- Returns:
- the pulse function at
timeandcoord, or 0 ifcoord > spotDiameter.
-
laserPowerAt
public double laserPowerAt(double time)
Calculates the laser power at a give moment in time. The total laser energy is normalised over a beam partially illuminating the sample surface.- Overrides:
laserPowerAtin classDiscretePulse- Parameters:
time- a moment in time (in dimensionless units)- Returns:
- the laser power in arbitrary units
-
evalPulseSpot
public final void evalPulseSpot()
Calculates thediscretePulseSpotusing thegridRadialDistancemethod.
-
getDiscretePulseSpot
public final double getDiscretePulseSpot()
-
getRadialConversionFactor
public final double getRadialConversionFactor()
-
getWidthToleranceFactor
public int getWidthToleranceFactor()
A smaller tolerance factor is set for 2D calculations- Overrides:
getWidthToleranceFactorin classDiscretePulse- Returns:
- the smallest fraction of a characteristic time resolved as a finite pulse.
-
-