artist.field.heliostat_field

Attributes

log

A logger for the heliostat field.

Classes

HeliostatField

Initialize the heliostat field with heliostat groups.

Module Contents

artist.field.heliostat_field.log

A logger for the heliostat field.

class artist.field.heliostat_field.HeliostatField(heliostat_groups: collections.abc.Sequence[artist.field.heliostat_group.HeliostatGroup], device: torch.device | None = None)

Initialize the heliostat field with heliostat groups.

Parameters

heliostat_groupsSequence[HeliostatGroup]

A list containing all heliostat groups.

devicedevice: torch.device | None

The device on which to perform computations or load tensors and models (default is None). If None, ARTIST will automatically select the most appropriate device (CUDA or CPU) based on availability and OS.

heliostat_groups
number_of_heliostat_groups
number_of_heliostats_per_group
classmethod from_hdf5(config_file: h5py.File, prototype_surface: artist.scenario.configuration_classes.SurfaceConfig, prototype_kinematic: dict[str, str | torch.Tensor], prototype_actuators: dict[str, str | torch.Tensor], number_of_surface_points_per_facet: torch.Tensor, change_number_of_control_points_per_facet: torch.Tensor | None = None, device: torch.device | None = None) typing_extensions.Self

Load a heliostat field from an HDF5 file.

Parameters

config_fileh5py.File

The HDF5 file containing the configuration to be loaded.

prototype_surfaceSurfaceConfig

The prototype for the surface configuration to be used if a heliostat has no individual surface.

prototype_kinematicdict[str, str | torch.Tensor]

The prototype for the kinematic, including type, initial orientation and deviations.

prototype_actuatorsdict[str, str | torch.Tensor]

The prototype for the actuators, including type and parameters.

number_of_surface_points_per_facettorch.Tensor

The number of sampling points along each direction of each 2D facet. Tensor of shape [2].

change_number_of_control_points_per_facettorch.Tensor | None

The updated number of control points along each direction of each 2D facet (default is None). Providing this parameter should be done with caution. In a scenario with surfaces generated by deflectometry, this parameter should be None, otherwise the deflectometry surface will be overwritten and become ideal. For ideal surfaces this parameter can be used to change the number of control points specified in the .h5 scenario. Tensor of shape [2].

devicedevice: torch.device | None

The device on which to perform computations or load tensors and models (default is None). If None, ARTIST will automatically select the most appropriate device (CUDA or CPU) based on availability and OS.

Raises

ValueError

If neither prototypes nor individual heliostat parameters are provided.

Returns

HeliostatField

The heliostat field loaded from the HDF5 file.