commit 790d023eea1e41e435e02d9a1e92e2d3f660d3ff
parent 1a6e68c86d7ce2b7200675b2e40a9fdb50855253
Author: Christophe Coustet <christophe.coustet@meso-star.com>
Date: Fri, 22 Sep 2017 15:28:03 +0200
Merge branch 'feature_new_outputs' into develop
Diffstat:
11 files changed, 138 insertions(+), 86 deletions(-)
diff --git a/doc/solstice-output.5.txt b/doc/solstice-output.5.txt
@@ -112,8 +112,10 @@ _______
<front> ::= <side>
<back> ::= <side>
-<side> ::= "<absorbed-flux> <incoming-flux>
- <materials-loss> <atmospheric-loss>
+<side> ::= "<incoming-flux> <in-if-no-mat-loss> <in-if-no-atm-loss>
+ <in-mat-loss> <in-atm-loss>
+ <absorbed-flux> <abs-if-no-mat-loss> <abs-if-no-atm-loss>
+ <abs-mat-loss> <abs-atm-loss>
<efficiency>"
-------------------------------------
@@ -139,8 +141,10 @@ _______
<rcvXprim-front> ::= <rcvXprim-side>
<rcvXprim-back> ::= <rcvXprim-side>
-<rcvXprim-side> ::= "<absorbed-flux> <incoming-flux>
- <materials-loss> <atmospheric-loss>"
+<rcvXprim-side> ::= "<incoming-flux> <in-if-no-mat-loss> <in-if-no-atm-loss>
+ <in-mat-loss> <in-atm-loss>
+ <absorbed-flux> <abs-if-no-mat-loss> <abs-if-no-atm-loss>
+ <abs-mat-loss> <abs-atm-loss>"
-------------------------------------
@@ -160,13 +164,21 @@ _______
<azimuth> ::= REAL # Degrees in [0, 360[
<elevation> ::= REAL # Degrees in [0, 90]
-<potential-flux> ::= <estimate>
+<incoming-flux> ::= <estimate>
+<in-if-no-mat-loss> ::= <estimate>
+<in-if-no-atm-loss> ::= <estimate>
+<in-mat-loss> ::= <estimate>
+<in-atm-loss> ::= <estimate>
<absorbed-flux> ::= <estimate>
-<atmospheric-loss> ::= <estimate>
+<abs-if-no-mat-loss> ::= <estimate>
+<abs-if-no-atm-loss> ::= <estimate>
+<abs-mat-loss> ::= <estimate>
+<abs-atm-loss> ::= <estimate>
<cos-factor> ::= <estimate>
<incoming-flux> ::= <estimate>
<missing-loss> ::= <estimate>
<materials-loss> ::= <estimate>
+<atmospheric-loss> ::= <estimate>
<shadow-loss> ::= <estimate>
<efficiency> ::= <estimate>
@@ -206,8 +218,8 @@ standard error. The global results are, in this order:
receiver geometry. At most equal to the potential flux;
- *cos-factor*: cos of the angle between the sun direction and the normal of
the primary surfaces (average cos over all primary geometries);
-- *shadow-loss*: potential flux intercepted by another geometry before reaching
- a primary geometry.
+- *shadow-loss*: potential flux intercepted by another geometry before reaching
+ a primary geometry;
- *missing-loss*: part of the flux that reaches a primary geometry, follows a
radiative path, but is not absorbed; this flux could have bounced on geometries,
including receivers, but without being absorbed;
@@ -240,13 +252,21 @@ The estimates of the *front* and *back* sides are listed bellow. Note that
each of the following estimates is actually a pair of real numbers: the
expected value and its standard error.
-- *absorbed-flux*: flux absorbed by the receiver side;
- *incoming-flux*: flux that reaches the receiver side;
-- *materials-loss*: additional flux that could have been absorbed by the
- receiver side if no absorption had occurred on non-receivers material until then;
-- *atmospheric-loss*: additional flux that could have been absorbed by the
- receiver side if atmospheric extinction had not been taken into account;
-- *efficiency*: fraction of potential flux absorbed by the receiver side.
+- *in-if-no-mat-loss*: incoming-flux if
+ absorption on non-receivers is not taken into account;
+- *in-if-no-atm-loss*: incoming-flux if
+ atmospheric extinction is not taken into account;
+- *in-mat-loss*: in-if-no-mat-loss - incoming-flux;
+- *in-atm-loss*: in-if-no-atm-loss - incoming-flux;
+- *absorbed-flux*: flux absorbed by the receiver side;
+- *abs-if-no-mat-loss*: absorbed-flux if
+ absorption by non-receivers is not taken into account;
+- *abs-if-no-atm-loss*: absorbed-flux if
+ atmospheric extinction is not taken into account;
+- *abs-mat-loss*: abs-if-no-mat-loss - absorbed-flux;
+- *abs-atm-loss*: abs-if-no-atm-loss - absorbed-flux;
+- *efficiency*: fraction of the potential flux absorbed by this receiver side.
Both *front* and *back* side estimates are output, even if the receiver has
only a single receiving side. In this case, the results of the non-receiving
@@ -268,7 +288,7 @@ the headers. Each line contains:
geometry;
- *cos-factor*: cos of the angle between the sun direction and the normal of
the primary surface (average cos on the primary geometry);
-- *shadow-loss*: potential flux intercepted by another geometry before reaching
+- *shadow-loss*: potential flux intercepted by another geometry before reaching
the primary geometry of interest.
Per receiver and per primary results
@@ -288,16 +308,20 @@ The estimated values of *rcvXprim-front* and *rcvXprim-back* are listed
bellow. Each of these estimates is actually a pair of real numbers: the
expected value and its standard error.
-- *absorbed-flux*: flux absorbed by the receiver side coming
- from the primary geometry;
-- *incoming-flux*: flux reaching the receiver side coming from the primary
- geometry;
-- *materials-loss*: additional flux that could have been absorbed by the
- receiver side coming from the primary geometry if no absorption had occurred
- on non-receivers material until then;
-- *atmospheric-loss*: additional flux that could have been absorbed by
- the receiver side coming from the primary geometry if atmospheric
- extinction had not been taken into account.
+- *incoming-flux*: flux that reaches the receiver side;
+- *in-if-no-mat-loss*: incoming-flux if
+ absorption on non-receivers is not taken into account;
+- *in-if-no-atm-loss*: incoming-flux if
+ atmospheric extinction is not taken into account;
+- *in-mat-loss*: in-if-no-mat-loss - incoming-flux;
+- *in-atm-loss*: in-if-no-atm-loss - incoming-flux;
+- *absorbed-flux*: flux absorbed by the receiver side;
+- *abs-if-no-mat-loss*: absorbed-flux if
+ absorption by non-receivers is not taken into account;
+- *abs-if-no-atm-loss*: absorbed-flux if
+ atmospheric extinction is not taken into account;
+- *abs-mat-loss*: abs-if-no-mat-loss - absorbed-flux;
+- *abs-atm-loss*: abs-if-no-atm-loss - absorbed-flux;
Both front and back side estimates are output, even if the receiver has only a
single receiving side. In this case, the results of the non-receiving side are
diff --git a/src/solstice_solve.c b/src/solstice_solve.c
@@ -102,16 +102,30 @@ write_mc_global(struct solstice* solstice, struct ssol_estimator* estimator)
SSOL(instance_get_area(inst, &area));
fprintf(solstice->output,
"%s %u %g "
+ "%g %g %g %g %g %g %g %g %g %g %g %g "
"%g %g %g %g %g %g %g %g %g %g "
+ "%g %g %g %g %g %g %g %g %g %g %g %g "
"%g %g %g %g %g %g %g %g %g %g\n",
str_cget(name), (unsigned)id, area,
- front.absorbed_flux.E, front.absorbed_flux.SE,
front.incoming_flux.E, front.incoming_flux.SE,
+ front.incoming_if_no_field_loss.E, front.incoming_if_no_field_loss.SE,
+ front.incoming_if_no_atm_loss.E, front.incoming_if_no_atm_loss.SE,
+ front.incoming_lost_in_field.E, front.incoming_lost_in_field.SE,
+ front.incoming_lost_in_atmosphere.E, front.incoming_lost_in_atmosphere.SE,
+ front.absorbed_flux.E, front.absorbed_flux.SE,
+ front.absorbed_if_no_field_loss.E, front.absorbed_if_no_field_loss.SE,
+ front.absorbed_if_no_atm_loss.E, front.absorbed_if_no_atm_loss.SE,
front.absorbed_lost_in_field.E, front.absorbed_lost_in_field.SE,
front.absorbed_lost_in_atmosphere.E, front.absorbed_lost_in_atmosphere.SE,
f_eff_E, f_eff_SE,
- back.absorbed_flux.E, back.absorbed_flux.SE,
back.incoming_flux.E, back.incoming_flux.SE,
+ back.incoming_if_no_field_loss.E, back.incoming_if_no_field_loss.SE,
+ back.incoming_if_no_atm_loss.E, back.incoming_if_no_atm_loss.SE,
+ back.incoming_lost_in_field.E, back.incoming_lost_in_field.SE,
+ back.incoming_lost_in_atmosphere.E, back.incoming_lost_in_atmosphere.SE,
+ back.absorbed_flux.E, back.absorbed_flux.SE,
+ back.absorbed_if_no_field_loss.E, back.absorbed_if_no_field_loss.SE,
+ back.absorbed_if_no_atm_loss.E, back.absorbed_if_no_atm_loss.SE,
back.absorbed_lost_in_field.E, back.absorbed_lost_in_field.SE,
back.absorbed_lost_in_atmosphere.E, back.absorbed_lost_in_atmosphere.SE,
b_eff_E, b_eff_SE);
@@ -176,15 +190,29 @@ write_mc_global(struct solstice* solstice, struct ssol_estimator* estimator)
}
fprintf(solstice->output,
"%u %u "
+ "%g %g %g %g %g %g %g %g %g %g %g %g "
"%g %g %g %g %g %g %g %g "
+ "%g %g %g %g %g %g %g %g %g %g %g %g "
"%g %g %g %g %g %g %g %g\n",
(unsigned) rcv_id, (unsigned) prim_id,
- front.absorbed_flux.E, front.absorbed_flux.SE,
front.incoming_flux.E, front.incoming_flux.SE,
+ front.incoming_if_no_field_loss.E, front.incoming_if_no_field_loss.SE,
+ front.incoming_if_no_atm_loss.E, front.incoming_if_no_atm_loss.SE,
+ front.incoming_lost_in_field.E, front.incoming_lost_in_field.SE,
+ front.incoming_lost_in_atmosphere.E, front.incoming_lost_in_atmosphere.SE,
+ front.absorbed_flux.E, front.absorbed_flux.SE,
+ front.absorbed_if_no_field_loss.E, front.absorbed_if_no_field_loss.SE,
+ front.absorbed_if_no_atm_loss.E, front.absorbed_if_no_atm_loss.SE,
front.absorbed_lost_in_field.E, front.absorbed_lost_in_field.SE,
front.absorbed_lost_in_atmosphere.E, front.absorbed_lost_in_atmosphere.SE,
- back.absorbed_flux.E, back.absorbed_flux.SE,
back.incoming_flux.E, back.incoming_flux.SE,
+ back.incoming_if_no_field_loss.E, back.incoming_if_no_field_loss.SE,
+ back.incoming_if_no_atm_loss.E, back.incoming_if_no_atm_loss.SE,
+ back.incoming_lost_in_field.E, back.incoming_lost_in_field.SE,
+ back.incoming_lost_in_atmosphere.E, back.incoming_lost_in_atmosphere.SE,
+ back.absorbed_flux.E, back.absorbed_flux.SE,
+ back.absorbed_if_no_field_loss.E, back.absorbed_if_no_field_loss.SE,
+ back.absorbed_if_no_atm_loss.E, back.absorbed_if_no_atm_loss.SE,
back.absorbed_lost_in_field.E, back.absorbed_lost_in_field.SE,
back.absorbed_lost_in_atmosphere.E, back.absorbed_lost_in_atmosphere.SE);
htable_primary_iterator_next(&p_it);
diff --git a/yaml/beam_down.ref b/yaml/beam_down.ref
@@ -7,23 +7,23 @@
0 0
0 0
0 0
-tower.secondary.hyperbol 10 421.957 0 0 465.46 0.0057839 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-tower.receptor 14 25 465.46 0.0057839 465.46 0.0057839 0 0 0 0 0.93084 1.15668e-05 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
+tower.secondary.hyperbol 10 421.957 465.46 0.0057839 465.46 0.0057839 465.46 0.0057839 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+tower.receptor 14 25 465.46 0.0057839 465.46 0.0057839 465.46 0.0057839 0 0 0 0 465.46 0.0057839 465.46 0.0057839 465.46 0.0057839 0 0 0 0 0.93084 1.15668e-05 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
heliostat4.temp-heliostat150.pivot.reflector 6 100.009 19915 0.931616 2.47038e-05 0 0
heliostat5.temp-heliostat150.pivot.reflector 30 100.009 20068 0.929594 2.509e-05 0 0
heliostat3.temp-heliostat150.pivot.reflector 22 100.009 19919 0.931716 2.47979e-05 0 0
heliostat2.temp-heliostat150.pivot.reflector 26 100.009 20054 0.93164 2.4549e-05 0 0
heliostat1.temp-heliostat150.pivot.reflector 34 100.009 20044 0.929616 2.5199e-05 0 0
-10 6 0 0 92.7742 0.588324 0 0 0 0 0 0 0 0 0 0 0 0
-10 30 0 0 93.2842 0.588736 0 0 0 0 0 0 0 0 0 0 0 0
-10 22 0 0 92.8029 0.588432 0 0 0 0 0 0 0 0 0 0 0 0
-10 26 0 0 93.4242 0.589876 0 0 0 0 0 0 0 0 0 0 0 0
-10 34 0 0 93.1748 0.588486 0 0 0 0 0 0 0 0 0 0 0 0
-14 6 92.7742 0.588324 92.7742 0.588324 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1
-14 30 93.2842 0.588736 93.2842 0.588736 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1
-14 22 92.8029 0.588432 92.8029 0.588432 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1
-14 26 93.4242 0.589876 93.4242 0.589876 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1
-14 34 93.1748 0.588486 93.1748 0.588486 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1
+10 6 92.7742 0.588324 92.7742 0.588324 92.7742 0.588324 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+10 30 93.2842 0.588736 93.2842 0.588736 93.2842 0.588736 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+10 22 92.8029 0.588432 92.8029 0.588432 92.8029 0.588432 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+10 26 93.4242 0.589876 93.4242 0.589876 93.4242 0.589876 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+10 34 93.1748 0.588486 93.1748 0.588486 93.1748 0.588486 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+14 6 92.7742 0.588324 92.7742 0.588324 92.7742 0.588324 0 0 0 0 92.7742 0.588324 92.7742 0.588324 92.7742 0.588324 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
+14 30 93.2842 0.588736 93.2842 0.588736 93.2842 0.588736 0 0 0 0 93.2842 0.588736 93.2842 0.588736 93.2842 0.588736 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
+14 22 92.8029 0.588432 92.8029 0.588432 92.8029 0.588432 0 0 0 0 92.8029 0.588432 92.8029 0.588432 92.8029 0.588432 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
+14 26 93.4242 0.589876 93.4242 0.589876 93.4242 0.589876 0 0 0 0 93.4242 0.589876 93.4242 0.589876 93.4242 0.589876 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
+14 34 93.1748 0.588486 93.1748 0.588486 93.1748 0.588486 0 0 0 0 93.1748 0.588486 93.1748 0.588486 93.1748 0.588486 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
#--- Sun direction: 50 50 (-0.413176 -0.492404 -0.766044)
7 2 5 100000 0
500.043 0
@@ -33,20 +33,20 @@ heliostat1.temp-heliostat150.pivot.reflector 34 100.009 20044 0.929616 2.5199e
245.21 0.615008
19.1054 0.268227
0 0
-tower.secondary.hyperbol 10 421.957 0 0 400.167 0.0352796 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-tower.receptor 14 25 135.852 0.602426 135.852 0.602426 0 0 0 0 0.271681 0.00120475 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
+tower.secondary.hyperbol 10 421.957 400.167 0.0352796 400.167 0.0352796 400.167 0.0352796 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+tower.receptor 14 25 135.852 0.602426 135.852 0.602426 135.852 0.602426 0 0 0 0 135.852 0.602426 135.852 0.602426 135.852 0.602426 0 0 0 0 0.271681 0.00120475 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
heliostat4.temp-heliostat150.pivot.reflector 6 100.009 20095 0.785227 4.21758e-05 0 0
heliostat5.temp-heliostat150.pivot.reflector 30 100.009 20027 0.769756 4.33957e-05 0 0
heliostat3.temp-heliostat150.pivot.reflector 22 100.009 19777 0.799897 4.08915e-05 0 0
heliostat2.temp-heliostat150.pivot.reflector 26 100.009 19976 0.815845 3.92572e-05 0 0
heliostat1.temp-heliostat150.pivot.reflector 34 100.009 20125 0.830515 3.78765e-05 0 0
-10 6 0 0 78.903 0.497568 0 0 0 0 0 0 0 0 0 0 0 0
-10 30 0 0 77.0867 0.487147 0 0 0 0 0 0 0 0 0 0 0 0
-10 22 0 0 79.1052 0.503835 0 0 0 0 0 0 0 0 0 0 0 0
-10 26 0 0 81.4942 0.515816 0 0 0 0 0 0 0 0 0 0 0 0
-10 34 0 0 83.5784 0.526554 0 0 0 0 0 0 0 0 0 0 0 0
-14 6 22.1799 0.286704 22.1799 0.286704 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1
-14 30 18.6614 0.26147 18.6614 0.26147 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1
-14 22 25.3271 0.308097 25.3271 0.308097 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1
-14 26 31.6777 0.345324 31.6777 0.345324 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1
-14 34 38.0063 0.378737 38.0063 0.378737 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1
+10 6 78.903 0.497568 78.903 0.497568 78.903 0.497568 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+10 30 77.0867 0.487147 77.0867 0.487147 77.0867 0.487147 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+10 22 79.1052 0.503835 79.1052 0.503835 79.1052 0.503835 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+10 26 81.4942 0.515816 81.4942 0.515816 81.4942 0.515816 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+10 34 83.5784 0.526554 83.5784 0.526554 83.5784 0.526554 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+14 6 22.1799 0.286704 22.1799 0.286704 22.1799 0.286704 0 0 0 0 22.1799 0.286704 22.1799 0.286704 22.1799 0.286704 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
+14 30 18.6614 0.26147 18.6614 0.26147 18.6614 0.26147 0 0 0 0 18.6614 0.26147 18.6614 0.26147 18.6614 0.26147 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
+14 22 25.3271 0.308097 25.3271 0.308097 25.3271 0.308097 0 0 0 0 25.3271 0.308097 25.3271 0.308097 25.3271 0.308097 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
+14 26 31.6777 0.345324 31.6777 0.345324 31.6777 0.345324 0 0 0 0 31.6777 0.345324 31.6777 0.345324 31.6777 0.345324 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
+14 34 38.0063 0.378737 38.0063 0.378737 38.0063 0.378737 0 0 0 0 38.0063 0.378737 38.0063 0.378737 38.0063 0.378737 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
diff --git a/yaml/test01.ref b/yaml/test01.ref
@@ -7,6 +7,6 @@
1 0
0 0
0 0
-square_receiver 2 100 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 1 0 0 0 0 0 0 0
+square_receiver 2 100 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
reflector 6 1 10000 1 0 0 0
-2 6 -1 -1 -1 -1 -1 -1 -1 -1 0 0 1 0 0 0 0 0
+2 6 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
diff --git a/yaml/test02.ref b/yaml/test02.ref
@@ -1,12 +1,12 @@
#--- Sun direction: 0 90 (-6.12323e-17 -0 -1)
7 1 1 10000 0
100 0
-0.91 0.0949589
+0.96 0.0975082
1 0
0 0
-99.09 0.0949589
+99.04 0.0975082
0 0
0 0
-square_receiver 2 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0.91 0.0949589 0.91 0.0949589 0 0 0 0 0.0091 0.000949589
+square_receiver 2 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0.96 0.0975082 0.96 0.0975082 0.96 0.0975082 0 0 0 0 0.96 0.0975082 0.96 0.0975082 0.96 0.0975082 0 0 0 0 0.0096 0.000975082
reflector 6 100 10000 1 0 0 0
-2 6 -1 -1 -1 -1 -1 -1 -1 -1 0.91 0.0949589 0.91 0.0949589 0 0 0 0
+2 6 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0.96 0.0975082 0.96 0.0975082 0.96 0.0975082 0 0 0 0 0.96 0.0975082 0.96 0.0975082 0.96 0.0975082 0 0 0 0
diff --git a/yaml/test03.ref b/yaml/test03.ref
@@ -2,11 +2,11 @@
7 1 1 10000 0
1 0
0 0
-0.707107 2.44511e-09
+0.707107 0
0 0
-0.707107 2.44511e-09
+0.707107 0
0 0
0 0
-square_receiver 2 100 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0.707107 2.44511e-09 0 0 0 0 0 0
-reflector 6 1 10000 0.707107 2.44511e-09 0 0
-2 6 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0.707107 2.44511e-09 0 0 0 0
+square_receiver 2 100 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0.707107 0 0.707107 0 0.707107 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+reflector 6 1 10000 0.707107 0 0 0
+2 6 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0.707107 0 0.707107 0 0.707107 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
diff --git a/yaml/test04.ref b/yaml/test04.ref
@@ -2,11 +2,11 @@
7 1 1 10000 0
1 0
0 0
-0.707107 2.44511e-09
+0.707107 0
0 0
-0.707107 2.44511e-09
+0.707107 0
0 0
0 0
-square_receiver 2 100 0 0 0 0 0 0 0 0 0 0 0 0 0.707107 2.44511e-09 0 0 0 0 0 0
-reflector 6 1 10000 0.707107 2.44511e-09 0 0
-2 6 0 0 0 0 0 0 0 0 0 0 0.707107 2.44511e-09 0 0 0 0
+square_receiver 2 100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.707107 0 0.707107 0 0.707107 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+reflector 6 1 10000 0.707107 0 0 0
+2 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.707107 0 0.707107 0 0.707107 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
diff --git a/yaml/test05.ref b/yaml/test05.ref
@@ -7,6 +7,6 @@
1 0
0 0
0 0
-spherical_receiver 2 50.2403 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 1 0 0 0 0 0 0 0
+spherical_receiver 2 50.2403 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
reflector 6 1 10000 1 0 0 0
-2 6 -1 -1 -1 -1 -1 -1 -1 -1 0 0 1 0 0 0 0 0
+2 6 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
diff --git a/yaml/test06.ref b/yaml/test06.ref
@@ -2,11 +2,11 @@
7 1 1 10000 0
111.97 0
0 0
-0.896777 0.000575378
+0.896295 0.000571234
0 0
-100 2.33602e-08
+100 0
0 0
0 0
-reflector.ground.pivot.small_square 10 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 100 2.33602e-08 0 0 0 0 0 0
-reflector.ground.pivot.parabol 6 111.97 10000 0.896777 0.000575378 0 0
-10 6 -1 -1 -1 -1 -1 -1 -1 -1 0 0 100 2.33602e-08 0 0 0 0
+reflector.ground.pivot.small_square 10 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 100 0 100 0 100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+reflector.ground.pivot.parabol 6 111.97 10000 0.896295 0.000571234 0 0
+10 6 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 100 0 100 0 100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
diff --git a/yaml/test07.ref b/yaml/test07.ref
@@ -2,11 +2,11 @@
7 1 1 10000 0
56.3501 0
0 0
-0.66742 0.00232559
+0.670118 0.00232673
0 0
-28.093 5.04637e-08
+28.093 4.0179e-08
0 0
0 0
-square_receiver 2 100 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 28.0902 0.00280916 0 0 0 0 0 0
-reflector 6 56.3501 10000 0.66742 0.00232559 0 0
-2 6 -1 -1 -1 -1 -1 -1 -1 -1 0 0 28.0902 0.00280916 0 0 0 0
+square_receiver 2 100 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 28.093 4.0179e-08 28.093 4.0179e-08 28.093 4.0179e-08 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+reflector 6 56.3501 10000 0.670118 0.00232673 0 0
+2 6 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 28.093 4.0179e-08 28.093 4.0179e-08 28.093 4.0179e-08 0 0 0 0 0 0 0 0 0 0 0 0 0 0
diff --git a/yaml/test08.ref b/yaml/test08.ref
@@ -2,11 +2,11 @@
7 1 1 10000 0
85.5109 0
0 0
-0.918392 0.000433033
+0.917875 0.000431307
0 0
-78.4137 0
+78.4137 2.52319e-08
0 0
0 0
-reflector.pivot.small_square 6 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 78.4137 0 0 0 0 0 0 0
-reflector.pivot.parabol 2 85.5109 10000 0.918392 0.000433033 0 0
-6 2 -1 -1 -1 -1 -1 -1 -1 -1 0 0 78.4137 0 0 0 0 0
+reflector.pivot.small_square 6 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 78.4137 2.52319e-08 78.4137 2.52319e-08 78.4137 2.52319e-08 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+reflector.pivot.parabol 2 85.5109 10000 0.917875 0.000431307 0 0
+6 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 78.4137 2.52319e-08 78.4137 2.52319e-08 78.4137 2.52319e-08 0 0 0 0 0 0 0 0 0 0 0 0 0 0