SOLSTICE-RECEIVER(5) File Formats Manual SOLSTICE-RECEIVER(5)

solstice-receiverdeclare solar-plant receivers for solstice

The solstice-receiver format is used by solstice(1) to declare which geometric entities defined in a solstice-input(5) file act as receivers. For each receiver, solstice(1) computes its total intercepted power, associated losses, and efficiency. Refer to solstice-output(5) for details on the per-receiver data produced by solstice(1). Defining receivers separately from the solar plant allows the same solstice-input(5) file to be reused across multiple simulations with different receiver configurations. For example, you can create a dedicated solstice-receiver file that designates certain primary reflectors as receivers to investigate unexpected behaviour observed in a prior simulation.

The solstice-receiver format follows the YAML 1.1 data serialization standard (see NOTES, reference 1). Provided the file conforms to the solstice-receiver semantic, receivers can be described by using the whole YAML 1.1 functionalities including compact notation and data tagging.

A receiver is identified by its , which must be a valid as defined in solstice-input(5). This identifier must refer to a geometric entity, not a pivot or an empty entity. The side of the geometry to be tracked is specified by the side attribute. Both the front and back sides of a geometry can be considered by setting side to FRONT_AND_BACK. See solstice-input(5) for details on which side of a geometry is considered front-facing or back-facing.

If the optional per_primitive flag is enabled, solstice(1) estimates the flux density for each triangle of the receiver and uses this data to generate a receiver map as described in solstice-output(5). The per_primitive flag accepts the values INCOMING, ABSORBED, or INCOMING_AND_ABSORBED to produce the incoming flux density map, the absorbed flux density map, or both, respectively.

<receivers-list>      ::= - <receiver>
                        [ - <receiver> ... ]

<receiver>            ::= name: <entity-identifier>
                          side: <side-identifier>
                        [ per_primitive: <per-primitive-mode> ] # Default: NONE

<side-identifier>     ::= FRONT
                        | BACK
                        | FRONT_AND_BACK

<per-primitive-mode>  ::= NONE
                        | INCOMING
                        | ABSORBED
                        | INCOMING_AND_ABSORBED

<entity-identifier>   # Defined in solstice-input(5)

Designate both the front and back sides of the entity small_square as receivers, and enable per-triangle absorbed flux density computation for each side:

- name: small_square
  side: FRONT_AND_BACK
  per_primitive: ABSORBED

Declare the front side of three reflectors as receivers using YAML compact notation:

- {name: H1.heliostat.reflector, side: FRONT}
- {name: H4.heliostat.reflector, side: FRONT}
- {name: H7.heliostat.reflector, side: FRONT}

Designate the back side of receiver as a receiver with an incoming flux density map, and make the front side of the reflector named LFR0.pivot.reflector a receiver:

- {name: receiver, side: BACK, per_primitive: INCOMING}
- {name: LFR0.pivot.reflector, side: FRONT}

  1. YAML Ain't Markup Language — http://yaml.org

solstice(1), solstice-input(5), solstice-output(5)

solstice-receiver was initially developed with funding from the (Laboratory of Excellence), in collaboration with the PROMES Laboratory of the French National Centre for Scientific Research (CNRS).

solstice-receiver was written and is maintained by |Méso|Star> <contact@meso-star.com>.

August 17, 2026 UNIX