artist.field.solar_tower

Attributes

log

A logger for the solar tower.

Classes

SolarTower

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, ARTIST will 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, ARTIST will automatically select the most appropriate device (CUDA or CPU) based on availability and OS.

Returns

Self

A SolarTower instance 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, ARTIST will 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].