artist.field.solar_tower
Attributes
A logger for the solar tower. |
Classes
Initialize the solar tower with its target areas. |
Module Contents
- artist.field.solar_tower.log
A logger for the solar tower.
- class artist.field.solar_tower.SolarTower(target_areas: collections.abc.Sequence[artist.field.tower_target_areas.TowerTargetAreas], device: torch.device | None = None)
Initialize the solar tower with its target areas.
Parameters
- target_areasSequence[TowerTargetAreas]
A list containing all target area groups. The expected order is planar target areas first, followed by cylindrical target areas.
- devicetorch.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.
- target_areas
- number_of_target_area_types
- number_of_target_areas_per_type
- target_name_to_index
- index_to_target_area = []
- classmethod from_hdf5(config_file: h5py.File, device: torch.device | None = None) Self
Load a solar tower from an HDF5 file.
Parameters
- config_fileh5py.File
The HDF5 file containing the configuration to be loaded.
- devicetorch.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.
Returns
- Self
A
SolarTowerinstance loaded from the HDF5 file.
- get_centers_of_target_areas(target_area_indices: torch.Tensor, device: torch.device | None = None) torch.Tensor
Get the center coordinates of the specified target areas.
For planar target areas, the center is returned directly. For cylindrical target areas, the center is offset outward along the surface normal by the cylinder radius, giving the point on the curved surface facing the heliostats.
Parameters
- target_area_indicestorch.Tensor
Global target area indices (planar first, cylindrical second) for which to retrieve the center coordinates. Shape is
[number_of_active_heliostats].- devicetorch.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.
Returns
- torch.Tensor
Center coordinates of the requested target areas in homogeneous coordinates. Shape is
[number_of_active_heliostats, 4].