HASEonGPU.PhiASE
- class HASEonGPU.PhiASE(config=None, crossSections=None, spectralProperties=None, laserProperties=None, gainMedium=None, minRaysPerSample=100000, maxRaysPerSample=100000, mseThreshold=0.1, repetitions=4, adaptiveSteps=4, useReflections=True, monochromatic=False, backend=None, parallelMode='single', numDevices=1, nPerNode=1, writeVtk=False, devices=<factory>, minSampleRange=None, maxSampleRange=None)
Bases:
objectConfigure and run the ASE flux calculation for one gain-medium state.
Simulationnormally owns this object and callsrun(...)during each time-step derivative evaluation. Advanced users can also callrundirectly with aGainMediumandCrossSectionDataobject.- Parameters:
config (object | None)
crossSections (CrossSectionData | None)
spectralProperties (CrossSectionData | None)
laserProperties (LaserProperties | None)
gainMedium (GainMedium | None)
minRaysPerSample (int)
maxRaysPerSample (int)
mseThreshold (float)
repetitions (int)
adaptiveSteps (int)
useReflections (bool)
monochromatic (bool)
backend (str)
parallelMode (str)
numDevices (int)
nPerNode (int)
writeVtk (bool)
devices (list[int])
minSampleRange (int | None)
maxSampleRange (int | None)
- config: object | None = None
Optional YAML filename or mapping with PhiASE run-control settings.
- crossSections: CrossSectionData | None = None
Absorption/emission spectra used by the ASE calculation.
- spectralProperties: CrossSectionData | None = None
Alias for
crossSectionskept for the public spectral API.
- laserProperties: LaserProperties | None = None
Lower-level laser property store accepted by legacy workflows.
- gainMedium: GainMedium | None = None
Optional medium stored for direct
run()calls.
- minRaysPerSample: int = 100000
Minimum Monte Carlo rays launched for each beta sample.
- maxRaysPerSample: int = 100000
Maximum rays per sample allowed during adaptive refinement.
- mseThreshold: float = 0.1
Target mean-squared-error threshold for adaptive ASE sampling.
- repetitions: int = 4
Maximum repeated ASE estimates at a fixed ray count.
- adaptiveSteps: int = 4
Number of ray-count increases between min and max rays.
- useReflections: bool = True
Whether top/bottom surface reflectivities affect ray propagation.
- monochromatic: bool = False
Use only the first spectral samples instead of wavelength integration.
- backend: str = None
Alpaka backend name; inspect valid strings with
AlpakaBackends.all().
- parallelMode: str = 'single'
direct binding
singleor MPI launchermpi.- Type:
Execution mode
- numDevices: int = 1
Maximum compute devices made available to the lower-level run.
- nPerNode: int = 1
MPI launcher ranks per node when
parallelModeismpi.
- writeVtk: bool = False
Request VTK output from lower-level compute paths when supported.
- devices: list[int]
Optional explicit device ids passed to the lower-level compute path.
- minSampleRange: int | None = None
Inclusive first flattened beta sample processed by ASE.
- maxSampleRange: int | None = None
Inclusive last flattened beta sample processed by ASE.
- classmethod fromYaml(filename, **overrides)
Create a
PhiASEconfiguration from YAML plus Python overrides.
- static addArguments(parser)
Add command-line arguments that map to
PhiASEsettings.
- classmethod fromArgs(args, **overrides)
Create a
PhiASEconfiguration from parsed argparse results.
- run(gainMedium=None, crossSections=None)
Run ASE for the supplied or configured
GainMedium.Returns
self. UsegetResults()afterwards to access the raw lower-level result, includingphiAse.
- getResults()
Return the raw ASE result from the most recent
run(...)call.
- property experimentParameters
Low-level experiment parameters built for the last
run(...).
- property computeParameters
Low-level compute parameters built for the last
run(...).
- property hostMesh
Low-level host mesh built from the last
GainMediuminput.