2.8.1.2. prismatique.stem.output.layer_depths

layer_depths(sample_specification, alg_specific_params=None, skip_validation_and_conversion=False)[source]

Determine the output layer depths from STEM simulation parameter subset.

For a discussion on output layer depths, see the documentation for the class prismatique.stem.output.multislice.Params, particularly the description of the constructor parameters num_slices_per_output and z_start_output.

Parameters:
sample_specificationprismatique.sample.ModelParams | prismatique.sample.PotentialSliceSubsetIDs | prismatique.sample.SMatrixSubsetIDs

The simulation parameters specifying the sample model.

If sample_specification is of the type prismatique.sample.ModelParams, then sample_specifications specifies sample model parameters that are used to construct the model from scratch, i.e. the potential slices for each frozen phonon configuration subset are calculated from said model parameters. See the documentation for the classes prismatique.discretization.Params and prismatique.thermal.Params for discussions on potential slices and frozen phonon configuration subsets respectively. Note that of parameters stored in sample_specification, only the following are used:

  • sample_specification

    • atomic_coords_filename

    • unit_cell_tiling

    • discretization_params

      • interpolation_factors

      • num_slices

Otherwise, if sample_specification is an instance of the class prismatique.sample.PotentialSliceSubsetIDs, or the class prismatique.sample.SMatrixSubsetIDs, then sample_specification specifies a set of files, where each file stores either the pre-calculated potential slices or \(S\)-matrices for a frozen phonon configuration subset. See the documentation for the aforementioned classes for further discussions on specifying pre-calculated objects. See the documentation for the subpackage prismatique.stem for a discussion on \(S\)-matrices.

Moreover, note that sample_specification must be an instance of the class prismatique.sample.ModelParams, or the class prismatique.sample.PotentialSliceSubsetIDs when the parameter alg_specific_params below is set to None, or is an instance of the class prismatique.stem.output.multislice.Params.

alg_specific_paramsprismatique.stem.output.multislice.Params | prismatique.stem.output.prism.Params | None, optional

The output parameters that are applicable only to the particular algorithm used perform the STEM simulation. If alg_specific_params is set to an instance of the class prismatique.stem.output.multislice.Params, then the multislice algorithm is used to perform the STEM simulation. See the documentation for the class prismatique.stem.output.multislice.Params for a discussion on the output parameters specific to the multislice algorithm. If alg_specific_params is set to an instance of the class prismatique.stem.output.prism.Params, then the PRISM algorithm is used to perform the STEM simulation. See the documentation for the class prismatique.stem.output.prism.Params for a discussion on the output parameters specific to the PRISM algorithm. If alg_specific_params is set to None [i.e. the default value], then the multislice algorithm is used to perform the STEM simulation with the aforementioned output parameters set to default values.

skip_validation_and_conversionbool, optional

If skip_validation_and_conversion is set to False, then validations and conversions are performed on the above parameters.

Otherwise, if skip_validation_and_conversion is set to True, no validations and conversions are performed on the above parameters. This option is desired primarily when the user wants to avoid potentially expensive validation and/or conversion operations.

Returns:
output_layer_depthsarray_like (float, ndim=1)

The output layer depths, in units of angstroms, in ascending order. Note that for STEM simulations that use the PRISM algorithm, output_layer_depths is a single-element array, where the single element is the the \(z\)-dimension of the sample’s supercell in units of angstroms [see the documentation for the class prismatique.discretization.Params for a discussion on the sample’s supercell].