artist.field.heliostat_field
Attributes
A logger for the heliostat field. |
Classes
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,
ARTISTwill 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,
ARTISTwill 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.