solstice

Compute collected power and efficiencies of a solar plant
git clone git://git.meso-star.com/solstice.git
Log | Files | Refs | README | LICENSE

commit 63df8389e619e1a583fcf28624dd15dccb948ae0
parent 410707693d76377b869794cf7195abf18e46e60e
Author: Vincent Forest <vincent.forest@meso-star.com>
Date:   Fri, 28 Jul 2017 11:26:33 +0200

Merge branch 'release-0.2.3'

Diffstat:
MREADME.md | 10++++++++++
Mcmake/CMakeLists.txt | 2+-
Mdoc/solstice-input.5.txt | 23+++++++++++++----------
Mdoc/solstice-output.5.txt | 4++--
Msrc/parser/solparser_entity.c | 7+++++++
Msrc/parser/test_solparser2.c | 35++++++++++++++++++++++++++++-------
Msrc/parser/test_solparser_normal_map.c | 4++--
Msrc/parser/test_solparser_spectrum.c | 2+-
Msrc/solstice.c | 3++-
Msrc/solstice_args.c | 3+--
Myaml/beam_down.ref | 78+++++++++++++++++++++++++++++++++++++++---------------------------------------
Myaml/test01.ref | 2+-
Myaml/test02.ref | 10+++++-----
Myaml/test03.ref | 10+++++-----
Myaml/test04.ref | 10+++++-----
Myaml/test05.ref | 2+-
Myaml/test06.ref | 10+++++-----
Myaml/test07.ref | 12++++++------
Myaml/test08.ref | 10+++++-----
19 files changed, 139 insertions(+), 98 deletions(-)

diff --git a/README.md b/README.md @@ -60,6 +60,16 @@ informations on CMake. ## Release notes +### Version 0.2.3 + +- Update the solstice-input file format. The anchor and entity name cannot + contain spaces or tabulations anymore. +- Fix the reported sun directions in the solstice-output. For each submitted + sun direction, solstice correctly output its Cartesian coordinates but always + wrote the azimuthal and elevation angles of the first direction. +- Update the solstice-output map page: add the missing `<efficiency>` grammar + rule and fix the definition of the `<map-side-data>` grammar rule. + ### Version 0.2.2 - Fix how the AsciiDoc tool suite is looking for on Windows; it was never found diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt @@ -100,7 +100,7 @@ configure_file(${SOLSTICE_SOURCE_DIR}/../doc/solstice.1.txt.in ################################################################################ set(VERSION_MAJOR 0) set(VERSION_MINOR 2) -set(VERSION_PATCH 2) +set(VERSION_PATCH 3) set(VERSION ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}) set(SOLSTICE_FILES_SRC diff --git a/doc/solstice-input.5.txt b/doc/solstice-input.5.txt @@ -649,9 +649,10 @@ identity, i.e. its *rotation* and *translation* are nulls. Each entity has a *name* which must be unique per hierarchy level: 2 root entities (i.e. entities without parent) cannot have the same name as well as -the children of a same parent entity. A child entity is identified into the -solar plant by successively concatenating, with the \'.' character, the name of -its ancestors with its own name. This naming convention is used in the +the children of a same parent entity. In addition, the name string cannot +contain dots, spaces or tabulations. A child entity is identified into the +solar plant by successively concatenating, with the \'.' character, the name +of its ancestors with its own name. This naming convention is used in the *solstice-receiver*(5) format to define the entities to track during the *solstice*(1) computations. For instance, in the following example, the *entity-identifier* of the child entity named *level2* is @@ -764,13 +765,15 @@ Anchor ~~~~~~ An *anchor* defines a relative position into the entity hierarchy. They are -particularly useful for pivots and hyperbolic shapes that may have to reference -a position relative to an entity whose transformations may also depends of its -ancestor. An anchor has a *name* that must be unique for the whole sets of per -entity anchors. An anchor is identified into the solar plant by concatenating, -with the \'.' character, its name to the *entity-identifier* of the entity into -which it is declared. For instance, in the following example, the -*anchor-identifier* of the anchor named *anchor0* is *level0.level1.anchor0*: +particularly useful for pivots and hyperbolic shapes that may have to +reference a position relative to an entity whose transformations may also +depends of its ancestor. An anchor has a *name* that must be unique for the +whole sets of per entity anchors. In addition, a name cannot contain +dots, spaces or tabulations. An anchor is identified into the solar plant by +concatenating, with the \'.' character, its name to the *entity-identifier* of +the entity into which it is declared. For instance, in the following example, +the *anchor-identifier* of the anchor named *anchor0* is +*level0.level1.anchor0*: ....... entity: name: level0 diff --git a/doc/solstice-output.5.txt b/doc/solstice-output.5.txt @@ -168,6 +168,7 @@ _______ <missing-loss> ::= <estimate> <reflectivity-loss> ::= <estimate> <shadow-loss> ::= <estimate> +<efficiency> ::= <estimate> <estimate> ::= <expected-value> <standard-error> <expected-value> ::= REAL @@ -349,8 +350,7 @@ VTK-RECEIVER-MAP ::= # vtk DataFile Version 2.0 <map-front-data> ::= <map-side-data> <map-back-data> ::= <map-side-data> -<map-side-data> ::= CELL_DATA <#triangles> - SCALARS <side-name> float 2 +<map-side-data> ::= SCALARS <side-name> float 2 LOOKUP_TABLE default <irradiance> [ <irradiance> ... ] diff --git a/src/parser/solparser_entity.c b/src/parser/solparser_entity.c @@ -95,6 +95,13 @@ parse_identifier_string if(strchr(str_cget(str), '.')) { log_err(parser, name, "invalid character `.' in the name `%s'.\n", str_cget(str)); + res = RES_BAD_ARG; + goto error; + } + if(strchr(str_cget(str), ' ') || strchr(str_cget(str), '\t')) { + log_err(parser, name, "invalid space or tabulation in the name `%s'.\n", + str_cget(str)); + res = RES_BAD_ARG; goto error; } diff --git a/src/parser/test_solparser2.c b/src/parser/test_solparser2.c @@ -44,6 +44,7 @@ main(int argc, char** argv) size_t nmtls = 0; size_t ngeoms = 0; double tmp[3]; + long fp; FILE* stream; (void)argc, (void)argv; @@ -57,9 +58,29 @@ main(int argc, char** argv) fprintf(stream, " - sphere: { radius: 1 }\n"); fprintf(stream, " material: { matte: { reflectivity: 1 } }\n"); fprintf(stream, "- entity:\n"); - fprintf(stream, " name: lvl 0\n"); fprintf(stream, " primary: 0\n"); fprintf(stream, " geometry: *sphere\n"); + + fp = ftell(stream); + fprintf(stream, " name: invalid name\n"); + rewind(stream); + CHECK(solparser_setup(parser, NULL, stream), RES_OK); + CHECK(solparser_load(parser), RES_BAD_ARG); + + NCHECK(fseek(stream, fp, SEEK_SET), -1); + fprintf(stream, " name: invalid\tname\n"); + rewind(stream); + CHECK(solparser_setup(parser, NULL, stream), RES_OK); + CHECK(solparser_load(parser), RES_BAD_ARG); + + NCHECK(fseek(stream, fp, SEEK_SET), -1); + fprintf(stream, " name: invalid.name\n"); + rewind(stream); + CHECK(solparser_setup(parser, NULL, stream), RES_OK); + CHECK(solparser_load(parser), RES_BAD_ARG); + + NCHECK(fseek(stream, fp, SEEK_SET), -1); + fprintf(stream, " name: \t\t\t lvl0 \t \n"); fprintf(stream, " transform: { translation: [1,2,3], rotation: [4,5,6]}\n"); fprintf(stream, " children:\n"); fprintf(stream, " - name: lvl1a\n"); @@ -118,7 +139,7 @@ main(int argc, char** argv) entity_id = solparser_entity_iterator_get(&it); entity = solparser_get_entity(parser, entity_id); - CHECK(strcmp("lvl 0", str_cget(&entity->name)), 0); + CHECK(strcmp("lvl0", str_cget(&entity->name)), 0); CHECK(solparser_entity_get_children_count(entity), 2); CHECK(entity->type, SOLPARSER_ENTITY_GEOMETRY); geom_id = entity->data.geometry; @@ -192,17 +213,17 @@ main(int argc, char** argv) CHECK(entity2->type, SOLPARSER_ENTITY_GEOMETRY); CHECK(entity2->data.geometry.i, geom_id.i); - entity3 = solparser_find_entity(parser, "lvl 0"); + entity3 = solparser_find_entity(parser, "lvl0"); CHECK(entity3, entity); entity3 = solparser_find_entity(parser, "lvl1a"); CHECK(entity3, NULL); - entity3 = solparser_find_entity(parser, "lvl 0.lvl1a"); + entity3 = solparser_find_entity(parser, "lvl0.lvl1a"); CHECK(entity3, entity1a); - entity3 = solparser_find_entity(parser, "lvl 0.lvl1b"); + entity3 = solparser_find_entity(parser, "lvl0.lvl1b"); CHECK(entity3, entity1b); - entity3 = solparser_find_entity(parser, "lvl 0.lvl1b.lvl2"); + entity3 = solparser_find_entity(parser, "lvl0.lvl1b.lvl2"); CHECK(entity3, entity2); - entity3 = solparser_find_entity(parser,"lvl 0.lvl1b.bad_name"); + entity3 = solparser_find_entity(parser,"lvl0.lvl1b.bad_name"); CHECK(entity3, NULL); sun = solparser_get_sun(parser); diff --git a/src/parser/test_solparser_normal_map.c b/src/parser/test_solparser_normal_map.c @@ -186,7 +186,7 @@ test_mirror(struct solparser* parser) fprintf(stream, "- sun: { dni: 1, spectrum: [{wavelength: 1, data: 1} ] }\n"); fprintf(stream, "- entity: \n"); - fprintf(stream, " name: my entity\n"); + fprintf(stream, " name: my_entity\n"); fprintf(stream, " primary: 0\n"); fprintf(stream, " geometry: \n"); fprintf(stream, " - cuboid: { size: [1, 1, 1] }\n"); @@ -207,7 +207,7 @@ test_mirror(struct solparser* parser) entity_id = solparser_entity_iterator_get(&it); entity = solparser_get_entity(parser, entity_id); - CHECK(strcmp("my entity", str_cget(&entity->name)), 0); + CHECK(strcmp("my_entity", str_cget(&entity->name)), 0); CHECK(solparser_entity_get_children_count(entity), 0); CHECK(entity->primary, 0); CHECK(entity->type, SOLPARSER_ENTITY_GEOMETRY); diff --git a/src/parser/test_solparser_spectrum.c b/src/parser/test_solparser_spectrum.c @@ -42,7 +42,7 @@ test_sun(struct solparser* parser) fprintf(stream, " spectrum: *my_spectrum\n"); fprintf(stream, "- material: &matte { matte: { reflectivity: 1 } }\n"); fprintf(stream, "- entity:\n"); - fprintf(stream, " name: foo bar\n"); + fprintf(stream, " name: foo-bar\n"); fprintf(stream, " primary: 0\n"); fprintf(stream, " geometry: [{sphere: {radius: 1}, material: *matte}]\n"); rewind(stream); diff --git a/src/solstice.c b/src/solstice.c @@ -741,8 +741,9 @@ solstice_run(struct solstice* solstice) } else { FOR_EACH(i, 0, nsun_dirs) { const double* sun_dir = sun_dirs + i*3/*#dims*/; + const double* sun_angle = sun_angles + i*2/*#angles*/; fprintf(solstice->output, "#--- Sun direction: %g %g (%g %g %g)\n", - SPLIT2(sun_angles), SPLIT3(sun_dir)); + SPLIT2(sun_angle), SPLIT3(sun_dir)); res = solstice_update_entities(solstice, sun_dir); if(res != RES_OK) goto error; diff --git a/src/solstice_args.c b/src/solstice_args.c @@ -45,8 +45,7 @@ print_help(const char* program) printf( " -D <dirs> list of sun directions.\n"); printf( -" -f do not prompt before overwriting the output file submitted\n" -" with the '-o' option.\n"); +" -f overwrite the OUTPUT file if it already exists.\n"); printf( " -g <dump> switch in dump geometry mode and configure it.\n"); printf( diff --git a/yaml/beam_down.ref b/yaml/beam_down.ref @@ -1,52 +1,52 @@ #--- Sun direction: 90 90 (-3.7494e-33 -6.12323e-17 -1) 7 2 5 100000 0 500.043 0 -465.46 0.0057839 -0.930834 1.15684e-05 +465.462 0.00578398 +0.930838 1.15681e-05 0 0 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 -heliostat4.temp-heliostat150.pivot.reflector 6 100.009 19915 0 0 0 0 -heliostat5.temp-heliostat150.pivot.reflector 30 100.009 20068 0 0 0 0 -heliostat3.temp-heliostat150.pivot.reflector 22 100.009 19919 0 0 0 0 -heliostat2.temp-heliostat150.pivot.reflector 26 100.009 20054 0 0 0 0 -heliostat1.temp-heliostat150.pivot.reflector 34 100.009 20044 0 0 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 +tower.secondary.hyperbol 10 421.957 0 0 465.462 0.00578398 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +tower.receptor 14 25 465.462 0.00578398 465.462 0.00578398 0 0 0 0 0.930843 1.1567e-05 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +heliostat4.temp-heliostat150.pivot.reflector 6 100.009 19934 0.185708 0.00117696 0 0 +heliostat5.temp-heliostat150.pivot.reflector 30 100.009 20264 0.188378 0.00118168 0 0 +heliostat3.temp-heliostat150.pivot.reflector 22 100.009 19746 0.183977 0.0011729 0 0 +heliostat2.temp-heliostat150.pivot.reflector 26 100.009 20054 0.186834 0.00117966 0 0 +heliostat1.temp-heliostat150.pivot.reflector 34 100.009 20002 0.185941 0.00117593 0 0 +10 6 0 0 92.8625 0.588533 0 0 0 0 0 0 0 0 0 0 0 0 +10 30 0 0 94.198 0.590895 0 0 0 0 0 0 0 0 0 0 0 0 +10 22 0 0 91.9969 0.586504 0 0 0 0 0 0 0 0 0 0 0 0 +10 26 0 0 93.4254 0.589884 0 0 0 0 0 0 0 0 0 0 0 0 +10 34 0 0 92.9793 0.588022 0 0 0 0 0 0 0 0 0 0 0 0 +14 6 92.8625 0.588533 92.8625 0.588533 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1 +14 30 94.198 0.590895 94.198 0.590895 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1 +14 22 91.9969 0.586504 91.9969 0.586504 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1 +14 26 93.4254 0.589884 93.4254 0.589884 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1 +14 34 92.9793 0.588022 92.9793 0.588022 0 0 0 0 -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 -135.852 0.602426 -0.800261 7.05527e-05 +135.955 0.602452 +0.800093 7.03652e-05 0 0 -245.21 0.615008 +244.612 0.615276 0 0 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 -heliostat4.temp-heliostat150.pivot.reflector 6 100.009 20095 0 0 0 0 -heliostat5.temp-heliostat150.pivot.reflector 30 100.009 20027 0 0 0 0 -heliostat3.temp-heliostat150.pivot.reflector 22 100.009 19777 0 0 0 0 -heliostat2.temp-heliostat150.pivot.reflector 26 100.009 19976 0 0 0 0 -heliostat1.temp-heliostat150.pivot.reflector 34 100.009 20125 0 0 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 +tower.secondary.hyperbol 10 421.957 0 0 400.083 0.0351855 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +tower.receptor 14 25 135.955 0.602452 135.955 0.602452 0 0 0 0 0.271887 0.0012048 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +heliostat4.temp-heliostat150.pivot.reflector 6 100.009 20121 0.157986 0.000995464 0 0 +heliostat5.temp-heliostat150.pivot.reflector 30 100.009 20226 0.155708 0.000977921 0 0 +heliostat3.temp-heliostat150.pivot.reflector 22 100.009 19829 0.15861 0.00100856 0 0 +heliostat2.temp-heliostat150.pivot.reflector 26 100.009 20002 0.163177 0.00103199 0 0 +heliostat1.temp-heliostat150.pivot.reflector 34 100.009 19822 0.164613 0.00104696 0 0 +10 6 0 0 79.0003 0.497778 0 0 0 0 0 0 0 0 0 0 0 0 +10 30 0 0 77.8612 0.489006 0 0 0 0 0 0 0 0 0 0 0 0 +10 22 0 0 79.3121 0.504326 0 0 0 0 0 0 0 0 0 0 0 0 +10 26 0 0 81.5961 0.516042 0 0 0 0 0 0 0 0 0 0 0 0 +10 34 0 0 82.3139 0.523526 0 0 0 0 0 0 0 0 0 0 0 0 +14 6 22.5024 0.288631 22.5024 0.288631 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1 +14 30 18.7466 0.26204 18.7466 0.26204 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1 +14 22 25.423 0.308639 25.423 0.308639 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1 +14 26 31.5382 0.344622 31.5382 0.344622 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1 +14 34 37.7451 0.377566 37.7451 0.377566 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1 diff --git a/yaml/test01.ref b/yaml/test01.ref @@ -8,5 +8,5 @@ 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 -reflector 6 1 10000 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 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.96 0.0975082 +0.91 0.0949589 1 0 0 0 -99.04 0.0975082 +99.09 0.0949589 0 0 0 0 -square_receiver 2 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0.96 0.0975082 0.96 0.0975082 0 0 0 0 0.0096 0.000975082 -reflector 6 100 10000 0 0 0 0 -2 6 -1 -1 -1 -1 -1 -1 -1 -1 0.96 0.0975082 0.96 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 +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 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 0 +0.707107 2.44511e-09 0 0 -0.707107 0 +0.707107 2.44511e-09 0 0 0 0 -square_receiver 2 100 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0.707107 0 0 0 0 0 0 0 -reflector 6 1 10000 0 0 0 0 -2 6 -1 -1 -1 -1 -1 -1 -1 -1 0 0 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 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 0 +0.707107 2.44511e-09 0 0 -0.707107 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.707107 0 0 0 0 0 0 0 -reflector 6 1 10000 0 0 0 0 -2 6 0 0 0 0 0 0 0 0 0 0 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 diff --git a/yaml/test05.ref b/yaml/test05.ref @@ -8,5 +8,5 @@ 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 -reflector 6 1 10000 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 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.896295 0.000571234 +0.896777 0.000575378 0 0 -100 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 0 0 100 0 0 0 0 0 0 0 -reflector.ground.pivot.parabol 6 111.97 10000 0 0 0 0 -10 6 -1 -1 -1 -1 -1 -1 -1 -1 0 0 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 diff --git a/yaml/test07.ref b/yaml/test07.ref @@ -1,12 +1,12 @@ #--- Sun direction: 0 90 (-6.12323e-17 -0 -1) 7 1 1 10000 0 -56.3503 0 +56.3501 0 0 0 -0.666607 0.00232391 +0.66742 0.00232559 0 0 -28.093 0 +28.093 5.04637e-08 0 0 0 0 -square_receiver 2 100 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 28.093 0 0 0 0 0 0 0 -reflector 6 56.3503 10000 0 0 0 0 -2 6 -1 -1 -1 -1 -1 -1 -1 -1 0 0 28.093 0 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 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.917875 0.000431307 +0.918392 0.000433033 0 0 -78.4137 2.52319e-08 +78.4137 0 0 0 0 0 -reflector.pivot.small_square 6 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 78.4137 2.52319e-08 0 0 0 0 0 0 -reflector.pivot.parabol 2 85.5109 10000 0 0 0 0 -6 2 -1 -1 -1 -1 -1 -1 -1 -1 0 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