artist.scenario.configuration_classes

Classes

PowerPlantConfig

Initialize the power plant configuration.

TargetAreaConfig

Initialize the target area configuration.

TargetAreaListConfig

Initialize the target area list configuration.

LightSourceConfig

Initialize the light source configuration.

LightSourceListConfig

Initialize the light source list configuration.

FacetConfig

Initialize the facet configuration.

SurfaceConfig

Initialize the surface configuration.

SurfacePrototypeConfig

Initialize the surface prototype configuration.

KinematicDeviations

Initialize the kinematic deviations.

KinematicConfig

Initialize the kinematic configuration.

KinematicPrototypeConfig

Initialize the kinematic prototype configuration.

KinematicLoadConfig

Initialize the kinematic configuration for loading in ARTIST.

ActuatorParameters

Initialize the actuator parameters.

ActuatorConfig

Initialize the actuator configuration.

ActuatorListConfig

Initialize the actuator list configuration.

ActuatorPrototypeConfig

Initialize the actuator list prototype configuration.

PrototypeConfig

Initialize the prototype configuration.

HeliostatConfig

Initialize the single heliostat configuration.

HeliostatListConfig

Initialize the heliostat list configuration.

Module Contents

class artist.scenario.configuration_classes.PowerPlantConfig(power_plant_position: torch.Tensor)

Initialize the power plant configuration.

Parameters

power_plant_positiontorch.Tensor

The position of the power plant as latitude, longitude, altitude.

power_plant_position
create_power_plant_dict() dict[str, Any]

Create a dictionary containing the configuration parameters for the power plant.

Returns

dict[str, Any]

A dictionary containing the configuration parameters for the power plant.

class artist.scenario.configuration_classes.TargetAreaConfig(target_area_key: str, geometry: str, center: torch.Tensor, normal_vector: torch.Tensor, plane_e: float, plane_u: float, curvature_e: float | None = None, curvature_u: float | None = None)

Initialize the target area configuration.

Parameters

target_area_keystr

The ID string used to identify the target area in the HDF5 file.

geometrystr

The type of target area, e.g., planar.

centertorch.Tensor

The position of the target area’s center.

normal_vectortorch.Tensor

The normal vector to the target plane.

plane_efloat

The size of the target area in the east direction.

plane_ufloat

The size of the target area in the up direction.

curvature_e: float | None

The curvature of the target area in the east direction.

curvature_u: float | None

The curvature of the target area in the up direction.

target_area_key
geometry
center
normal_vector
plane_e
plane_u
curvature_e = None
curvature_u = None
create_target_area_dict() dict[str, Any]

Create a dictionary containing the configuration parameters for the target area.

Returns

dict[str, Any]

A dictionary containing the configuration parameters for the target area.

class artist.scenario.configuration_classes.TargetAreaListConfig(target_area_list: list[TargetAreaConfig])

Initialize the target area list configuration.

Parameters

target_area_listlist[TargetAreaConfig]

The list of target area configurations included in the scenario.

target_area_list
create_target_area_list_dict() dict[str, Any]

Create a dictionary containing the configuration parameters for the list of target areas.

Returns

dict[str, Any]

A dictionary containing the configuration parameters for the list of target areas.

class artist.scenario.configuration_classes.LightSourceConfig(light_source_key: str, light_source_type: str, number_of_rays: int, distribution_type: str, mean: float | None = None, covariance: float | None = None)

Initialize the light source configuration.

Parameters

light_source_keystr

The key used to identify the light source in the HDF5 file.

light_source_type:

The type of light source used, e.g. a sun.

number_of_raysint

The number of rays generated by the light source.

distribution_typestr

The distribution type used to model the light source.

meanfloat | None

The mean used for modeling the light source.

covariancefloat | None

The covariance used for modeling the light source.

Raises

ValueError

If the specified light source distribution type is unknown.

light_source_key
light_source_type
number_of_rays
distribution_type
create_light_source_dict() dict[str, Any]

Create a dictionary containing the configuration parameters for the light source.

Returns

dict[str, Any]

A dictionary containing the configuration parameters for the light source.

class artist.scenario.configuration_classes.LightSourceListConfig(light_source_list: list[LightSourceConfig])

Initialize the light source list configuration.

Parameters

light_source_listlist[LightSourceConfig]

The list of light source configs to be included in the scenario.

light_source_list
create_light_source_list_dict() dict[str, Any]

Create a dictionary containing the configuration parameters for the light source list.

Returns

dict[str, Any]

A dictionary containing the configuration parameters for the light source list.

class artist.scenario.configuration_classes.FacetConfig(facet_key: str, control_points: torch.Tensor, degrees: torch.Tensor, translation_vector: torch.Tensor, canting: torch.Tensor)

Initialize the facet configuration.

Parameters

facet_keystr

The key used to identify the facet in the HDF5 file.

control_pointstorch.Tensor

The NURBS control points.

degreestorch.Tensor

The NURBS degree in the east and north direction.

translation_vectortorch.Tensor

The translation_vector of the facet.

canting: torch.Tensor

The canting vectors in the east and north direction.

facet_key
control_points
degrees
translation_vector
canting
create_facet_dict() dict[str, Any]

Create a dictionary containing the configuration parameters for a facet.

Returns

dict[str, Any]

A dictionary containing the configuration parameters for the facet.

class artist.scenario.configuration_classes.SurfaceConfig(facet_list: list[FacetConfig])

Initialize the surface configuration.

Parameters

facet_listlist[FacetsConfig]

The list of facets to be used for the surface of the heliostat.

facet_list
create_surface_dict() dict[str, Any]

Create a dictionary containing the configuration parameters for the surface.

Returns

dict[str, Any]

A dictionary containing the configuration parameters for the surface.

class artist.scenario.configuration_classes.SurfacePrototypeConfig(facet_list: list[FacetConfig])

Bases: SurfaceConfig

Initialize the surface prototype configuration.

Parameters

facet_listlist[FacetsConfig]

The list of facets to be used for the surface of the heliostat prototype.

class artist.scenario.configuration_classes.KinematicDeviations(first_joint_translation_e: torch.Tensor | None = None, first_joint_translation_n: torch.Tensor | None = None, first_joint_translation_u: torch.Tensor | None = None, first_joint_tilt_n: torch.Tensor | None = None, first_joint_tilt_u: torch.Tensor | None = None, second_joint_translation_e: torch.Tensor | None = None, second_joint_translation_n: torch.Tensor | None = None, second_joint_translation_u: torch.Tensor | None = None, second_joint_tilt_e: torch.Tensor | None = None, second_joint_tilt_n: torch.Tensor | None = None, concentrator_translation_e: torch.Tensor | None = None, concentrator_translation_n: torch.Tensor | None = None, concentrator_translation_u: torch.Tensor | None = None)

Initialize the kinematic deviations.

Parameters

first_joint_translation_etorch.Tensor | None

The first joint translation in the east direction.

first_joint_translation_ntorch.Tensor | None

The first joint translation in the north direction.

first_joint_translation_utorch.Tensor | None

The first joint translation in the up direction.

first_joint_tilt_ntorch.Tensor | None

The first joint tilt in the north direction.

first_joint_tilt_utorch.Tensor | None

The first joint tilt in the up direction.

second_joint_translation_etorch.Tensor | None

The second joint translation in the east direction.

second_joint_translation_ntorch.Tensor | None

The second joint translation in the north direction.

second_joint_translation_utorch.Tensor | None

The second joint translation in the up direction.

second_joint_tilt_etorch.Tensor | None

The second joint tilt in the east direction.

second_joint_tilt_ntorch.Tensor | None

The second joint tilt in the north direction.

concentrator_translation_etorch.Tensor | None

The concentrator translation in the east direction.

concentrator_translation_ntorch.Tensor | None

The concentrator translation in the north direction.

concentrator_translation_utorch.Tensor | None

The concentrator translation in the up direction.

first_joint_translation_e = None
first_joint_translation_n = None
first_joint_translation_u = None
first_joint_tilt_n = None
first_joint_tilt_u = None
second_joint_translation_e = None
second_joint_translation_n = None
second_joint_translation_u = None
second_joint_tilt_e = None
second_joint_tilt_n = None
concentrator_translation_e = None
concentrator_translation_n = None
concentrator_translation_u = None
create_kinematic_deviations_dict() dict[str, Any]

Create a dictionary containing the configuration parameters for the kinematic deviations.

Returns

dict[str, Any]

A dictionary containing the configuration parameters for the kinematic deviations.

class artist.scenario.configuration_classes.KinematicConfig(type: str, initial_orientation: torch.Tensor, deviations: KinematicDeviations | None = None)

Initialize the kinematic configuration.

Parameters

typestr

The type of kinematic used.

initial_orientationtorch.Tensor

The initial orientation of the kinematic configuration.

deviationsKinematicDeviations | None

The kinematic deviations.

type
initial_orientation
deviations = None
create_kinematic_dict() dict[str, Any]

Create a dictionary containing the configuration parameters for the kinematic.

Returns

dict[str, Any]

A dictionary containing the configuration parameters for the kinematic.

class artist.scenario.configuration_classes.KinematicPrototypeConfig(type: str, initial_orientation: torch.Tensor, deviations: KinematicDeviations | None = None)

Bases: KinematicConfig

Initialize the kinematic prototype configuration.

Parameters

typestr

The type of kinematic used.

initial_orientationtorch.Tensor

The initial orientation of the kinematic configuration.

deviationsKinematicDeviations | None

The kinematic deviations.

class artist.scenario.configuration_classes.KinematicLoadConfig(type: str, initial_orientation: torch.Tensor, deviations: KinematicDeviations)

Initialize the kinematic configuration for loading in ARTIST.

Parameters

typestr

The type of kinematic used.

initial_orientationtorch.Tensor

The initial orientation of the kinematic configuration.

deviationsKinematicDeviations

The kinematic deviations.

type
initial_orientation
deviations
class artist.scenario.configuration_classes.ActuatorParameters(increment: torch.Tensor | None = None, initial_stroke_length: torch.Tensor | None = None, offset: torch.Tensor | None = None, pivot_radius: torch.Tensor | None = None, initial_angle: torch.Tensor | None = None)

Initialize the actuator parameters.

Parameters

incrementtorch.Tensor | None

The increment for the actuator

initial_stroke_lengthtorch.Tensor | None

The initial stroke length.

offsettorch.Tensor | None

The initial actuator offset.

pivot_radiustorch.Tensor | None

The pivot radius of the considered joint.

initial_angletorch.Tensor | None

The initial angle of the actuator.

increment = None
initial_stroke_length = None
offset = None
pivot_radius = None
initial_angle = None
create_actuator_parameters_dict() dict[str, torch.Tensor]

Create a dictionary containing the parameters for the actuator.

Returns

dict[str, torch.Tensor]

A dictionary containing the configuration parameters for the actuator.

class artist.scenario.configuration_classes.ActuatorConfig(key: str, type: str, clockwise_axis_movement: bool, min_max_motor_positions: list[float], parameters: ActuatorParameters | None = None)

Initialize the actuator configuration.

Parameters

keystr

The name or descriptor of the actuator.

typestr

The type of actuator to use, e.g. linear or ideal.

clockwise_axis_movementbool

Boolean indicating if the actuator operates in a clockwise or counterclockwise manner.

min_max_motor_positionslist[float]

The minimum and maximum motor positions.

parametersActuatorParameters | None

The parameters of the actuator.

key
type
clockwise_axis_movement
min_max_motor_positions
parameters = None
create_actuator_dict() dict[str, Any]

Create a dictionary containing the actuator configuration.

Returns

dict[str, Any]

A dictionary containing the actuator configuration.

class artist.scenario.configuration_classes.ActuatorListConfig(actuator_list: list[ActuatorConfig])

Initialize the actuator list configuration.

Parameters

actuator_listlist[ActuatorConfig]

A list of actuator configurations.

actuator_list
create_actuator_list_dict() dict[str, Any]

Create a dictionary containing a list of actuator configurations.

Returns

dict[str, Any]

A dictionary containing a list of actuator configurations.

class artist.scenario.configuration_classes.ActuatorPrototypeConfig(actuator_list: list[ActuatorConfig])

Bases: ActuatorListConfig

Initialize the actuator list prototype configuration.

Parameters

actuator_listlist[ActuatorConfig]

A list of actuator configurations.

class artist.scenario.configuration_classes.PrototypeConfig(surface_prototype: SurfacePrototypeConfig, kinematic_prototype: KinematicPrototypeConfig, actuators_prototype: ActuatorPrototypeConfig)

Initialize the prototype configuration.

Parameters

surface_prototypeSurfacePrototypeConfig

The prototype for the surface.

kinematic_prototypeKinematicPrototypeConfig

The prototype for the kinematic.

actuators_prototypeActuatorPrototypeConfig

The prototype for the actuators.

surface_prototype
kinematic_prototype
actuators_prototype
create_prototype_dict() dict[str, Any]

Create a dictionary containing the prototypes.

Returns

dict[str, Any]

A dictionary containing the prototypes.

class artist.scenario.configuration_classes.HeliostatConfig(name: str, id: int, position: torch.Tensor, surface: SurfaceConfig | None = None, kinematic: KinematicConfig | None = None, actuators: ActuatorListConfig | None = None)

Initialize the single heliostat configuration.

Parameters

namestr

The name used to identify the heliostat in the HDF5 file.

idint

The numerical ID of the heliostat.

positiontorch.Tensor

The position of the heliostat.

surfaceSurfaceConfig | None

An optional individual surface config for the heliostat.

kinematicKinematicConfig | None

An optional kinematic config for the heliostat.

actuatorsActuatorListConfig | None

An optional actuator list config for the heliostat.

name
id
position
surface = None
kinematic = None
actuators = None
create_heliostat_config_dict() dict[str, Any]

Create a dictionary containing the heliostat configuration parameters.

Returns

dict[str, Any]

A dictionary containing the heliostat configuration parameters.

class artist.scenario.configuration_classes.HeliostatListConfig(heliostat_list: list[HeliostatConfig])

Initialize the heliostat list configuration.

Parameters

heliostat_listlist[HeliostatConfig]

The list of heliostats to include.

heliostat_list
create_heliostat_list_dict() dict[str, Any]

Create a dictionary containing the heliostat list configuration parameters.

Returns

dict[str, Any]

A dictionary containing the heliostat list configuration parameters.