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 2632eca46cc2eb8325bfd0fc664de9e8b855b667
parent 436c4e4c42ae34bc19cea8dd86b40cc2671cb0ae
Author: Vincent Forest <vincent.forest@meso-star.com>
Date:   Wed, 15 Mar 2017 16:12:02 +0100

Test the "slices" quadric parameter

Diffstat:
Mcmake/parser/CMakeLists.txt | 2++
Msrc/parser/test_solparser6.c | 2++
Msrc/parser/yaml/test_ko_0.yaml | 55+++++++++++++++++++++++++++++++++++++++++++++++++++++--
Asrc/parser/yaml/test_ok_6.yaml | 108+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
4 files changed, 165 insertions(+), 2 deletions(-)

diff --git a/cmake/parser/CMakeLists.txt b/cmake/parser/CMakeLists.txt @@ -80,6 +80,8 @@ if(NOT NO_TEST) ${SOLPARSER_SOURCE_DIR}/yaml/test_ok_4.yaml) add_test(test_solparser_ok_5 test_solparser ${SOLPARSER_SOURCE_DIR}/yaml/test_ok_5.yaml) + add_test(test_solparser_ok_6 test_solparser + ${SOLPARSER_SOURCE_DIR}/yaml/test_ok_6.yaml) add_test(test_solparser_ko test_solparser -e ${SOLPARSER_SOURCE_DIR}/yaml/test_ko_0.yaml) diff --git a/src/parser/test_solparser6.c b/src/parser/test_solparser6.c @@ -52,12 +52,14 @@ main(int argc, char** argv) fprintf(stream, " material: { ?virtual }\n"); fprintf(stream, " - parabol:\n"); fprintf(stream, " focal: 10\n"); + fprintf(stream, " slices : 10\n"); fprintf(stream, " clip :\n"); fprintf(stream, " - operation : AND\n"); fprintf(stream, " vertices : [[1, 2], [3, 4], [6, 7]]\n"); fprintf(stream, " material: { ?virtual }\n"); fprintf(stream, " - hyperbol:\n"); fprintf(stream, " focals: { real: 10, image: 2 }\n"); + fprintf(stream, " slices : 20\n"); fprintf(stream, " clip :\n"); fprintf(stream, " - operation : AND\n"); fprintf(stream, " vertices : [[1, 2], [3, 4], [6, 7]]\n"); diff --git a/src/parser/yaml/test_ko_0.yaml b/src/parser/yaml/test_ko_0.yaml @@ -570,6 +570,33 @@ - operation: AND vertices: [ [1, 2], [3, 4], [6, 7] ] --- +# invalid slices +- geometry: + - parabol: + slices: 1 + focal: 1 + clip: + - operation: AND + vertices: [ [1, 2], [3, 4], [6, 7] ] +--- +# invalid slices +- geometry: + - parabol: + slices: 0 + focal: 1 + clip: + - operation: AND + vertices: [ [1, 2], [3, 4], [6, 7] ] +--- +# invalid slices +- geometry: + - parabol: + slices: 4097 + focal: 1 + clip: + - operation: AND + vertices: [ [1, 2], [3, 4], [6, 7] ] +--- # # <parabolic-cylinder> ::= @@ -634,7 +661,7 @@ # <hyperboloid_focals> ::= # real: REAL # in ]0, INF) # image: REAL # in ]0, INF) -# +# # missing hyperbol definition - geometry: [ { hyperbol: } ] --- @@ -735,7 +762,31 @@ - operation: AND vertices: [ [1, 2], [3, 4], [6, 7] ] --- +# invalid slices +- geometry: &target + - plane: + slices: 0 + clip: + - operation: AND + vertices: + - [-0.50, -0.50] + - [-0.50, 0.50] + - [0.50, 0.50] + - [0.50, -0.50] +--- +# invalid slices +- geometry: &target + - plane: + slices: 4097 + clip: + - operation: AND + vertices: + - [-0.50, -0.50] + - [-0.50, 0.50] + - [0.50, 0.50] + - [0.50, -0.50] +--- # # <sphere> ::= # sphere: @@ -1160,7 +1211,7 @@ # # <position-description> ::= # position: <real3> | hyperboloid_image_focals: <hyperboloid_focals> -# +# # missing anchors definition - entity: diff --git a/src/parser/yaml/test_ok_6.yaml b/src/parser/yaml/test_ok_6.yaml @@ -0,0 +1,108 @@ +- sun: { dni: 1, spectrum: [{wavelength: 1, data: 1}] } +- entity: + name: entity + primary: 1 + geometry: + - material: { mirror: { reflectivity: 0, roughness: 0.5 } } + plane: + slices: 4 + clip: + - operation: AND + vertices: + - [-0.50, -0.50] + - [-0.50, 0.50] + - [0.50, 0.50] + - [0.50, -0.50] +--- +- sun: { dni: 1, spectrum: [{wavelength: 1, data: 1}] } +- entity: + name: entity + primary: 1 + geometry: + - material: { mirror: { reflectivity: 0, roughness: 0.5 } } + plane: + clip: + - operation: AND + vertices: + - [-0.50, -0.50] + - [-0.50, 0.50] + - [0.50, 0.50] + - [0.50, -0.50] +--- +- sun: { dni: 1, spectrum: [{wavelength: 1, data: 1}] } +- entity: + name: entity + primary: 1 + geometry: + - material: { mirror: { reflectivity: 0, roughness: 0.5 } } + parabol: + slices: 40 + focal: 18 + clip: + - operation: AND + vertices: [[-30.0, -20.0], [-30.0, 20.0], [30.0, 20.0], [30.0, -20.0]] +--- +- sun: { dni: 1, spectrum: [{wavelength: 1, data: 1}] } +- entity: + name: entity + primary: 1 + geometry: + - material: { mirror: { reflectivity: 0, roughness: 0.5 } } + parabol: + focal: 18 + clip: + - operation: AND + vertices: [[-30.0, -20.0], [-30.0, 20.0], [30.0, 20.0], [30.0, -20.0]] +--- +- sun: { dni: 1, spectrum: [{wavelength: 1, data: 1}] } +- entity: + name: entity + primary: 1 + geometry: + - material: { mirror: { reflectivity: 0, roughness: 0.5 } } + parabolic-cylinder: + slices: 40 + focal: 18 + clip: + - operation: AND + vertices: [[-30.0, -20.0], [-30.0, 20.0], [30.0, 20.0], [30.0, -20.0]] +--- +- sun: { dni: 1, spectrum: [{wavelength: 1, data: 1}] } +- entity: + name: entity + primary: 1 + geometry: + - material: { mirror: { reflectivity: 0, roughness: 0.5 } } + parabolic-cylinder: + focal: 18 + clip: + - operation: AND + vertices: [[-30.0, -20.0], [-30.0, 20.0], [30.0, 20.0], [30.0, -20.0]] + +--- +- sun: { dni: 1, spectrum: [{wavelength: 1, data: 1}] } +- entity: + name: entity + primary: 1 + geometry: + - material: { mirror: { reflectivity: 0, roughness: 0.5 } } + hyperbol: + slices: 40 + focals: { real: 1, image: 1 } + clip: + - operation: AND + vertices: [[-30.0, -20.0], [-30.0, 20.0], [30.0, 20.0], [30.0, -20.0]] +--- +- sun: { dni: 1, spectrum: [{wavelength: 1, data: 1}] } +- entity: + name: entity + primary: 1 + geometry: + - material: { mirror: { reflectivity: 0, roughness: 0.5 } } + hyperbol: + focals: { real: 1, image: 1 } + clip: + - operation: AND + vertices: [[-30.0, -20.0], [-30.0, 20.0], [30.0, 20.0], [30.0, -20.0]] + +