artist.util.config

Classes

PowerPlantConfig

Initialize the power plant configuration.

TargetAreaPlanarConfig

Initialize the target area configuration for planar target areas.

TargetAreaPlanarListConfig

Initialize the planar target area list configuration.

TargetAreaCylindricalConfig

Initialize the target area configuration for cylindrical target areas.

TargetAreaCylindricalListConfig

Initialize the cylindrical 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.

KinematicsDeviations

Initialize the kinematics deviations.

KinematicsConfig

Initialize the kinematics configuration.

KinematicsPrototypeConfig

Initialize the kinematics prototype configuration.

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.util.config.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.util.config.TargetAreaPlanarConfig(target_area_key: str, center: torch.Tensor, normal_vector: torch.Tensor, plane_e: torch.Tensor, plane_u: torch.Tensor)

Initialize the target area configuration for planar target areas.

Parameters

target_area_keystr

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

centertorch.Tensor

Position of the target area’s center.

normal_vectortorch.Tensor

Normal vector to the target plane.

plane_etorch.Tensor

Size of the target area in the east direction.

plane_utorch.Tensor

Size of the target area in the up direction.

target_area_key
center
normal_vector
plane_e
plane_u
create_target_area_dict() dict[str, Any]

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

Returns

dict[str, Any]

A dictionary containing the configuration parameters for the planar target area.

class artist.util.config.TargetAreaPlanarListConfig(target_area_list: list[TargetAreaPlanarConfig])

Initialize the planar target area list configuration.

Parameters

target_area_listlist[TargetAreaPlanarConfig]

The list of planar 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 planar target areas.

Returns

dict[str, Any]

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

class artist.util.config.TargetAreaCylindricalConfig(target_area_key: str, radius: torch.Tensor, center: torch.Tensor, height: torch.Tensor, axis: torch.Tensor, normal: torch.Tensor, opening_angle: torch.Tensor)

Initialize the target area configuration for cylindrical target areas.

Parameters

target_area_keystr

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

radiustorch.Tensor

Radius of the cylindrical target area.

centertorch.Tensor

Position of the center of the cylindrical target area.

heighttorch.Tensor

Height of the cylindrical target area.

axistorch.Tensor

Axis of the cylindrical target area.

normaltorch.Tensor

Normal vector of the cylindrical target area.

opening_angletorch.Tensor

Opening angle of the cylindrical target area.

target_area_key
radius
center
height
axis
normal
opening_angle
create_target_area_dict() dict[str, Any]

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

Returns

dict[str, Any]

A dictionary containing the configuration parameters for the cylindrical target area.

class artist.util.config.TargetAreaCylindricalListConfig(target_area_list: list[TargetAreaCylindricalConfig])

Initialize the cylindrical target area list configuration.

Parameters

target_area_listlist[TargetAreaCylindricalConfig]

The list of cylindrical 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 cylindrical target areas.

Returns

dict[str, Any]

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

class artist.util.config.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.util.config.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.util.config.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.util.config.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.util.config.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.util.config.KinematicsDeviations(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 kinematics 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_kinematics_deviations_dict() dict[str, Any]

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

Returns

dict[str, Any]

A dictionary containing the configuration parameters for the kinematics deviations.

class artist.util.config.KinematicsConfig(kinematics_type: str, initial_orientation: torch.Tensor, deviations: KinematicsDeviations | None = None)

Initialize the kinematics configuration.

Parameters

kinematics_typestr

The type of kinematics used.

initial_orientationtorch.Tensor

The initial orientation of the kinematics configuration.

deviationsKinematicsDeviations | None

The kinematics deviations.

kinematics_type
initial_orientation
deviations = None
create_kinematics_dict() dict[str, Any]

Create a dictionary containing the configuration parameters for the kinematics.

Returns

dict[str, Any]

A dictionary containing the configuration parameters for the kinematics.

class artist.util.config.KinematicsPrototypeConfig(kinematics_type: str, initial_orientation: torch.Tensor, deviations: KinematicsDeviations | None = None)

Bases: KinematicsConfig

Initialize the kinematics prototype configuration.

Parameters

kinematics_typestr

The type of kinematics used.

initial_orientationtorch.Tensor

The initial orientation of the kinematics configuration.

deviationsKinematicsDeviations | None

The kinematics deviations.

class artist.util.config.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.util.config.ActuatorConfig(key: str, actuator_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.

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
actuator_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.util.config.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.util.config.ActuatorPrototypeConfig(actuator_list: list[ActuatorConfig])

Bases: ActuatorListConfig

Initialize the actuator list prototype configuration.

Parameters

actuator_listlist[ActuatorConfig]

A list of actuator configurations.

class artist.util.config.PrototypeConfig(surface_prototype: SurfacePrototypeConfig, kinematics_prototype: KinematicsPrototypeConfig, actuators_prototype: ActuatorPrototypeConfig)

Initialize the prototype configuration.

Parameters

surface_prototypeSurfacePrototypeConfig

The prototype for the surface.

kinematics_prototypeKinematicsPrototypeConfig

The prototype for the kinematics.

actuators_prototypeActuatorPrototypeConfig

The prototype for the actuators.

surface_prototype
kinematics_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.util.config.HeliostatConfig(name: str, heliostat_id: int, position: torch.Tensor, surface: SurfaceConfig | None = None, kinematics: KinematicsConfig | None = None, actuators: ActuatorListConfig | None = None)

Initialize the single heliostat configuration.

Parameters

namestr

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

heliostat_idint

The numerical ID of the heliostat.

positiontorch.Tensor

The position of the heliostat.

surfaceSurfaceConfig | None

An optional individual surface config for the heliostat.

kinematicsKinematicsConfig | None

An optional kinematics config for the heliostat.

actuatorsActuatorListConfig | None

An optional actuator list config for the heliostat.

name
heliostat_id
position
surface = None
kinematics = 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.util.config.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.