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 a1516bbbfae37f75722c7a7d1773b1c616eab545
parent 61e3a02b41f111fcb205d582e9a7c7b1f1bc006c
Author: Vincent Forest <vincent.forest@meso-star.com>
Date:   Tue, 23 May 2017 16:42:19 +0200

Remove the specification draft files

Diffstat:
Ddoc/cli | 82-------------------------------------------------------------------------------
Ddoc/input | 383-------------------------------------------------------------------------------
Ddoc/output | 47-----------------------------------------------
Ddoc/receiver | 19-------------------
4 files changed, 0 insertions(+), 531 deletions(-)

diff --git a/doc/cli b/doc/cli @@ -1,82 +0,0 @@ -solstice - -b # Output binary per receiver hits - -D <sun-dir-list> - -f # Force output overwrite - -h # Short help and exit - -g <dump> # Switch in dump geometry - -o OUTPUT # defaulting to stdout if not defined - -p <dump-radiative-path> # Switch in dump radiative paths mode - -q # don't print a message if no INPUT is submitted - -n INTEGER # Realisations count - -r <rendering> # Switch in rendering mode - -R FILE # receivers - -t INTEGER # Threads count - INPUT # Input scene in YAML - -solstice -r img=1280x720:pos=0,100,0:tgt=0,0,0:up=0,1,0:fov=70:spp=1 -solstice -g format=obj:split-group=1 - --g, -p and -r are exclusives - -<sun-dir-list> ::= - <sun-dir>:[ ... ] - -<sun-dir> ::= - REAL,REAL # azimuth:elevation - -<pos-on-earth> ::= - REAL:REAL:REAL # longititude:latitude:altitude - -<rendering> ::= - <rendering-option>[:<rendering-option> ... ] - -<rendering-option> ::= - <fov> | <img> | <position> | <render-mode> | <samples-per-pixel> | <target> | <up> -<dump> ::= - format=<dump-format>[:split=<split-mode>] - -<dump-radiative-path> ::= - <dump-path-option>[:<dump-path-option> ... ] - -<dump-path-option> ::= - <sun-ray-len> | <inf-ray-len> | default - -<sun-ray-len> ::= # Length of the ray starting from the sun - srlen=REAL - -<inf-ray-len> ::= # Length of the rays going to infinite - irlen=REAL - -<dump-format> ::= - obj - -<split-mode> ::= - geometry | object | none - -<fov> ::= # Horizontal field of view in degree - fov=REAL - -<img> ::= # Image resolution - img=INTEGERxINTEGER - -<position> ::= # Camera position - pos=<real3> - -<render-mode> ::= - rmode=<render-algorithm> - -<render-algorithm> ::= - draft | pt # path tracing - -<samples-per-pixel> ::= - spp=<INTEGER> - -<target> ::= # Camera target - tgt=<real3> - -<up> ::= # Camera up vector - up=<real3> - -<real3> ::= - REAL,REAL,REAL - diff --git a/doc/input b/doc/input @@ -1,383 +0,0 @@ -#-------------------------------------------------------------------------------- -# 1/ Example -#-------------------------------------------------------------------------------- -# Declare materials -- material: &lambertian - matte: - reflectivity: 1 -- material: &mirror - mirror: { reflectivity: 1, roughness: 0 } - -# Declare geometries -- geometry: &cylinders - - cylinder: { height: 5, radius: 0.5 } - material: *lambertian - transform: { rotation: [0, 90, 0] } - - cylinder: { height: 5, radius: 0.5 } - material: *lambertian - -- geometry: &parabol - - material: *mirror - parabol: - focal: 1 - clip: - - operation: SUB - vertices: [ [1, 2], [3, 4], [6, 7] ] - -# Create the solar factory -- sun: { dni: 1, spectrum: [{wavelength: 1, data: 1}] } -- entity: - name: "entity0" - primary: 0 - transform: { rotation: [0, 90, 0] } - anchors: - - name: "anchor0" - position: [1, 2, 3] - - name: "anchor2" - position: [3, 4, 5] - geometry: - - stl: { path: "house.stl" } - transform: { translation: [0, 1, 2] } - material: *lambertian - - cylinder: { height: 5, radius: 0.5 } - material: *mirror - -- template: &composition - name: "composition" - primary: 1 - transform: { translation: [1, 2, 3 ] } - geometry: - - cylinder: { height: 5, radius: 0.5 } - material: *mirror - children: - - name: "hop" - primary: 1 - transform: { translation: [1, 2, 3 ] } - geometry: *cylinders - - name: "hop2" - primary: 1 - geometry: *parabol - children: - - name: "child 1" - transform: { rotation: [0, 0, 0] } - x_pivot: - target: { position: [0, 0, 0] } -- entity: - name: "entity2" - transform: { translation: [4, 5, 6] } - children: [ *composition ] - -- entity: - name: "entity3" - transform: { translation: [7, 8, 9] } - children: [ *composition ] - -- entity: - name: "entity4" - transform: { translation: [10, 11, 12] } - children: [ *composition ] - -#-------------------------------------------------------------------------------- -# 2/ Grammar -#-------------------------------------------------------------------------------- -<solar-factory> ::= - <sun> - <items> - -<items> ::= - - <item> -[ - <item> ... ] - -<item> ::= - <entity> - | <geometry> - | <material> - | <medium> - | <spectrum> - | <template> - -#---------------------------------------- -<geometry> ::= - geometry: - - <object> -[ - <object> ... ] - -<object> ::= - <shape> - <material> -[ <transform> ] - -<x_pivot> ::= - x_pivot: -[ ref_point: <real3>. Default 0,0,0 ] - <target> - -<zx_pivot> ::= - zx_pivot: -[ spacing: REAL # in [0, INF). Default 0 ] -[ ref_point: <real3>. Default 0,0,0 ] - <target> - -<target> ::= - target: - anchor: <anchor-identifier> - | direction: <real3> - | position: <real3> - | <sun> - -#---------------------------------------- -<shape> ::= - <cuboid> - | <cylinder> - | <obj> - | <parabol> - | <parabolic-cylinder> - | <hyperbol> - | <hemisphere> - | <plane> - | <sphere> - | <stl> - -<cuboid> ::= - cuboid: - size: <real3*+> - -<cylinder> ::= - cylinder: - height: REAL # in ]0, INF) - radius: REAL # in ]0, INF) -[ slices: INTEGER # in [4, 4096]. Default 16 ] -[ stacks: INTEGER # in [1, 4096]. Default 1 ] - -<obj> ::= - obj: - path: PATH - -# x^2 + y^2 - 4*focal*z = 0 -<parabol> ::= - parabol: - focal: REAL # in ]0, INF) - clip: <polyclip-list> - # By default slices is automatically computed with respect to the parabol - # curvature -[ slices: INTEGER # in [4, 4096) ] - -<parabolic-cylinder> ::= - parabolic-cylinder: # y^2 - 4*focal*z = 0 - focal: REAL # in ]0, INF) - clip: <polyclip-list> - # By default slices is automatically computed with respect to the hyperbol - # curvature -[ slices: INTEGER # in [4, 4096) ] - -# (x^2 + y^2) / a^2 - (z + z0 - g/2)^2 / b^2 + 1 = 0 -# with g = img_focal + real_focal; f = real_focal / g; -# a^2 = g^2(f - f^2); b = g(f - 1/2); z0 = |b| + g/2 -<hyperbol> ::= - hyperbol: - focals: <hyperboloid_focals> - clip: <polyclip-list> - # By default slices is automatically compute with respect to the hyperbol - # curvature -[ slices: INTEGER # in [4, 4096) ] - -<hyperboloid_focals> ::= - real: REAL # in ]0, INF) - image: REAL # in ]0, INF) - -# x^2 + y^2 + (z - radius)^2 - radius^2 = 0 -<hemisphere> ::= - hemisphere: - radius: REAL # in ]0, INF) -[ clip: <polyclip-list> ] - # By default slices is automatically compute with respect to the hemisphere - # extension -[ slices: INTEGER # in [4, 4096) ] - -<plane> ::= - plane: - clip: <polyclip-list> -[ slices: INTEGER # in [1, 4096). Default 1 ] - -<sphere> ::= - sphere: - radius: REAL # in ]0, INF) -[ slices: INTEGER # in [4, 4096). Default 16 ] -[ stacks: INTEGER # in [2, 4096]. Default slices/2 ] - -<stl> ::= - stl: - path: PATH - -#---------------------------------------- -<polyclip-list> ::= - - <polyclip> -[ - <polyclip> ... ] - -<polyclip> ::= - operation: <AND|SUB> - <contour-descriptor> - -<contour-descriptor> ::= - <vertices-descriptor> - | <circle-descriptor> - -<vertices-descriptor> ::= - vertices: <vertices-list> - -<circle-descriptor> ::= - circle: - radius: REAL # in ]0, INF) -[ segments: INTEGER # in [3, 4096). Default 64 ] - -<vertices-list> ::= - - <real2> - - <real2> - - <real2> -[ - <real2> ... ] - -#---------------------------------------- -<material> ::= - material: <material-descriptor> | <double-sided-material> - -<double-sided-material> ::= - front: <material-descriptor> - back: <material-descriptor> - -<material-descriptor> ::= - <dielectric> | <matte> | <mirror> | thin-dielectric> | <virtual> - -<dielectric> ::= - dielectric: - medium_i: <medium-descriptor> - medium_t: <medium-descriptor> -[ <normal-map> ] - -<matte> ::= - matte: - reflectivity: <mtl-data> # in [0, 1] -[ <normal-map> ] - -<mirror> ::= - mirror: - reflectivity: <mtl-data> # in [0, 1] - roughness: <mtl-data> # in [0, 1] -[ <normal-map> ] - -<virtual> ::= - virtual: EMPTY-STRING - -<thin-dielectric> ::= - thin_dielectric: - thickness: REAL # in [0, INF) - medium_i: <medium-descriptor> - medium_t: <medium-descriptor> -[ <normal-map> ] - -<normal-map> ::= - normal_map: { path: PATH } - -#---------------------------------------- -<medium> ::= - medium: <medium-descriptor> - -<medium-descriptor> ::= - refractive_index: <mtl-data> # value in ]0, INF) - absorptivity: <mtl-data> # value in [0, INF) - -#---------------------------------------- -<entity> ::= - entity: - <entity-data> - -<template> ::= - template: - <entity-data> - -<entity-data> ::= - name: STRING # except "self" -[ <geometry-data> | <x_pivot> | <zx_pivot> ] -[ <anchors> ] -[ <transform> ] -[ <children> ] - -<geometry-data> ::= - primary: INTEGER # in [0, 1] - <geometry> - -<children> ::= - children: - - <entity-data> -[ - <entity-data> ... ] - -<anchors> ::= - anchors: - - <anchor-data> -[ - <anchor-data> ... ] - -<anchor-data> ::= - name: STRING - <position-description> - -<position-description> ::= - position: <real3> | hyperboloid_image_focals: <hyperboloid_focals> - -# "self" references the first level entity -<entity-identifier> ::= - <self|STRING>[.STRING ... ] - -<anchor-identifier> ::= - <entity-identifier>.STRING - -#---------------------------------------- -<sun> ::= - sun: - dni: REAL # Direct Normal Irradiance in ]0, INF) -[ <spectrum> ] # If not defined use the smarts295 spectrum -[ <sun-shape> ] - -<sun-shape> ::= - <pillbox> | <buie> - -<buie> ::= - buie: - csr: REAL # in [1e-6, 0.849] - -<pillbox> ::= - pillbox: - aperture: REAL # in ]0, 90] - -#---------------------------------------- -<mtl-data> ::= - REAL | <spectrum-data-list> - -<transform> ::= - transform: - translation: <real3> - rotation: <real3> - -<real2> ::= - - REAL - - REAL - -<real3> ::= - - REAL - - REAL - - REAL - -<real3*+> ::= - - REAL # in ]0, inf) - - REAL # in ]0, inf) - - REAL # in ]0, inf) - -<spectrum> ::= - spectrum: <spectrum-data-list> - -<spectrum-data-list> ::= - - <spectrum-data> -[ - <spectrum-data> ... ] - -<spectrum-data> ::= - wavelength: REAL # in [0, INF) - data: REAL # in [0, INF) - diff --git a/doc/output b/doc/output @@ -1,47 +0,0 @@ -<output> ::= - <count> -[ <mc-receiver> ... ] - <mc-shadow> - <mc-missing> -[ <receiver-hit> ... ] - -<count> ::= - INTEGER INTEGER # receivers-count experiments-count - -<mc-receiver> ::= - <receiver-name> <receiver-id> <integrated-irradiance> <reflectivity-loss> <absorptivity-loss> <cos-loss> <efficiency> - -<receiver-id> ::= - INTEGER - -<receiver-name> ::= - STRING - -<intregrated-irradiance> ::= - <mc-double-sided> - -<reflectivity-loss> ::= - <mc-double-sided> - -<absorptivity-loss> ::= - <mc-double-sided> - -<coss-loss> ::= - <mc-double-sided> - -<efficiency> ::= - <mc-double-sided> - -<mc-double-sided> ::= - <estimation> <estimation> # front-estimation back-estimation - -<mc-shadow> ::= - <estimation> - -<mc-missing> ::= - <estimation> - -<estimation> ::= - REAL REAL # Expected value and standard error - -<receiver-hit> ::= TODO diff --git a/doc/receiver b/doc/receiver @@ -1,19 +0,0 @@ -- { name: "entity.mirror", side: BACK } -- { name: "entity2.mirror0, side: FRONT } -- { name: "entity2.mirror1, side: FRONT_AND_BACK } - --------------------------------------------------------------------------------- -2/ Grammar --------------------------------------------------------------------------------- -<receivers> ::= - - <receiver> -[ - <receiver> ... ] - -<receiver> ::= - name: <entity-identifier> - side: <BACK|FRONT|FRONT_AND_BACK> -[ per_primitive: INTEGER ] # in [0, 1] - -<entity-identifier> - STRING[.STRING ... ] -